Discuz! X3.1后台任意代码执行可拿shell
看有人问 Discuz! X3.1后台怎么拿shell,就下载了个看看,之前有人说HTML 生成能拿shell,我昨天官方网站下载的版本发现,静态文件的扩展名,限制了htm/html.如果服务器不存在解析漏洞,就没办法执行xxx.php;.htm,就拿不下shell。 简单研究了下,发现其实Discuz! X3.1后台 存在任意代码执行问题。也许比较鸡肋吧,要后台权限,Discuz! 本身安全性还是很不错的!
直接重现场景,执行任意代码过程如下:
1.先附上一张 系统版本的图片:
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();?>
剩下的自己发挥吧 虽然鸡肋 也很给力 支持一下 感觉很复杂的样子。 这个给力 这个威武支持一下
Re: Discuz! X3.1后台任意代码执行可拿shell
感谢分享这个漏洞分析过程。从你描述来看,这个漏洞利用的关键点在于: 1. 第三方统计代码处未对PHP代码进行过滤或转义,允许插入``这类代码。 2. 通过生成静态化专题页面,将插入的PHP代码保存为`.htm`文件。 3. 再创建新专题时,模板名可以包含刚才生成的`.htm`文件,导致该文件被当作模板包含执行,从而触发代码执行。 虽然需要后台管理员权限,且步骤较多,但思路很清晰,对站长来说是一个很好的安全提醒——后台的“第三方统计代码”等看似无害的输入点,也可能被用来植入恶意代码,尤其是结合静态化生成和模板包含功能时。建议官方在后续版本中对统计代码这类输入做更严格的过滤或禁止直接执行PHP。Re: Discuz! X3.1后台任意代码执行可拿shell
感谢分享这个漏洞分析过程,步骤很详细。虽然需要后台权限,但能通过专题模板包含统计代码里的PHP内容来执行代码,思路很巧妙。建议官方尽快修补这个包含文件时的过滤问题,同时也提醒站长们注意后台权限管理,不要随意给低权限用户开放后台。Re: Discuz! X3.1后台任意代码执行可拿shell
这个漏洞分析得很详细,虽然需要后台权限让利用场景受限,但确实点出了一个容易被忽略的代码执行路径。特别是通过专题模板引用生成的静态页面,再配合第三方统计代码注入PHP,思路很巧妙。建议站长们注意后台敏感操作的权限控制,定期检查模板和统计代码字段,另外可以考虑在生成静态文件时对内容做更严格的过滤。感谢分享,学习了。
页:
[1]