分类: 网络与安全
2010-02-28 00:06:27
ThreadID=Request("ThreadID") ' Sql Injection Vulnerability
If Not IsNumeric(ThreadID) then
ThreadIDArray=Split(ThreadID,",") '判断数组,避免13行出错
if IsArray(ThreadIDArray) then
for i=0 to Ubound(ThreadIDArray)
if Execute ("Select ThreadID from ["&TablePrefix&"Threads] where ThreadID="& ThreadIDArray(i)&"").eof then error"
ForumID=Execute("Select ForumID From ["&TablePrefix&"Threads] where ThreadID="&ThreadIDSql&"")(0)
%>
先执行了查询后判断了权限,导致普通用户即可进行sql注射。
构造Url:;
提交,返回出错信息
Microsoft JET Database Engine 错误 '80040e14'
字符串的语法错误 在查询表达式 'ThreadID=1'' 中。
/BBSXP_Class.asp,行 5
SQL 版本比较好利用,access的nbsi貌似只能猜解出表和字段,字段值无法猜解,需要手工进行