【vulhub漏洞复现】CVE-2013-4547 Nginx 文件名逻辑漏洞
一、漏洞详情
影响版本 Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
通过%00截断绕过后缀名的限制,使上传的php内容文件被解析执行。
当Nginx得到一个用户请求时,首先对url进行解析,进行正则匹配,如果匹配到以.php后缀结尾的文件名,会将请求的PHP文件交给PHP-CGI去解析。
假设服务器中存在文件‘123.png ',则可以通过访问如下网址让服务器认为'123.png '的后缀为php
http://127.0.0.1/123.png \0.php代码层面来说,我们请求的url中123.png[0x20][0x00].php正好与location模块中的.php相匹配,但进入该模块后Nginx确认为请求的文件名是'123.png ',就设置其为script_name的值交给CGI进行解析,最终造成解析漏洞。
二、复现过程
搭建docker环境
docker-compose up -d

访问8080端口

上传图片马
创建一个新文档,保存为123.png
内容为:
GIF98A
<?php phpinfo(); ?>
GIF98A可以将文件伪造成图片,从而绕过一些文件上传的限制
bp抓包


%00截断解析php文件
访问
http://192.168.239.128:8080/uploadfiles/123.png%20a.php
用bp抓包

a是占位符,把a的hex编码变为00(新版本的bp已经没有了之前的Hex选项,只能选中单个字符在右边的框里进行修改),点击apply changes
再把%20用一个空格代替
点击发送

phpinfo()被成功执行

三、总结
复现的过程卡在了bp上面
到现在也没弄懂为什么访问http://192.168.239.128:8080/uploadfiles/123.png时无法被抓包?

