网络安全进阶学习第六课——服务器解析漏洞


1、概念

解析漏洞主要是一些特殊文件被Apache、IIS、Nginx等Web服务器在某种情况下解释成脚本文件格式并得以执行而产生的漏洞


2、Apache解析漏洞 CVE-2017-15715

影响范围:2.4.0~2.4.29版本

此漏洞形成的根本原因,在于 , 正则表达式中 , 正则表达式中 ,正则表达式中不仅匹配字符串结尾位置,也可以匹配\n 或 \r ,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

上传文件test.php. 抓包 修改 php后面的点(2e) 为 换行(0a)
访问 test.php%0a


3、Apache AddHandler解析漏洞

Apache默认一个文件可以有多个后缀名,每次识别从右到左识别,当最右边的后缀无法识别时,则继续向左识别。mime.types中记录apache可识别的后缀名

添加AddHandler,使得任何文件只要包含.php后缀名的文件都会被当作php文件解析为了使php文件可以被解析,用户自己添加了AddHandler:AddHandler application/xhttpd-php .php


4、IIS6 解析漏洞(;

基于文件名:该版本默认会将*.asp;.jpg此种格式的文件名,当成asp解析。

原理是服务器默认不解析 ; 号及其后面的内容相 当于截断


5、IIS6 解析漏洞(*.asp/目录

基于文件夹名,该版本默认会将 *.asp/目录下的所有文件当成asp解析。

当在网站下建立文件夹的名字为*.asp、*.asa、*.cer、*.cdx 文件夹,那么其目录内的任何扩展名的文件都会被IIS当做asp文件来解释并执行。

注意:微软不认为这一个是漏洞,因为正常情况下,是无法创建 *.asp 命名的文件夹的。


6、IIS7 解析漏洞(ISAP或CGI的模式下)

服务器是使用IIS7环境,并且在ISAP或CGI的模式下,在任意文件,如test.jpg后面加上 /.php ,会自动将test.jpg解析为php文件。

例如:127.0.0.1/test.jpg/.php 会被解析成 127.0.0.1/test.php


7、nginx解析漏洞(cgi.fix_pathinfo)

nginx查看url,得到.php结尾,将路径传递给php fastcgi处理程序,nigin传递给php的路径为
在这里插入图片描述

php根据url映射,在服务器寻找xxx.php文件,但是xxx.php文件不存在,由于cgi.fix_pathinfo是默认开启。php会继续检查 路径存在的文件,并将多余部分当作PATH_INFO,接着找到文件存在.jpg文件,后以php形式执行.jpg内容,并将/xxx.php 存储在PATH_INFO后丢弃。
在这里插入图片描述

  • 举例来说:
    1)上传了一个图片木马文件:upload/1.jpg
    2)然后访问方式是:upload/1. jpg /1.jlkk/1.php
    3)这时后系统会从后面开始找,先去找1.php,没找到;接着往前找1.jlkk,也没找到;再往前找1. jpg,找到了。
    4)系统就会把找到的1.jpg来当成是最后的一个1.php来当成PHP文件执行。

8、nginx解析漏洞(%00空字节)

Nginx如下版本: 0.5.*、0.6.*、0.7 <= 0.7.65、0.8 <= 0.8.37 该漏洞不受cgi.fix_pathinfo影响,当其为0时,依旧解析。

  1. 生成一个upload/info.jpg格式的木马文件
  2. 使用burp抓包,访问info.jpg,修改为info.jpg…php , 在16进行模式下,修改jpg后面的 . ,为00
  3. 访问时就直接访问upload/info.jpg .php
  4. 这时就直接会把info.jpg当成info.php来执行。

9、总结

从攻击者的角度来给上传分类:

1)轻量级检测绕过

a.绕过前端JavaScript检测:使用Burp抓包改包。
b.绕过服务器端MIME类型检测:使用Burp抓包改包。

2)路径/文件扩展名检测绕过

黑名单检测方式

  • 文件名大小写绕过;
  • 名单列表绕过;
  • 特殊文件名绕过;
  • 0x00截断绕过;
  • .htaccess文件攻击;
  • 本地文件包含漏洞;
  • Apache解析漏洞;
  • IIS解析漏洞;
  • Nginx解析漏洞;

白名单检测方式

  • 0x00截断绕过;
  • 本地文件包含漏洞;
  • Apache解析漏洞;
  • IIS解析漏洞;
  • Nginx解析漏洞;

3)文件内容检测方式

对文件进行恶意代码注入,再配合解析漏洞(或文件包含漏洞)。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值