sql注入是WEB安全中比较重要而复杂的一个东西。而且危害性比较大。
一般来讲SQL注入的话首先要识别注入点。一个是看能不能注入另外一个是看是什么类型的注入比如说字符,数字,搜索(?)等等
GET、POST、HEADER
专门针对一个waf进行测试的时候就要将这几个点全测试个遍,header中还包括Cookie、X-Forwarded-For等,往往除了GET以外其他都是过滤最弱的
一般来讲也是先进行输入尝试,判断WAF。一般来讲简单的语法会被过滤。
不过尝试起来最简单的判断法是这个1^1^0 亦或的玩法。或者是{``你的操作}这种都能基础对waf进行一个Bypass?
从练习上来讲SQli-labs等等拿来学习SQLlab貌似挺好用的。。
然后就是一个字符替换和GET POST问题了。
感觉所谓sql攻防其实是一种对策性的东西。一般来讲就是过滤一些关键字符和一些关键函数,感觉可以说是黑名单?
如果想要绕过防御的话从字符集的角度和SQL的返回特性,然后还有一些溢出的角度(部分题。。)来看或许比较好?
一般来讲操作都是从编码 和闭合 上入手。
然后主要是替代和解析。。不过应该是还得分Mysql啊之类的这样的分的。。
字符替代和解析用的感觉是最多的。然后字符集就我现在知道的就这些。。
unlencode
base64
json
binary
querystring
htmlencode
unicode
php serialize
但是如果对方调用了一些大小写敏感的函数来做的话大小写有的可以绕。
比如空格在被过滤了的时候可以使用