sqlilab17
updata报错注入

看都题目passwor reset,重置密码,在输对用户名的正确的情况下会把用户名的密码更改为我们输入的密码


再来康康源码

我们看到他先用select查出了用户名密码然后再用了updata把新的密码上传
password=’$password‘说明这里要用’闭合
再来看返回的值

没有回显点,也不是布朗类型的返回,看看会不会报错

有报错那就用报错注入
构造playload
1’ and updatexml(1,concat(0x76,(select group_concat(password) from users),0x76),2)#

报错了,意思是不能在要updata的表里查数据,那么我们套一层子查询,间接查询
重新构造playload
重新构造playload
1’ and updatexml(1,concat(0x7e,(select group_concat(password) from (select password from users) as a),0x7e),1)#

updatexml()的报错原理和groupby差不多,在updatexml的三个参数中输入不符合xml语法的内容就会报错并执行输入的语句