测试环境
- 程序包:phpcms最新版(phpcms_v9.6.3_UTF8)
- 测试工具:Chrome+Developer Tools+BurpSuite Pro
- 运行环境:phpStudy 2016
测试过程
从官网下载好最新程序包http://download.phpcms.cn/v9/9.6/phpcms_v9.6.3_UTF8.zip,安装到本地测试环境,登录进后台
步骤一
进入 内容 > 内容发布管理 > 专题 >
新建专题,点击提交
可以在本地路径中看到生成的相关文件index.html phpcms_v9.6.3_UTF8htmlspecial666
步骤二
进入 内容 > 内容相关设置 > 管理栏目 >
添加单网页-基本选项&模板设置
步骤三
在模板设置处,使用Chrome自带的Developer Tools(F12)对元素属性值进行修改,如下图所示
或者,在此处使用BurpSuite拦截数据包包,对数据包中setting[page_template]值进行修改 setting[page_template]=../../../../html/special/666/index
然后,更新栏目,在管理栏目处可看到
步骤四
点击刚刚添加的单网页访问链接,发现phpinfo();已经执行成功http://127.0.0.1/phpcms_v9.6.3_UTF8/index.php?m=content&c=index&a=lists&catid=10
可以在本地路径中看到之前生成的专题文件index.html,新生成了index.php
对比两文件,发现代码基本一致,只不过将html转换为php代码
index.php中包含了我们写入的phpinfo(); 当我们访问创建的单网页时,实际也就执行了函数,也就能getshell了
本文通过测试环境展示了如何利用PHP程序中的配置不当实现文件包含漏洞,进而获取Web服务器的Shell权限。具体步骤包括:下载并安装phpcms_v9.6.3_UTF8,通过修改页面模板设置指向恶意构造的PHP文件,最终使该文件得以执行。
1581

被折叠的 条评论
为什么被折叠?



