浅谈文件解析及上传漏洞

  

浅谈文件解析及上传漏洞”> <br/> </p> <p>中国菜刀</p> <人力资源/> <p>,,,,在网上* * *中,我最期待两种漏洞,一种是任意命令执行漏洞,如struct2漏洞等;另一种是文件上传漏洞,因为这两种漏洞都是获取服务器权限最快最直接的方法。而对于任意命令执行漏洞,如果是通过内网映射出来的,那么可能还需要使用不同的手段进行* * *文件上传,从而获取网站管理权限,通过网站管理权限进行端口转发或者权限提升。<br/>,,,,本文主要是介绍文件上传中的个人利用技巧经验汇总,讲解分为两部分:一部份是文件解析漏洞,另一部份是文件上传漏洞。</p> <h3>文件解析漏洞</h3> <p>,,,,解析漏洞主要是一些特殊文件被iis, Apache, Nginx等服务在某种情况下解释成脚本文件格式并得以执行而产生的漏洞。</p> <h4> iis 5. x/6.0解析漏洞</h4> <p>,,,, iis6.0解析漏洞主要有以下三种:<br/>, <br/>,,,,在网站下创建文件夹名字为asp,。亚撒的文件夹,其目录内的任何扩展名的文件都被iis当做asp文件来解析并执行。因此只要* * *者可以通过该漏洞直接上传图片马,并且可以不需要改后缀名! <br/> <br/>,,,,在iis6.0下,分号后面的不被解析,所以xx.asp; jpg被解析为asp脚本得以执行。<br/> <br/>,,,, iis6.0默认的可执行文件除了asp还包含这三种亚撒,cer, cdx。</p> <h4> Apache解析漏洞</h4> <p>,,,, Apache对文件的解析主要是从右到左开始判断并进行解析,如果判断为不能解析的类型,则继续向左进行解析,如xx.php.wer。xxxxx将被解析为PHP类型。</p> <h4> IIS 7.0/Nginx & lt; 8.03畸形解析漏洞</h4> <p>,,,,在默认Fast-CGI开启状况下上传名字为xx.jpg,内容为:<br/> <代码> & lt; ?PHP fputs (fopen (‘shell.php’,‘w’)”& lt; ?php eval ($ _POST [cmd) ?在“);?在</代码> <br/>,,,,然后访问xx.jpg/hp,在这个目录下就会生成一句话* * * shell.php。</p> <h4> Nginx<8.03空字节代码执行漏洞</h4> <p>,,,, nginx如下版本:0.5。<em>,收于0.6点。</em> 0.7 & lt;=0.7.65 0.8 & lt;=0.8.37在使用PHP-FastCGI执行php的时候,URL里面在遇到% 00空字节时与FastCGI处理不一致,导致可以在图片中嵌入php代码然后通过访问xxx.jpg % 00. php来执行其中的代码。<br/>,,,,另一种Nginx文件漏洞是从左到右进行解析,既可绕过对后缀名的限制,又可上传* * *文件,因此可以上传XXX.jpg.php(可能是运气,也可能是代码本身问题,但在其他都不能成功的条件下可以试试)。如下:<br/> <代码>附加项:格式;name=

htaccess文件解析

,,,,如果Apache中。htaccess可被执行并可被上传,那么可以尝试在。htaccess中写入:
<代码> & lt; FilesMatch“shell.jpg”比;   SetHandler应用程序/x-httpd-php   & lt;/FilesMatch>
,,,,然后再上传shell.jpg的* * *,这样shell.jpg就可被解析为PHP文件了。

操作系统特性解析

,,,,由于windows会将文件的后缀中的空格以及点进行过滤,如果遇到是黑名单校验的,如限制不允许上PHP传文件,而系统又是windows系统,那么我们可以上传xx。php,或者xx.php。,通过这种方式就可以绕过黑名单检验的文件上传!

文件上传漏洞


,,有的网站由于对文件上传的地方只做前端的一个校验,导致可轻易绕过,因为前端的一切限制都是不安全的!

,,如下是一个只对前端进行校验的一个上传测试点:

浅谈文件解析及上传漏洞

,在这里我是开启了打嗝抓包的,但是我一点击上传就提示无法上传,而打嗝未抓到任何数据库,这说明这是一个前端校验的一个上传,在这里我们通过禁用js来直接上传php的网站管理权限,我们也可以先将我们的php的网站管理权限进行后缀名更改,如更改为jpg,然后上传,通过打嗝抓包,然后发往转发器中进行测试,如图:

浅谈文件解析及上传漏洞

,此时我们在将我们上传的文件更改为我们的原本后缀名php,即可成功上传!

浅谈文件解析及上传漏洞

文件头欺骗漏洞

,,,,在一句话* * *前面加入GIF89a,然后将* * *保存为图片格式,可以欺骗简单的waf。

,,我们在上传文件的时候,还有遇到服务器是从左到右进行解析的漏洞,也就是说服务器只检查文件名的第一个后缀,如果满足验证要求即可成功上传,但是我们都知道,只有最后一层的后缀才是有效的,如1. jpg.php,那么真正的后缀应该是PHP文件,根据这个我们可绕过相关验证进行上传。

浅谈文件解析及上传漏洞