sqli-labs靶场通关秘籍分享(1-10关)

一、1、SQL注入原理:sql语句未经查询直接带入数据库查新,sql注入攻击其实就是服务端的攻击,它与操作系统、服务器类型、脚本语言无关

2、sql注入类型:分为数字型、字符型、搜索型、xx型

3、注入提交方式:get提交、post提交、cookie提交。

4、注入攻击提交支持的类型

union注入、information_schema、宽字节注入、报错注入、盲注,这里的盲注分为三种,分别是

布尔型盲注、时间型盲注、报错型盲注。

updatexml注入分为 insert注入、update注入、delete注入。

二、第一关

字符型注入

第一关很明显注入,利用?id=1判断注入点

sqli-labs靶场通关秘籍分享(1-10关)_第1张图片

sqli-labs靶场通关秘籍分享(1-10关)_第2张图片

第二关

和第一关很相似,也是数字型注入,和一贯不同的是第一关多了id=1'多了一个引号这里不多说了,

其次利用order by 4--+推出只有3列字段,然后利用union查询看是否有回显。

sqli-labs靶场通关秘籍分享(1-10关)_第3张图片

sqli-labs靶场通关秘籍分享(1-10关)_第4张图片

sqli-labs靶场通关秘籍分享(1-10关)_第5张图片

第三关

首先和第二关类似,通过order by 3来判断这个注入点,然后利用

or 1=1--+

or 1=1来判断注入

最后来利用函数union与group_concat查询

sqli-labs靶场通关秘籍分享(1-10关)_第6张图片

 sqli-labs靶场通关秘籍分享(1-10关)_第7张图片

 sqli-labs靶场通关秘籍分享(1-10关)_第8张图片

 sqli-labs靶场通关秘籍分享(1-10关)_第9张图片

第四关

1、首先查看是否有注入点,id=1",显示报错多一个双引号,然后利用右括号闭合掉。

第一张图可以看出报错回显信息多一个双引号。

sqli-labs靶场通关秘籍分享(1-10关)_第10张图片

第二张图多一个右括号,尝试用右括号闭合掉。

sqli-labs靶场通关秘籍分享(1-10关)_第11张图片

2、如下图所示,然后利用order by 查看有多少列,在order by 40显示列不存在,说明只存在3列。

sqli-labs靶场通关秘籍分享(1-10关)_第12张图片

sqli-labs靶场通关秘籍分享(1-10关)_第13张图片

 3、查看所用的数据库。

sqli-labs靶场通关秘籍分享(1-10关)_第14张图片

 4、查看所有的表。

sqli-labs靶场通关秘籍分享(1-10关)_第15张图片

5、 查看所有的列信息。

sqli-labs靶场通关秘籍分享(1-10关)_第16张图片

6、直接爆出得到所有的账户和密码信息。

sqli-labs靶场通关秘籍分享(1-10关)_第17张图片

 第五关

利用布尔盲注--报错注入有(update、dalete、insert、updatexml)

方法一、利用0x7e隔离,updatexml报错注入。

id=2' and updatexml(1,concat(0x7e,(select user()),0x7e),1)%23

sqli-labs靶场通关秘籍分享(1-10关)_第18张图片

 方法二、利用xpath extractvalue函数报错注入,爆出当前数据库的版本信息。

sqli-labs靶场通关秘籍分享(1-10关)_第19张图片

 第六关

本关利用报错注入,这一关使用的是双引号闭合,使用的是updatexml函数。

?id=1" union select updatexml(1,concat(0x7e,(select user()),0x7e),1)--+

sqli-labs靶场通关秘籍分享(1-10关)_第20张图片

 爆库名:

?id=1" union select updatexml(1,concat(0x7e,(select database()),0x7e),1)--+

sqli-labs靶场通关秘籍分享(1-10关)_第21张图片

爆表名:

?id=1" union select updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema = 'security' limit 0,1),0x7e),1) --+

sqli-labs靶场通关秘籍分享(1-10关)_第22张图片

 爆用户名:

?id=1" union select updatexml(1,concat(0x7e,(select group_concat(username) from users),0x7e),1) --+

sqli-labs靶场通关秘籍分享(1-10关)_第23张图片

 爆密码:

?id=1" union select updatexml(1,concat(0x7e,(select group_concat(password) from users),0x7e),1) --+

sqli-labs靶场通关秘籍分享(1-10关)_第24张图片

 第七关

本关利用文件的导入导出方式进行注入。

1、首先查看数据库的绝对路径。

sqli-labs靶场通关秘籍分享(1-10关)_第25张图片

查看设置serure_file_prive权限,设置指定路径,这里是在H盘下。

sqli-labs靶场通关秘籍分享(1-10关)_第26张图片

在my.ini配置文件下修改添加设置。

secure_file_priv="H:\"

H:\phpstudy_pro\WWW\sqli-labs-master\Less-7

2、 然后利用UNSION SELECT 1,2,3 into outfile在路径下导入txt文件。

sqli-labs靶场通关秘籍分享(1-10关)_第27张图片

 3、在文件222.txt写入一句话木马

sqli-labs靶场通关秘籍分享(1-10关)_第28张图片

 4、在本地文件中可以看见写的一句话木马已经写入进去了。

sqli-labs靶场通关秘籍分享(1-10关)_第29张图片

 我么可以在文件中看到一句话木马已经导进去了。sqli-labs靶场通关秘籍分享(1-10关)_第30张图片

 打开hxz.php网页,可以看见一句话木马被隐藏了。

sqli-labs靶场通关秘籍分享(1-10关)_第31张图片

 最后再用菜刀dengwebshell管理工具连接即可。

第八关

本关利用延时注入

经过简单的测试,我们发现 ‘or 1=1--+ 返回正常,那么我们就基本知道应该怎么使用了,参
less5. 这里简单的进行一个示例。

sqli-labs靶场通关秘籍分享(1-10关)_第32张图片

第九关和第八关类似,基于时间注入。

你可能感兴趣的:(sql)