看有人问 Discuz! X3.1后台怎么拿shell,就下载了个看看,之前有人说HTML 生成能拿shell,我昨天官方网站下载的版本发现,静态文件的扩展名,限制了htm/html.如果服务器不存在解析漏洞,就没办法执行xxx.php;.htm,就拿不下shell。 简单研究了下,发现其实Discuz! X3.1后台 存在任意代码执行问题。
也许比较鸡肋吧,要后台权限,Discuz! 本身安全性还是很不错的!

直接重现场景,执行任意代码过程如下:

1.先附上一张 系统版本的图片[Discuz! X3.1 Release 20131122]:
20140310094944
2. 全局--〉网站第三方统计代码--〉插入php代码[其他地方<>会被转意]:
如插入

<?php phpinfo();?>

20140310095111
3.工具--〉更新缓存[为了保险起见,更新下系统缓存]

4.门户--> HTML管理--〉设置:

1) 静态文件扩展名[一定要设置成htm] :htm

2) 专题HTML存放目录: template/default/portal

3) 设置完,提交吧!
20140310095234
5. 门户--〉专题管理--〉创建专题:

1)专题标题:xyz // 这个随便你写了

2)静态化名称:portal_topic_222 //222为自定义文件名,自己要记住

3)附加内容:选择上: 站点尾部信息
20140310095336
3)提交

4)回到门户--〉专题管理,把刚才创建的专题开启,生成
6. 下面就是关键了,现在到了包含文件的时候了。

再新建一个专题:

1)专题标题,静态化名称,这2个随便写

2)模板名:这个要选择我们刚才生成的页面:./template/default/portal/portal_topic_222.htm
20140310095517
3)然后提交,就执行了

<?php phpinfo();?>

20140310095619

剩下的自己发挥吧