1、分析
观察页面有删除功能,猜测是否含有delete注入
2、开启代理,点击删除,抓包分析
发现数据是以get方式发送数据,并有一个id的参数,所以尝试在参数上构造payload
3、构造payload
因为id是一个整形的参数,所以不需要进行闭合操作,delete为一个操作,无法使用select union联合查询方式,采用报错方式构造payload
60 or updatexml(1,concat(0x7e,version()),0)
4、url编码
因为数据是get方式传递,在bp抓取的数据包要将payload进行url编码,发现url编码后,字母不变,将空格换成了+
5、获取版本
6、总结
1、在某些传递不了参数,也有存在注入的,要通过抓包的进行注入
1、inset、update、delete等注入方式跟selec注入方式区别在于,这是一个操作,不是一个联合查 询,所以需要用报错方式或许信息
2、当以抓取数据包形式插入payload时,要对插入的payload进行url编码
3、在某些情况下,空格也可能被编码为%20
。这是因为在某些URL编码标准中,+
符号也被视为特殊字符,因此为了避免混淆,有些系统或库可能会选择使用%20
来编码空格。