Discuz!NT 3.1 后台多个SQL注射漏洞

    发布日期:2010-08.16 发布作者:rebeyond 影响版本:Discuz!NT 3.1 官方地址:http://nt.discuz.net/ 漏洞描述:前一阵抽空读了下Discuz!NT 3.1的源码,发现自从上次出现那个showuser.aspx的注射后,前台的过滤做的不错了,可能DZ觉得后台的注射利用起来比较鸡肋所以根本没有重视,于是在后台出现了多处SQL注射,现举一例说明。 漏洞文件:admin/global/global_forumlinksgrid.aspx 图1 漏洞分析: 在删除选定友情链接的action过程中,友情链接的id值没有经过充分的过滤变直接post至服务器并带入SQL查询,导致SQL注射产生,跟踪global_forumlinksgrid.aspx至最终操作的类中,代码如下: public int DeleteForumLink(string forumlinkidlist) { string sql = "DELETE FROM [" + BaseConfigs.GetTablePrefix + "forumlinks] WHERE [id] IN (" + forumlinkidlist + ")"; return DbHelper.ExecuteNonQuery(CommandType.Text, sql);//直接代入查询 } 于是手动构造POST数据,将此页面源文件保存,修改对应的value,如图2:

    图2

    然后直接“删除”触发(图3):

    图3

    提交后出现了我们期待的画面(图4):

    图4

    虽然注射在后台,但是结合CSRF还是可以做很多事情的。 解决方案: 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

标签分类: Cookies欺骗 注入漏洞 漏洞分析

而只有在充满了艰辛的人生旅途中,

Discuz!NT 3.1 后台多个SQL注射漏洞

相关文章:

你感兴趣的文章:

标签云: