Nginx简介

Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占内存小、并发能力强;国内使用Nginx的有百度、京东、新浪、网易、腾讯、淘宝等

优势

1、作为Web服务器,Nginx处理静态文件、索引文件、自动索引的效率非常高
2、作为代理服务器,Nginx可以实现无缓存的反向代理加速,提高网站运行速度
3、作为负载均衡服务器,Nginx既可以在内部直接支持rails和PHP,也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡
4、性能方面:Nginx是专门为性能优化而开发的,非常注重效率;它采用内核poll模型,可以支持更多的并发连接,最大可以支持对五万个并发连接数的响应,且只占用很低的内存资源
5、稳定性方面:Nginx采取了分阶段资源分配技术,使得CPU与内存的占用率非常低,类似DOS这样的攻击对Nginx来说基本上是没有任何作用的
6、高可用性方面:Nginx支持热部署,启动速度特别迅速,可以在不间断服务的情况下,对软件版本或配置进行升级,即使运行数月也无需重新启动,几乎可以做到7x24小时不间断地运行

通过yum安装Nginx

#service firewalld stop      #关闭防火墙
#setenforce 0#yum install -y nginx

提示no package Nginx available:
需要先安装epel:

yum install epel-release

安装epel后就可以安装Nginx了

启动Nginx:

[root@localhost ~]#service nginx start
Redirecting to /bin/systemctl start nginx.service
[root@localhost ~]#service nginx status
Redirecting to /bin/systemctl status nginx.service
● nginx.service - The nginx HTTP and reverse proxy serverLoaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disa>Active: active (running) since Tue 2020-08-18 15:01:02 CST; 6s agoProcess: 20686 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)Process: 20684 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)Process: 20683 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCC>Main PID: 20688 (nginx)Tasks: 2 (limit: 5892)Memory: 4.1MCGroup: /system.slice/nginx.service├─20688 nginx: master process /usr/sbin/nginx└─20689 nginx: worker processAug 18 15:01:02 localhost.localdomain systemd[1]: Starting The nginx HTTP and reverse p>
Aug 18 15:01:02 localhost.localdomain nginx[20684]: nginx: the configuration file /etc/>
Aug 18 15:01:02 localhost.localdomain nginx[20684]: nginx: configuration file /etc/ngin>
Aug 18 15:01:02 localhost.localdomain systemd[1]: nginx.service: Failed to parse PID fr>
Aug 18 15:01:02 localhost.localdomain systemd[1]: Started The nginx HTTP and reverse pr>

Nginx解析漏洞原理

Nginx默认是以CGI的方式支持PHP解析的,普遍的做法是在Nginx配置文件中通过正则匹配设置SCRIPT_FILENAME。
当访问www.xxx.com/phpinfo.jpg/1.php这个URL时,$fastcgi_script_name会被设置为“phpinfo.jpg/1.php”,然后构造成SCRIPT_FILENAME传递给PHP CGI;PHP会认为SCRIPT_FILENAME是phpinfo.jpg,而1.php是PATH_INFO,所以会将phpinfo.jpg作为PHP文件来解析

漏洞形式

www.xxx.com/1.jpg/1.php
www.xxx.com/1.jpg%00.php(Nginx<8.03空字节代码执行漏洞)
www.xxx.com/1.jpg/%20\1.jpg

危害

利用该漏洞,攻击者可以将任意文件类型作为PHP文件解析,从而获取webshell

漏洞简单复现

先找到Nginx的默认web目录:

新建文件1.jpg:

用火狐浏览器访问localhost/1.jpg:显示图片解析错误

访问localhost/1.jpg/1.php:显示页面不存在

原因:Nginx不支持PHP

解决方法:配置Nginx支持PHP
将配置文件改为备份文件:

使用默认的配置文件作为配置文件:

修改Nginx配置文件/etc/nginx/nginx.conf,添加fastcgi支持:

45:增加index.php

65—71:去掉前面的#号

69:修改为网站根目录的绝对路径

重启Nginx

重启成功

测试Nginx

在网站根目录/usr/share/nginx/html里新建test.php

重新访问localhost/1.jpg/1.php:

修改/etc/php-fpm.d/www.conf:

39、41:修改用户、组为Nginx

190:添加一些常用的扩展名

重启PHP服务:

参考链接 :

nginx解析漏洞简单复现及修复 :https://mp.weixin.qq.com/s/86RxwkVNZJAAT4w_uOWvSw

