Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3029649
  • 博文数量: 181
  • 博客积分: 9990
  • 博客等级: 中将
  • 技术积分: 1865
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-23 09:43
文章分类

全部博文(181)

文章存档

2011年(40)

2010年(17)

2009年(87)

2008年(37)

我的朋友

分类: 网络与安全

2010-02-28 00:06:27

文件:MoveThread.asp
MoveThread.asp行2-24
<%
if CookieUserName =empty then error("您还未登录") '保存cookie登陆即可

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"

  • 系统不存在该帖子的资料"
    next
    ThreadIDSql=int(ThreadIDArray(0))
    else
    error("参数错误。")
    end if
    Else
    ThreadIDSql=int(ThreadID)
    End If

    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貌似只能猜解出表和字段,字段值无法猜解,需要手工进行

  • 阅读(603) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~