看有人问 Discuz! X3.1 后台怎么拿 shell,就下载了个看看,之前有人说 HTML 生成能拿 shell,我昨天官方网站下载的版本发现,静态文件的扩展名,限制了 htm/html. 如果服务器不存在解析漏洞,就没办法执行 xxx.php;.htm, 就拿不下 shell 。 简单研究了下,发现其实 Discuz! X3.1 后台 存在任意代码执行问题。
也许比较鸡肋吧,要后台权限,Discuz! 本身安全性还是很不错的!
直接重现场景,执行任意代码过程如下:
1. 先附上一张 系统版本的图片 [Discuz! X3.1 Release 20131122]:
2. 全局–〉 网站第三方统计代码–〉 插入 php 代码 [其他地方<> 会被转意]:
如插入
<?php phpinfo();?>
3. 工具–〉 更新缓存 [为了保险起见,更新下系统缓存]
4. 门户–> HTML 管理–〉 设置:
1) 静态文件扩展名 [一定要设置成 htm] :htm
2) 专题 HTML 存放目录: template/default/portal
3) 设置完,提交吧!
5. 门户–〉 专题管理–〉 创建专题:
1) 专题标题:xyz // 这个随便你写了
2) 静态化名称:portal_topic_222 //222 为自定义文件名,自己要记住
3) 附加内容:选择上: 站点尾部信息
3) 提交
4) 回到门户–〉 专题管理, 把刚才创建的专题开启,生成
6. 下面就是关键了,现在到了包含文件的时候了。
再新建一个专题:
1) 专题标题,静态化名称,这 2 个随便写
2) 模板名:这个要选择我们刚才生成的页面:./template/default/portal/portal_topic_222.htm
3) 然后提交,就执行了
<?php phpinfo();?>
剩下的自己发挥吧