BBSxp论坛程序MoveThread.asp页面存在SQL注入漏洞


添加时间:
2008-10-05

系统编号:
WAVDB-01240

影响版本:
8.0.4

程序介绍:

BBSXP是一个强大的论坛社区解决方案,使用它您可以轻易为您的网站创建论坛系统。

漏洞分析:

漏洞文件:MoveThread.asp
 MoveThread.asp行2-24

 
  1. <%  
  2.  if CookieUserName =empty then error( 您还未<a href=  javascript:BBSXP_Modal.Open (  
  3. Login.asp  
  4. ,380,170);  >登录</a>论坛 )   
  5. 保存cookie登陆即可  
  6.   
  7. ThreadID=Request( ThreadID )   
  8.  Sql Injection Vulnerability  
  9.   
  10. If Not IsNumeric(ThreadID) then  
  11.  ThreadIDArray=Split(ThreadID, , )   
  12. 判断数组,避免13行出错  
  13.  if IsArray(ThreadIDArray) then  
  14.  for i=0 to Ubound(ThreadIDArray)  
  15.  if Execute ( Select ThreadID from [ &TablePrefix& Threads] where ThreadID= & ThreadIDArray(i)&  ).eof then error <li>系统不存在该帖子的资料   
  16.  next  
  17.  ThreadIDSql=int(ThreadIDArray(0))  
  18.  else  
  19.  error( 参数错误。 )  
  20.  end if  
  21.  Else  
  22.  ThreadIDSql=int(ThreadID)  
  23.  End If  
  24.   
  25. ForumID=Execute( Select ForumID From [ &TablePrefix& Threads] where ThreadID= &ThreadIDSql&  )(0)  
  26.  %>  
  27.  <!– #include file= Utility/ForumPermissions.asp  –>  

先执行了查询后判断了权限,导致普通用户即可进行sql注射。
 



漏洞利用:

 构造Url:http://www.target.com/movethread.asp?ThreadID=1,1

提交,返回出错信息

Microsoft JET Database Engine 错误 
80040e14

字符串的语法错误 在查询表达式 
ThreadID=1

 中。

/BBSXP_Class.asp,行 5



解决方案:
厂商补丁:
BBSxp 2008
----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.bbsxp.com/

信息来源:
<*来源:Tr4c3[at]126[dot]Com *>