php代码审计
1.查看源码发现存在source.php。
2.进入source.php并发现hint.php
访问后得到:
flag not here, and flag in ffffllllaaaagggg
并且根据源代码说明了要对ffffllllaaaagggg此文件进行包含
一共有三个return true
因为file中一定有ffffllllaaaagggg,所以第一个无法满足,第二个和第三个本质上一样只是url解码了(猜的),所以构造pyload:file=source.php?ffffllllaaaagggg
其中由于是source.php下的源代码所以应该:
http://challenge-ed017bcd89bfac55.sandbox.ctfhub.com:10800/source.php?file=source.php?ffffllllaaaagggg
这里有两个点说一下:
1.可以在url中使用../表示返回上一级目录!!!
2.其中的mb_substr()是截取,意思是将source截取,然后就剩下了ffffllllaaaagggg
mb_strpos(1,2)是返回2在1中第一次出现的位置
最终pyload:source.php?file=source.php?../../../../../ffffllllaaaagggg
得到flag