1. 文件上传漏洞简介
通常web站点会有用户注册功能,而当用户登录之后大多数情况下会存在类似头像上传、附件上传之类的功能,这些功能点往往存在上传验证方式不严格的安全缺陷,导致攻击者通过各种手段绕过验证,上传非法文件,这是在web渗透中非常关键的突破口。
2. 文件上传漏洞危害
攻击者绕过上传验证机制上传恶意文件,通过上传的web后门获得整个web业务的控制权,复杂一点的情况是结合web服务器的解析漏洞来获取权限。
3. 文件上传检测流程
通常一个文件以HTTP协议进行上传时,将以POST请求发送至web服务器,web服务器收到请求并同意后,用户与web服务器将建立连接,并传输数据。
4. 解析漏洞
1)IIS6.0解析漏洞
目录解析:在网站下建立名为.asp、.asa的文件夹,其目录内任何扩展名的文件都会被IIS当作asp文件来解析并执行,如创建目录aa.jsp,那么/xx.asp/xx.jpg会被解析成ASP脚本来执行;
文件解析:在IIS6.0下,分号后面的不被解析,也就是说aa.asp;.jpg会被服务器当成aa.asp文件来执行;
IIS6.0默认的可执行文件除了asp还包括asa、cer和cdx
2)IIS7.0/Nginx<8.0.3畸形解析漏洞
在默认开启Fast-CGI情况下,攻击者上传一个内容为<?PHP fputs(fopen('shell.php','w'),'<?phpeval($_POST[cmd])?>');?>的jpg文件,然后访问xx.jpg/x.php,在这个目录下就会生成一句话木马shell.php
3)Apache解析漏洞
Apache是从右往左开始判断解析,如果为不可识别解析再往左判断,如aa.php.owf.rar文件,Apache不可识别解析‘.owf’和‘.rar’这两种后缀,会解析成.php文件。
5. 实验室关于解析漏洞的实验