一、不同注入类型

实际:我们未知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数据包中,遵循原则同上。

更多推荐