nginx解析漏洞简单复现及修复相关推荐

  1. php目录遍历漏洞复现,nginx解析漏洞,配置不当,目录遍历漏洞环境搭建、漏洞复现...

    nginx解析漏洞,配置不当,目录遍历漏洞复现 1.Ubuntu14.04安装nginx-php5-fpm 安装了nginx,需要安装以下依赖 sudo apt-get install libpcre ...

  2. nginx php解析漏洞,关于phpStudy nginx解析漏洞的安全公告

    大工网安告[2020]022号 一.情况分析 漏洞背景 phpStudy是一个PHP调试环境的程序集成包,兼容Windows和Linux系统,支持Web端管理,可以一键创建网站.FTP.数据库等,实现 ...

  3. 安鸾渗透实战平台(文件上传)—— Nginx解析漏洞 (100分)

    漏洞环境 安鸾渗透实战平台 图片.一句话木马 中国蚁剑(webshell管理工具) 题目 情况分析 根据提示,是nginx解析漏洞,查一下漏洞的对应信息,发现只要在源文件后缀后加上.php即可把图片文 ...

  4. PHP小皮使用,Phpstudy(小皮面板) nginx 解析漏洞

    一.Phpstudy(小皮面板)简介: PhpStudy国内12年老牌公益软件,集安全,高效,功能与一体,已获得全球用户认可安装,运维也高效.支持一键LAMP,LNMP,集群,监控,网站,FTP,数据 ...

  5. IIS6.0文件解析漏洞原理/复现

    IIS文件解析漏洞原理 IIS6.0存在文件解析漏洞 , 文件名中分号( ; )后面的内容不会被解析 比如 a.asp;jpg 文件 会被IIS解析成 a.asp 这个漏洞是逻辑上的问题,IIS6.0 ...

  6. IIS6.0目录解析漏洞原理/复现

    目录解析漏洞原理 IIS6.0版本存在目录解析漏洞 , ,asp格式命名的文件夹,其目录下的所有文件都会被IIS当做asp文件来解析 漏洞复现 环境准备 Windows 2003系统 , IIS 6. ...

  7. log4j2漏洞简单复现

    文章目录 0x1 log4j2漏洞简介 0x2 log4j2漏洞验证判断 0x3log4j2漏洞复现利用 0x04 log4j2漏洞修复方式 0x1 log4j2漏洞简介 log4j2原理: log4 ...

  8. Nginx SSL漏洞(SWEET32)扫描和修复 —— 筑梦之路

    1.扫描nmap -sV --script ssl-enum-ciphers -p 443 www.baidu.comnmap --script="ssl-enum-ciphers" ...

  9. nginx解析漏洞 只要可以上传文件就会被黑

    80sec发现的大漏洞 ,之前听阿里巴巴的同学也说到过 .说明这个漏洞地下知道的人已经很多了 只是今天公开了... 漏洞介绍:nginx是一款高性能的web服务器,使用非常广泛,其不仅经常被用作反向代 ...

最新文章

  1. IOS开发学习笔记(1)
  2. boost::range模块transformed相关的测试程序
  3. 8、奇怪的表达式求值--2017网易春招
  4. 49 MM配置-库存管理和实际库存-设置容差限制
  5. python语法学习之对象与参考,局部与全局变量
  6. Metabase在linux二次开发编译环境搭建(之一---下载文件)
  7. iOS:菜单控制器和菜单项:UIMenuController和UIMenuItem
  8. pagerTabStrip例子
  9. python 日志函数参数_Python之配置日志模块logging
  10. linux 系统下安装中文输入法
  11. 公司网站应该外包SEO公司还是自己去做?
  12. php教学反思,教学反思
  13. FastJson的JSON.isValid()出现BUG!
  14. 基于知识图谱构建新一代数据智能基础设施
  15. 将开发板的usb配置为ncm网口(qnx系统)
  16. 注塑模具设计时,需要依据哪些设定原则?
  17. 轻触开源(三)-Gson项目源码解析_贰
  18. 计算机视觉——DoG和LoG算子
  19. 408数据结构学习笔记——顺序查找、折半查找、分块查找
  20. 计算机应届博士生的一点求职经验——字节篇

热门文章

  1. 基于特征融合的图像情感识别
  2. 【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类...
  3. troublemaker中文谐音_求Arashi 岚的Troublemaker的中文谐音~~~~ 超感激~
  4. 如何使用wordnet
  5. 基于selenium生成Csdn 博客文章简索的excel文件
  6. ajax如何用编号查询姓名,Ajax js 使用Ajax检测用户名是否存在
  7. SlickEdit 的宏解析设置方法
  8. 计算理论101:这可能是讲FSM的最生动的一篇了
  9. 5Python全站之路系列之MySL连表查询
  10. C#实现CAD数据转shape或mdb