文件包含漏洞
template下的header.php中存在文件包含漏洞(该文件被file文件夹下的多数文件进行包含)
f参数可以包含任意文件通过php格式解析(这是文件包含点)
代码分析
根目录下的index.php文件;r参数用于获取包含文件的名字,如果没有给r参数赋值则执行file文件夹下的index.php文件,如果r有值则包含file文件夹下的对应php文件,没有则返回空
查看file文件夹下的index.php代码;该文件包含了template文件夹下的header.php文件;
即r参数不赋值的情况下也会存在文件包含漏洞
文件上传点(能上传图片马,但是没法上传php等可解析的文件)
该网站的后台存在很多文件上传点;不同位置的文件保存路径不同;
设置中图片水印位置上传时需要添加img_kg和ing_slt参数的数据;
通过bp抓包修改后上传成功图片马(这里以文件内容中上传图片为例)
利用文件包含漏洞执行图片马(成功执行phpinfo())
不设置r参数:
xhcms:8084/index.php?f=./upload/image/20240118/xxx.gif
设置r参数(由于file下的一些文件中包含了header.php文件)
xhcms:8084/index.php?r=about&f=./upload/image/20240118/xxx.gif