| MolyX 漏洞分析 | ||||||||
| 本文作者:SuperHei 文章性质:原创 发布日期:2005-10-18 |
||||||||
| 废话 MolyX Board(以下简称MXB)是 MolyX Studios 小组(好象就是CNVBB小组)开发的PHP论坛程序,MXB 融合了众多论坛程序的优点,博采众长,功能强大。多年的论坛程序汉化和改进经验也使 MXB 更适合国人的使用习惯。不过漏洞是难免的。 测试版本 MolyX BOARD 2.5.0 Beta1 1、usercp.php漏洞 当删除附件时变量attachid[]过滤不言,导致暴露绝对路径和sql注射漏洞。分析如下: 代码行397---407
我们看attachid[]经过了$_INPUT['attachid']提交到数据库查询,我们跟更$_INPUT[],在global.php 行23:
继续跟init_variable(),init_variable()在includes/functions.php代码如下:
过滤了& < > \ ' <script 等等字符。具体测试利用: 由于漏洞语句查询是没的什么数据输出,所以我们不可以用union 直接替换数据输出,又tnnd默认只有管理员才可以看论坛返回的mysql错误信息:db_mysql.php 行141-147代码
所以普通用户都没有错误信息返回,也就是1=1和1=2得到的页面一样,所以不可以用“经典注射”(特殊码比较)。 注意:不可以有& < >等,我们注射语句构如下:
返回延时,那么我们就可以确定user()第一个字母hex值为0x72,也就是字母r。注意这个过程中只可以用= 当我们把$_INPUT['attachid']不当数组,当一般的变量提交时,变量不可以implode()而暴错,得到物理路径,提交:
返回:
补丁 官方2005.09.20已经出了补丁(http://www.molyx.com/attachment.php?id=3097&u=2&extension=txt&attach=1127146647.attach&filename=UPDATE_20050920.txt&attachpath=2),值得提下的是,改补丁同时补了2个漏洞,另外一个是由于private.php里$_INPUT['pmid']过滤不严导致的,该漏洞的利用和分析,跟上面的查不多,有兴趣的可以自己看看(ps:private.php漏洞不是我发现的,估计是官方看我的测试日志自己发现的) 2、attachment.php漏洞 影响系统 Windows 其实这是漏洞已经补过一次了的:http://4ngel.net/article/50.htm 但是angel在文章里患了个小错误,没有过滤“\”和“..”,导致在win主机上漏洞依旧,漏洞分析可以看angel的文章,漏洞利用:
就可以得到includes/config.php里内容了 解决版本过滤.. / \ 谢谢阅读!!! | ||||||||
| 【打印这篇文章】【关闭该窗口】 | ||||||||
| Copyright © 2004 Security Angel Team [S4T] All Rights Reserved. |