题目来自buuctf
靶机:
试一试万能密码:
账号:1' or 1=1#
密码:123(随便输入)
存在注入点
接下来用 group by测试列数
输入
账户:order by 1# 密码:123(随意输入)
账户:order by 2# 密码:123
。。
前三个都有回显
到第四个账户:'order by 4
说明只有三列
接下来的操作在url中进行
这是当前页的url
下面用union来操作
注:union (或称为联合)的作用是将多个结果合并在一起显示出来。
从usename=后面开始改
应因为上面测试出来有三列,所以是1,2,3
查数据库名: 回显结果2和3,两个地方都能改
将2或3的位置改为database()
数据库名为:geek
接下来查数据表,使用group_concat函数
注:group_concat函数根据group by指定的列进行分组,将同一组的列显示出来,并且用分隔符分隔。
回显出两个数据表名,接下来查列名(已知答案在10ve1ysq1中,就不查geekuser了)
回显三个列名,说明10ve1ysq1表中有三列
接下来查字段(已知答案在password里,另外两个我就不查了)
得到flag
答案: flag{c8e39c27-eb41-4a4e-96a4-d0902506a90c}