AdMentor远程SQL可插入漏洞发布时间:2002-02-25 更新时间:2002-02-25 严重程度:高 威胁程度:普通用户访问权限 错误类型:输入验证错误 利用方式:服务器模式 BUGTRAQ ID:4152 受影响系统 Stefan Holmberg AdMentor 2.11详细描述 AdMentor 提供标帜广告轮循功能的ASP脚本。 其中存在SQL可插入漏洞,在登陆过程中,用户提供的输入用于构建SQL查询,如果 特殊字符"'"包含在'userid'和'pwd'参数中传递给脚本,查询将被破坏,有可能造成 任意帐户可以登陆AdMentor系统。 测试代码 在http://www.someserver.com/admentor/admin/admin.asp中进行登陆, 使用' or ''=',和密码为' or ''='登入,就会使查询成为如下语句: SELECT row FROM table WHERE login = '' or ''='' 这样就可以登陆到管理员接口。 解决方案 临时方法是使用下面的过滤特殊字符函数: function RemoveBad(strTemp) { strTemp = strTemp.replace(/\<|\>|\"|\'|\%|\;|\(|\)|\&|\+| \-/g,""); return strTemp; } 然后在ASP脚本代码中调用它: var login = var TempStr = RemoveBad (Request.QueryString("login")); var password = var TempStr = RemoveBad (Request.QueryString("password")); 相关信息 Frank <thran60@hotmail.com>. 参考:http://online.securityfocus.com/archive/1/257360 相关主页:http://www.aspcode.net/newaspcode/showfaq.php?fldAuto=1 |