apache解析漏洞上传shell
实验概述
Apache HTTP Server(简称 Apache) 是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中;本实验通过对apache服务器的测试,判断是否存在解析漏洞,再利用漏洞进行文件上传,获取控制网站的权限。
实验目的
1、了解apache解析漏洞原理;
2、掌握上传漏洞的利用;
3、获取网站后台管理权限。
实验原理
Apache的这种解析特性经常被用来绕过Web应用的文件上传检测。当Web应用的文件上传功能在检测上传文件的合法性时,如果仅通过检测上传文件的扩展名来判断文件是否合法,就可以利用Apache的这种文件名解析特征绕过Web应用的检测。
【解析漏洞原理】
Apache解析漏洞:指以其他格式执行出脚本格式的效果,Apache对于文件名的解析是从后往前解析的,直到遇见一个它认识的文件类型为止。因此,如果web目录下存在以类似bluedon.php.blue这样格式命名的文件,Apache在解析时因为不认识.blue这个文件类型,所以会一直往前解析,当解析到.php时,它认识了,因此会将它解析为PHP文件。
【解析漏洞的危害】
上传漏洞是一个非常恐怖的漏洞,如果你的程序里面有这种漏洞,那么恶意攻击者可以直接向你的服务器上传一个 webshell( 又称 ASP 木马、PHP 木马等即利用服务器端的文件操作语句写成的动态网页,可以用来编辑你服务器上的文件 ),从而控制你的网站。
其中“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
文件上传后导致的常见安全问题一般有:
1、上传文件是Web脚本语言,服务器的Web容器解释并执行了用户上传的脚本,导致代码执行。
2、上传文件是Flash的策略文件crossdomain.xml,黑客用以控制Flash在该域下的行为(其他通过类似方式控制策略文件的情况类似);
3、上传文件是病毒、木马文件,黑客用以诱骗用户或者管理员下载执行。
4、上传文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈。
【常用一句话木马】
一句话木马:短小精悍,且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。
常用的一句话木马:
asp一句话木马 <%execute(request("value"))%>
php一句话木马 <?php @eval($_POST[value]);?>
aspx一句话木马 <%@ Page Language="Jscript"%>
实验环境
实验系统:两台win2003虚拟机,一台为攻击机,另一台为靶机
实验工具:xampp,中国菜刀
实验步骤
1、开启服务,双击打开xampp-control.exe
2、创建文件:选择一个文件夹存放文件
3、创建一个未知后缀名的文件,目的在于测试是否存在解析漏洞,创建文件bluedon.php.blue
4、开始测试上传,打开火狐浏览器输入:http://靶机ip地址/shudong/,进行上传测试,先传入php文件,提示不能上传
5、再次点击“选择文件”,选择“bluedon.php.blue”文件,点击“打开”,进行上传,上传成功
6、测试是否能解析,输入: http://靶机ip地址/shudong/bluedon.php.blue,按回车键,可见解析已经成功解析php文件,忽略.blue,说明靶机无法解析.blue
7、这样我们就可以构造一句话木马进行上传,然后通过菜刀进行连接,即可对网站进行下载完整源码
实验总结
可见Apache解析漏洞的危害是如此之大,通过实验的介绍了解到apache解析漏洞,掌握了apache解析漏洞的利用,以下通过思考以下问题进一步提高网络安全意识。
1、Apache解析漏洞的原理
答:Apache对于文件名的解析是从后往前解析的,直到遇见一个它认识的文件类型为止。
2、如何修复apache解析漏洞?
答:可以通过白名单进行验证后缀,进行多重过滤,全部变小写,过滤空格等,对上传文件的后缀名进行严格的检查。