你的位置:首页 > 软件开发 > ASP > 手工入侵asp+access网站的方法,Sql注入

手工入侵asp+access网站的方法,Sql注入

发布时间:2010-02-25 11:10:00
知道ACCESS数据库注入的一些基本规律,就可以通过一些相关语法来进行手动注入了。第一步:确定注入点 用“ and 1=1”或者“ and 1=2”来确认。注意:and两边各有一处空格。 如果检测过后,返回错误信息,那么就证明这
知道ACCESS数据库注入的一些基本规律,就可以通过一些相关语法来进行手动注入了。

第一步:确定注入点

        用“ and 1=1”或者“ and 1=2”来确认。注意:and两边各有一处空格。

        如果检测过后,返回错误信息,那么就证明这个网站有注入漏洞。

第二步:猜解表名

        用:and exists (select * from [admin])
        检测是否存在admin表,admin这个表名可以替换成其它的表名进行猜解,如果存在该表名返回页面结果为正常,如果不存在则返回为出错。

第三步:猜解某表名中存在的字段

        语法:and exists (select top 1 [name] from [admin])
        前面[name]大括号中的name可以换成你要查询的字段名,后面admin则是要查询的表名,这一句的意思就是查询在admin表中是否存在name字段,和上述一样,如果存在返回页面为正常,如果不存在,则返回出错页面。比如说你要查密码字段名,则要把[name]改成pass或者password(可以通过尝试访问界面来确认是否存在该字段)。

第四步:猜解字段的长度

        语法:and (select top 1 len(username) from Admin)>0
        len参数提取字段长度()内的username是字段名,>0可以换成>1、>2直到猜中。继续我们以上的叙述,刚才找的是密码字段,所以可以把(username)(记住username是由小括号括住的)改成password。

第五步:折半法猜出字段--最关键的一环

        语法:and (select top 1 asc(mid(username,N,1)) from Admin)>0    猜解第N位的ASCII码>0取值从负数到正数都有可能,当然常见的 密码都是数字加字母的组和,它们的ASCII值在0-128之间,将值替换为这之间的值,如果正确,则返回正常页面,如果不是责返回出错,将N分别替换为1、2、3、4……反复猜解即可得出字段每一个位数的值而得到密码,参数N为字段的位数,如果是(mid(username,1,1)),则查找username字段中的第一位,依此类推。整个语句的最右边“>0”,数字0表示的是ASCII码,并不是真正的字段位数相应的字符。

        还是一样,我们继续上述结果,可以把username改为password。

原标题:手工入侵asp+access网站的方法,Sql注入

关键词:ASP

ASP
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。