也算是个题外话,虚心求教🙏
相关文章:
【vulhub漏洞复现】CVE-2013-4547 Nginx 文件名逻辑漏洞
一、漏洞详情影响版本 Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7通过%00截断绕过后缀名的限制,使上传的php内容文件被解析执行。当Nginx得到一个用户请求时,首先对url进行解析,进行正则匹配,如果匹配到以.php后缀结尾的文件名&#x…...
Kubernetes中配置livenessProbe、readinessProbe和startupProbe
livenessProbe、readinessProbe和startupProbe作用kubelet使用livenessProbe(存活探针)来判断何时重启容器。例如,当程序中产生死锁的时候,程序还在运行,通过livenessProbe可以检测到程序已不能正常提供服务。这种情况…...
冰箱压缩机 方案
压缩机是制冷系统的心脏,它从吸气管吸入低温低压的制冷剂气体,通过电机运转带动活塞对其进行压缩后,向排气管排出高温高压的制冷剂气体,为制冷循环提供动力,从而实现压缩→冷凝→膨胀→蒸发 ( 吸热 ) 的制冷循环。压缩…...
一文带你入门,领略angular风采(上)!!!
话不多说,上代码!!! 一、脚手架创建项目 1.安装脚手架指令 npm install -g angular/cli 2.创建项目 ng new my-app(ng new 项目名) 3.功能选择 4.切换到创建好的项目上 cd my-app 5.安装依赖 npm install 6.运行项目 npm start或…...
SpringMVC 参数绑定(视图传参到控制器)
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
Three.js高级应用--利用Three.js+WebGL实现fbx和obj格式模型的自定义加载
通过对webgl和three.js的不断学习与实践,在三维应用场景建设过程中,利用Three.js与webgl配合可以实现大部分三维场景的应用需求,这一篇主要讲述如何利用Three.js加载已有的模型,支持的三维模型格式有.fbx和.obj,同时.o…...
Go struct
每个无名结构体类型的字面形式均由struct关键字开头,后面跟着用一对大括号{},其中包裹着的一系列字段(field)声明。 一般来说,每个字段声明由一个字段名和字段类型组成。一个结构体类型的字段数目可以为0。struct {tit…...
Redis多线程模型源码解析
1. 配置启用多线程 默认情况下多线程是默认关闭的,如果想要启动多线程,需要在配置文件中做适当的修改。 修改redis.conf 文件如下 io-threads 4 #启用的 io 线程数量 io-threads-do-reads yes #读请求也使用io线程2 源码解析 进入到Redis的main入口函…...
搭建zabbix4.0监控服务实例
一.Zabbix服务介绍 1.1服务介绍 Zabbix是基于WEB界面的分布式系统监控的开源解决方案,Zabbix能够监控各种网络参数,保证服务器系统安全稳定的运行,并提供灵活的通知机制让SA快速定位并解决存在的各种问题。 1.2 Zabbix优点 Zabbix分布式监…...
Xcode 系统崩溃问题01
参考链接:https://www.5axxw.com/questions/content/x2zlpx 问题:崩溃提示: Message from debugger: The LLDB RPC server has crashed. You may need to manually terminate your process. The crash log is located in ~/Library/Logs/Dia…...
SpringMVC文件上传、下载、国际化配置
Java知识点总结:想看的可以从这里进入 目录3.6、文件上传、下载3.6.1、文件上传3.6.2、文件下载3.7、国际化配置3.6、文件上传、下载 3.6.1、文件上传 form 表单想要具有文件上传功能,其必须满足以下 3 个条件。 form 表单的 method 属性必须设置为 p…...
计算机图形学07:有效边表法的多边形扫描转换
作者:非妃是公主 专栏:《计算机图形学》 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录专栏推荐专栏系列文章序一、算法原理二、…...
UNIX编程--Makefile入门
Makefile 文件命名和规则 文件命名 makefile 或者 Makefile Makefile 规则 一个 Makefile 文件中可以有一个或者多个规则目标 ... : 依赖 ...命令 (shell 命令)...目标:最终要生成的文件,伪目标除外依赖:生成目标所需的文件或是目…...
【数据结构初阶】手撕单链表
目录一.链表概念和结构二.单链表功能的实现1.打印单链表内容2.申请单链表节点3.头插和尾插4.头删和尾删5.单链表查找6.pos位置前后插入7.pos位置删除三.链表面试题剖析一.链表概念和结构 概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素…...
angular中http请求和传值
有关angular传值的相关内容 <number-info[subTitle]"customTitle"[total]"item.ENERGY_RATE %"[subTotal]"item.ENERGY_RATE_DIFF %"[status]"item.ENERGY_RATE_DIFF > 0 ? up : down">在number-info上面,会是一个delon/c…...
VSCode问题记录
20230304 - 0. 引言 这几年的编程方式还真是各种变化,从一开始直接VIM,到后面使用jupyter进行机器学习相关,然后再过渡到vim的形式并加以tmux批量化,最后去年使用了vscode作为IDE。随着工具的变化,那么很多习惯也都随…...
html基础学习
初识HTML HTML: 超文本标记语言 一.HTML的基本结构 根控制标记(头) 头控制标记(头) 标题 标题标记 头控制标记(尾) 网页显示区域(一般要实现的代码都在这里写) </body> 根控制标记(尾) 二.网页的基本标签 标题标签 <h1> 一级标题</h1> <…...
leetcode_贪心算法
贪心算法相关题简单题目455.分发饼干1005.K次取反后最大化的数组和860.柠檬水找零序列问题376.摆动序列法一:贪心法法二:动态规划单调递增的数字简化版本有点难度53.最大子序和贪心算法动态规划134.加油站968.监控二叉树两个维度权衡问题分发糖果406.根据…...
C语言每日一题】——杨氏矩阵
【C语言每日一题】——倒置字符串😎前言🙌杨氏矩阵🙌总结撒花💞😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧!!! 😊作者简介…...
最佳iOS设备管理器imazing 2.16.9官网Mac/Windows下载电脑版怎么下载安装
imazing 2.16.9官网Mac/Windows下载电脑版是款针对苹果设备所打造的管理工具。iMazing为用户提供多种设备管理功能,每一位用户都能以自己的形式管理苹果设备。iMazing与苹果设备连接后,用户就可以轻松传输文件,浏览保存信息等。 应用介绍 iM…...
用Cursor+LocalStorage实现无后端项目管理:前端开发者的轻量级解决方案
用CursorLocalStorage实现无后端项目管理:前端开发者的轻量级解决方案 在当今快节奏的开发环境中,前端开发者常常需要快速搭建小型项目管理工具来跟踪个人或团队的工作进度。传统方案往往需要配置数据库、搭建后端API,这对于简单需求来说显得…...
【模型手术室】第九篇:多模态微调 —— 让模型学会“看图说话”:从像素到行业认知的飞跃
专栏进度:09 / 10 (微调实战专题) 如果你使用的是 LLaVA、Qwen2-VL 或 DeepSeek-VL,它们原生具备识别猫狗和常识图片的能力。但如果你给它一张半导体无尘车间的传感器拓扑图,它大概率会胡言乱语。多模态微调的目标,就是建立“视觉…...
Python网页自动化工具DrissionPage:高效融合浏览器操作与网络请求处理指南
Python网页自动化工具DrissionPage:高效融合浏览器操作与网络请求处理指南 【免费下载链接】DrissionPage Python based web automation tool. Powerful and elegant. 项目地址: https://gitcode.com/gh_mirrors/dr/DrissionPage 一、项目价值:解…...
4步打造高效能开源路由器:OpenWrt固件安装指南
4步打造高效能开源路由器:OpenWrt固件安装指南 【免费下载链接】openwrt openwrt编译更新库X86-R2C-R2S-R4S-R5S-N1-小米MI系列等多机型全部适配OTA自动升级 项目地址: https://gitcode.com/GitHub_Trending/openwrt5/openwrt OpenWrt固件安装是提升R5S设备性…...
Hardentools命令行模式详解:在虚拟机中安全加固Windows系统的终极指南
Hardentools命令行模式详解:在虚拟机中安全加固Windows系统的终极指南 【免费下载链接】hardentools Hardentools simply reduces the attack surface on Microsoft Windows computers by disabling low-hanging fruit risky features. 项目地址: https://gitcode…...
告别盲目点优化!手把手教你用Zemax 2024构建‘先结构后像差’的高效优化工作流
告别盲目点优化!手把手教你用Zemax 2024构建‘先结构后像差’的高效优化工作流 在光学设计领域,Zemax作为行业标杆工具,其优化功能强大却也让许多设计师陷入"不断点击优化按钮"的困境。真正高效的设计不在于反复试错,而…...
Vivado+Vitis双剑合璧:从零构建Zynq-7020的SD卡Linux系统启动镜像
VivadoVitis双剑合璧:从零构建Zynq-7020的SD卡Linux系统启动镜像 在嵌入式系统开发领域,Xilinx Zynq系列SoC凭借其独特的ARM处理器与FPGA可编程逻辑的完美结合,成为众多高性能嵌入式应用的理想选择。本文将带领开发者深入探索如何利用Vivado和…...
告别乱码!ESP32-S3+LVGL 9.2.2驱动ILI9488显示中文的保姆级教程(附完整代码)
ESP32-S3LVGL 9.2.2中文显示实战:从乱码到完美呈现的终极指南 当你在ESP32-S3上成功驱动了ILI9488显示屏,LVGL的基础例程也跑起来了,却发现中文显示全是方块或乱码时,这种挫败感我深有体会。中文显示问题一直是嵌入式GUI开发中的…...
OpenClaw调试技巧:百川2-13B任务失败时的日志分析与修复
OpenClaw调试技巧:百川2-13B任务失败时的日志分析与修复 1. 当自动化任务突然罢工时 上周三凌晨2点,我的OpenClaw突然停止了工作——这个本该在深夜自动整理会议纪要并归档的助手,悄无声息地宕机了。监控屏幕显示它卡在"正在调用百川2…...
AI赋能无障碍:CYBER-VISION在智能导盲场景中的落地实践
AI赋能无障碍:CYBER-VISION在智能导盲场景中的落地实践 1. 引言:当科技照亮黑暗 想象一下,当你闭上眼睛走在繁忙的街道上,周围是川流不息的人群和车辆。对于全球2.85亿视障人士来说,这不仅是想象,而是每天…...
