首页 > 系统相关 >文件解析漏洞总结(IIS,NGINX,APACHE)

文件解析漏洞总结(IIS,NGINX,APACHE)

时间:2024-07-30 22:29:42浏览次数:16  
标签:... 解析 IIS 漏洞 步骤 jpg NGINX APACHE php

目录

一、IIS解析漏洞

IIS6.X

方式一:目录解析

方式二:畸形文件解析

IIS7.X

利用条件

环境配置

下载链接:

二、Nginx解析漏洞

2.1:nginx_parsing

利用条件

利用姿势

2.2:CVE-2013-4547

影响版本

利用姿势

三、Apache解析漏洞

3.1:apache_parsing

利用姿势

3.2:CVE-2017-15715

影响版本

利用姿势


一、IIS解析漏洞

IIS6.X

环境:windows server 2003

方式一:目录解析

  1. 添加IIS服务器

点击添加/删除windows组件,然后找到应用程序服务器双击点开,勾选ASP默认是不勾选的,然后安装。

  1. 访问站点:

查看2003的IP,然后用真实机访问。

  1. 访问站点

打开IIS信息服务管理器,然后点开WEB服务扩展全部改为允许。

  1. 1.txt文件复制到站点新建文件夹123.asp中

  1. 访问192.168.222.136/1.asp/1.txt,asp代码执行成功。

方式二:畸形文件解析

1. 在IIS 6处理文件解析时,分号可以起到截断的效果。也就是说 1.asp;.jpg会被服务器看成是1.asp。我们再此目录下创建1.asp;,jpg文件。

2.访问成功

IIS7.X

在IIS7.0和IIS7.5版本下也存在解析漏洞,在默认Fast-CGI开启状况下,在一个文件路径/xx.jpg后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。

利用条件

1.php.ini里的cgi.fix_pathinfo=1 开启

2.lIS7在Fast-CGl运行模式下

环境配置

步骤一:在自己电脑中安装PHPstudy for IIS。

下载链接:

https://www.xp.cn/download.html

步骤二:配置php.ini文件,将cgi.fix_pathinfo=1前的 ;删掉保存...并重启...

步骤三:lIS --》 配置网站--》 处理程序映射--》 PHPStudy_FastCGl --》 请求限制 --》取消勾

步骤四:利用姿势

在WWW下创建一个123.jpg文件

访问时,在1.jpg后加上/.php,代码成功被执行。

二、Nginx解析漏洞

2.1:nginx_parsing

这个解析漏洞其实是PHP CGI的漏洞,在PHP的配置文件中有一个关键的选项cgi.fix_pathinfo默认是开启的,当URL中有不存在的文件,PHP就会向前递归解析。在一个文件/xx.jpg后面加上/.php会将 /xx.jpg/xx.php 解析为 php 文件。

利用条件

Nginx <=0.8.37

cgi.fix_pathinfo=1

利用姿势

Nginx的文件解析漏洞...和IIS7.0的解析漏洞同样的原理,因为cgi.fix_pathinfo=1造成的解析漏洞...

PS:同样使用147.jpg/.php方式进行绕过...

这里我们主要说漏洞,没有Vulhub靶场可以看下方链接安装:

https://blog.csdn.net/weixin_45744814/article/details/120185420

步骤一:浏览器中访问网站...

http://124.221.58.83:8088

步骤二:制作图片马并进行上传...获取上传文件地址...

没有上传成功,说明我们的PHP代码被检测到了,所以我们需要加一个图片的文件头。

再次上传,上传成功。

步骤三:访问以下路径,利用Nginx解析漏洞...

http://124.221.58.83:8088/uploadfiles/468f61d0b18f70220b7a5628531d8666.jpg/.php

步骤四:复制上面链接,利用蚁剑连接

2.2:CVE-2013-4547

此漏洞为文件名逻辑漏洞,该漏洞在上传图片时,修改其16进制编码可使其绕过策略,导致解析为php。当Nginx得到一个用户请求时,首先对url进行解析,进行正则匹配,如果匹配到以.php后缀结尾的文件名,会将请求的PHP文件交给PHP-CGI去解析。

影响版本

Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7

利用姿势

步骤一:浏览器中访问网站

步骤二:因为我们上传php文件会被拦截,所以在.jpg后面添加两个空格并给上.php后缀,在16进制修改中将原本连个空格的0x20 0x20修改为如下即0x20 0x00进行发包...

得到路径 uploadfiles/719.jpg

步骤四:访问上传后的文件....由于url会将其编码,需要继续抓包修改0x20 0x20为0x20 0x00

http://124.221.58.83:8089/uploadfiles/719.jpg%20%20.php

备注:这里在BP中需要将原来的%20%20删除,改成两个空格方便修改

步骤五:访问我们写入的8888.php,访问成功。

步骤六:利用蚁剑连接。

三、Apache解析漏洞

3.1:apache_parsing

