SQL注入探测方法

sql注入漏洞攻击流程
在这里插入图片描述

1、探测方法

一般来说,SQL注入一般存在于形如:http://xxx.xxx.xxx/abc.asp?id=XX等带有参数的 ASP动态网页中,有时一个动态网页中可能只有一个参数,有时可能有N个参数,有时是整型参数,有时是字符串型参数,不能一概而论。总之只要是带有参数的动态网页并且该网页访问了数据库,那么就有可能存在SQL注入。如果ASP程序员没有安全意识,没有进行必要的字符过滤,存在SQL注入的可能性就非常大。
在探测过程中,需要分析服务器返回的详细错误信息。在默认情况下,浏览器仅显示“HTTP 500服务器错误”,并不显示详细的错误信息。因此,需要调整浏览器的配置。在IE浏览器中选择“工具”→“Internet选项”命令,弹出“Inter net选项”对话框,选择“高级”选项卡,把“显示友好 HTTP 错误信息”前面的勾去掉。

2、注入类型判断

A.整型参数的判断
当输入的参数YY为整型时,通常abc.asp中SQL语句大致如下:

 select * from 表名 where 字段=YY

所以可以用以下步骤测试SQL注入是否存在。
(1)在URL链接中附加一个单引号,即

http://xxx.xxx.xxx/abc.asp?p=YY’,

此时abc.ASP 中的SQL语句变成了

select * from 表名 where 字段=YY’。

测试结果为abc.asp运行异常;
(2)在URL链接中附加字符串“and 1=1”即

http://xxx.xxx.xxx/abc.asp?p=YY and 1=1。

测试结果为abc.asp运行正常,而且与 http://xxx.xxx.xxx/abc.asp?p=YY运行结果相同;
(3)在URL链接中附加字符串“and 1=2”即

http://xxx.xxx.xxx/abc.asp?p=YYand1=2。

测试结果为abc.asp运行异常。
如果以上三种情况全部满足,abc.asp中一定存在SQL注入漏洞。
B.字符串型参数的判断
当输入的参数YY为字符串时,通常abc.asp中SQL语句大致如下:

select * from 表名 where 字段='YY'

所以可以用以下步骤测试SQL注入是否存在。
(1)在URL链接中附加一个单引号,即

 http://xxx.xxx.xxx/abc.asp?p=YY’

此 时 abc.ASP中的SQL语句变成了

  select * from 表名 where 字段=YY’

测试结果为abc.asp运行异常;
(2)在URL链接中附加字符串“’and ‘1’=‘1”即

http://xxx.xxx.xxx/abc.asp?p=YY ’and ‘1’=‘1。

测试结果为abc.asp运行正常,而且与 http://xxx.xxx.xxx/abc.asp?p=YY运行结果相同;
(3)在URL链接中附加字符串

’and ‘1’=‘2”即 http://xxx.xxx.xxx/abc.asp?p=YY ’ and ‘1’=‘2

测试结果为abc.asp运行异常。如果以上三种情况全部满足,abc.asp中一定存在sql注入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值