一、不同注入类型
实际:我们未知sql是哪种类型,只能靠试/使用sql工具
原理:闭合程序员写的sql语句,并且执行我们所需要的sql语句,最后将闭合后多余的 ' 用--+ 或者#注释掉。 总结一下就是先闭合,后注释。
共四种类型







下面简单演示一下构造方法,每个类型都是判断到回显位数就停了,因为后面拿信息构造都是一样的闭合注释方法。
1)数字型
id=1 order by 5

2)字符型
id=1' order by 7 --+ 注释:# 和 --+都试试
3)搜索型
id=abc%' order by 7 --+

4)框架型
id = ('$id')
id=1') order by 7 --+

如果是 (id ='$id')
id=1') order by 7 --+


二、不同注入点
注入点位置:get、post、http头(ua、cookie、xff)
get:就是我们之前直接在url中写的
post:bp抓包,写入,注入,放包,看结果。
http头:多种,后续会讲。
1)get
就是我们之前一直在测的,直接在url上进行注入
2)post
bp抓,注入,放包,看结果。


3)http头
现在只需要知道,与UA、XFF、Cookie、Referer这些(HTTP头)均有可能是注入点。
实例:
如果是用
HTTP_X_FORWARDED_FOR 去获取ip就可以尝试xff注入
55min 判断ip是否在数据库内
1h01 ip写死在代码
三、不同注入类型
加密
原理:将数据以站点加密方式传输。
方法:也是一样的,去猜哪种注入类型,先闭合后注释,只不过是需要加密一下传输进去。
以base64为例,看到mq想到base64加密。

用自己搭建的php站点测试。




json
原理:将数据以json格式传输,如{username: password:}
方法:抓包,将payload写在json数据包中,遵循原则同上。