在Apache1.x/2.x中Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。如1.php.xxxxx

利用姿势

步骤一:访问靶机并上传556.php.jpg文件

得到上传路径

步骤二:与网站进行路径拼接...如下,PHP代码执行成功!

3.2:CVE-2017-15715

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

影响版本

2.4.0~2.4.29

利用姿势

步骤一:浏览器访问网站

步骤二:尝试上传一句话木马文件,发现被拦截...

步骤三:我们进行抓包,在evil.php文件后面添加空格0x20在改为0x0a再次返送即可上传成功....

这里建议给evil.php改个名字

步骤四:访问上传的6666.php文件在后面加上%0a,页面没有转圈说明访问成功。

步骤五:使用菜刀链接...成功!

标签:...,解析,IIS,漏洞,步骤,jpg,NGINX,APACHE,php
From: https://blog.csdn.net/2301_76631050/article/details/140808110

相关文章

  • Centos7.6升级Nginx到nginx-1.27.0
    Centos7.6升级Nginx到nginx-1.27.0 简介升级过程常见问题简介    Nginx更新到了1.27.0,为了系统的安全性将进行服务升级升级过程一、Nginx的卸载        升级前需要先卸载以前安装的版本1、yum的卸载>yumremovenginx同时还需要手动删除配置文......
  • Nginx部署前端环境(Mac)
    Nginx部署前端环境(Mac)常用命令#启动nginxsudonginx#检查nginx是否已经启动成功ps-ef|grepnginx#如果显示有以下内容,说明启动成功nginx:masterprocessnginx:workerprocess#查看端口号占用lsof-i:端口号#如果什么都没显示,说明端口没有被占用#查看nginx.......
  • Nginx反向代理,负载均衡,平滑升级
    一、反向代理反向代理:⽤户直接访问反向代理服务器就可以获得⽬标服务器(后端服务器)的资源。1、修改配置在配置⽂件中添加⼀⾏反向代理块指令[root@server2~]#vim/usr/local/nginx/conf/nginx.conf......省略部分内容......server{listen80;server_namelocalhos......
  • 【调试笔记-20240730-Linux-OpenWrt 23.05 安装 Docker 配置 bitnami/Wordpress-with-
    调试笔记-系列文章目录调试笔记-20240730-Linux-OpenWrt23.05安装Docker配置bitnami/Wordpress-with-NGINX实现微信用户在线注册登录文章目录调试笔记-系列文章目录调试笔记-20240730-Linux-OpenWrt23.05安装Docker配置bitnami/Wordpress-with-NGINX实现......
  • 7.30(nginx反向代理、nginx负载均衡)
    一、nginx反向代理1、动态服务器后端服务器对标Java服务器1.修改index.html文件,并且发布web服务[root@git~]#echo"thisisjavawebserver">/usr/local/nginx/html/index.html[root@git~]#/usr/local/nginx/sbin/nginx [root@git~]#/usr/local/nginx/sbin/ng......
  • Nginx搭建文件服务器
    下载Nginx,我这里下载1.26版本 http://nginx.org/download/nginx-1.26.1.zip下载完成后解压出来,进入conf文件夹,找到nginx.conf配置文件,定位到server栏修改如下后保存server{charsetutf-8;#设置支持中文listen80;#监听端口......
  • 在Linux系统中使用Nginx部署Vue2项目
    1、打包Vue项目,命令如下:npmrunbuild打包成功后,会生成一个dist目录,dist目录中的所有文件需要上传到服务器上。2、修改dist目录中的index.html(看情况省略此步)主要看css、js等文件的路径,例如以下情形:默认:<linkhref="/js/chunk-vendors.ebc2055a.js"rel="preload"as=......
  • Apache DolphinScheduler用户线上Meetup火热来袭!
    ApacheDolphinScheduler社区8月用户交流会精彩继续!本次活动邀请到老牌农牧产品实业集团铁骑力士架构工程师,来分享ApacheDolphinScheduler在现代农牧食品加工场景中的应用实践。此外,还将有社区活跃贡献者以ApacheDolphinScheduler为例,总结ApacheDolphinScheduler以及Apache......
  • 使用Nginx Proxy Manager配置Halo的反向代理和申请 SSL 证书
    本文介绍NginxProxyManager配置Halo的反向代理和申请SSL证书,如需要了解Halo2的安装,参考如何在Linux云服务器上通过DockerCompose部署安装Halo,搭建个人博客网站?。目录安装NginxProxyManagerNginxProxyManager安装新建docker-compose.yaml启动NPM配置Halo的反向代理申......
  • nginx配置log文件作用域
    在Nginx中,配置日志文件的作用域通常是通过修改Nginx配置文件来实现的。你可以在http、server或location块中设置access_log和error_log指令来定义日志文件的位置和格式。以下是一个配置示例,展示了如何在Nginx中设置访问日志和错误日志:http{#全局访问日志access_log......