sqli-lab(5~6详解)

本文详细介绍了SQL注入中的双注入GET方式,包括单引号字符型注入(Less-5)和双引号字符型注入(Less-6)。讲解了时间延迟型和布尔型手工注入的原理,以及如何使用concat聚合函数。同时讨论了payload的防御措施,如参数化查询和存储过程,并提到了sqlmap工具和脚本在自动化注入检测中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**

Less-5 GET - Double Injection - Single Quotes - String (双注入GET单引号字符型注入)

**

知识点:1,时间延迟型手工注入;布尔型手工注入;使用concat聚合函数
2,payload原理及防御措施
3,sqlmap真香,脚本也好使

**

0x0a 时间延迟型手工注入

**

ps: 什么是时间盲注,时间盲注就是页面不会有回显,没有回显怎么办?这时候我们可以通过sleep(),让他沉睡
为什么通过sleep() 可以判断是否存在时间盲注,因为只要执行了,就说明网址存在交互,存在交互就存在漏洞
sql注入本质或者条件:
1,用户可以控制输入
2,拼接了用户输入的数据,并且去成功的执行了

即,如果语句正确就有延迟,加载慢,得等;不对,一下下就好了,可以通过浏览器的刷新提示观察延迟情况

核心语句:?id=1’ and if(报错型payload核心部分,sleep(5),1)–+

判断有无注入点

在这里插入图片描述

从源码里看到单引号包围查询语句

判断的时候闭合掉,然后sleep(x), x是几都可以,指在交互过程中,你下的睡眠命令执行时间,通过时间延迟判断盲注

在这里插入图片描述
等待5~7秒左右,没有回显,存在注入点

判断数据库长度

使用 if() 函数

if(exp1,exp2,exp3)
如果exp1语句正确,那么就会执行exp2,如果不正确,就会执行exp3
所以我们第一个exp可以写:length(database())=x
exp2: sleep(5)
exp3 : 1

这时候长度x可以用二分法(节约时间)

这时候再代入if这里面

在这里插入图片描述
二分法多试几次,最后判断为8

在这里插入图片描述
查库名

这里还是推荐二分法,不然一个个试太慢了

在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
除了这个语句,还可以用substr和ascii

?id=1’ and if(ascii(substr(database(),1,1))>=50,sleep(5),1)–+
ps:这里比较的是字母的ascii值

查表名

在这里插入图片描述
这里说一下,可以选择一个个爆破,查出所有的,也可以定向爆破,我这里是定向爆破,即直接写出users表名,在limit里变,最后在limit3,1可以查询出,另一种就limit1,1),1)=’’,二分法试出1的表名,然后2,3,才能有users(所以定向爆破快(sqlmap更快。。。))

在这里插入图片描述
查列名

同上,不再啰嗦

### 如何下载和安装 SQLi-Lab 渗透测试工具 #### 下载 SQLi-Lab 工具 可以通过 GitHub 上的官方仓库获取 SQLi-Lab 的源码。以下是具体的地址以及操作方式: 访问以下链接可以找到 SQLi-Labs 的项目页面: ```plaintext https://github.com/Audi-1/sqli-labs ``` 执行克隆命令来下载该项目到本地环境: ```bash git clone https://github.com/Audi-1/sqli-labs.git ``` 此命令会将整个项目的代码复制到用户的计算机上。 #### 安装依赖项并设置 MySQL 数据库 完成下载后,需按照如下说明配置环境以便正常运行 SQLi-Labs 实验室。 ##### 步骤一:准备 MySQL 环境 如果遇到无法启动数据库的情况,可能是因为 `/var/lib/mysql` 文件夹的权限不足[^2]。此时可尝试更改该目录的所有权至当前用户账户下: ```bash sudo chown -R $USER:$USER /var/lib/mysql ``` ##### 步骤二:初始化实验室所需的数据库结构 进入解压后的 `sqli-labs` 路径,在其中寻找用于构建实验场景的相关脚本文件。通常情况下,这些脚本位于子目录下的 `.sql` 文件中。通过 MySQL 命令加载它们以建立必要的表单与数据记录。 ```bash mysql -u root -p < path/to/your/sql_script.sql ``` 随后验证是否能够顺利连接目标实例中的各个模式(schema),确认无误后再继续后续环节的操作流程[^1]。 ##### 特殊情况处理 —— secure-file-priv 权限控制 某些高级挑战涉及利用特定函数导出敏感资料到外部存储设备的功能;然而默认状态下服务器端可能会禁用此类行为从而阻止攻击面扩展。因此当碰到提示错误信息类似于 “The used command is not allowed...” 时,则需要调整全局参数允许指定位置之外保存文档的动作发生[^3]: ```sql SET GLOBAL secure_file_priv = ''; ``` 以上即为完整的 SQL 注入学习平台搭建指南及其注意事项概述。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值