xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

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