首先启动phpstudy,进入网址:链接
进入第一关。
首先判断闭合符号
闭合符号一班有四种 ‘、’’、’)、’’)。
平时常用的是 ’ 和 ‘’ 两种。
首先提示请求一个id=1,会得到一个回显位,即id=1在数据库里查询到的信息。
判断闭合符号先从’开始,会报错,然后用–+注释掉,会回显正确,说明闭合符号是 '。
判断列数
用order by 语句,一般列数不是很多,可以一个一个去试。
先试一下4,会报错,说明不对。
然后判断一下3,没有报错,说明最大列数只有3。
联合查询注入
用union select语句。
会判断出一个回显位,在第2位。
爆出数据库的名字
database()显示出当前数据库的名字,在第2位修改。
爆出数据库名字是security。
爆出数据表的名字
用到group_concat()函数,能将相同的行组合起来。
?id=0’ union select 1,group_concat(table_name),3 from
information_schema.tables where table_schema=‘security’–+
就得到了security库里所有表的名字。
下面对表users进行爆破。
爆出表的字段值
?id=0’ union select 1,group_concat(column_name),3 from
information_schema.columns where table_name=‘users’ --+
爆出字段的值
?id=0’ union select 1,group_concat(username,0x3a,password),3 from
users --+
到这里第一关就结束了。
第二关是属于整形注入(输入 id=1 and 1=1 没报错 输入 id=1 and 1=2报错的话 就是整形注入)
后面的跟第一关就一样了。
第三关
判断出闭合符号为 '),后面的跟前两关大差不差。
第四关
大体上与第三关无差,当发现注入类型不是整型注入,进行字符类型判断
当输入 ?id=1" --+ 时会发现出现错误
因此使用:?id=1 ")–+进行闭合
之后的步骤就和前面一样了。