在日常对客户网站进行渗透测试服务的时候,我们SINE安全经常遇到客户网站,app存在文件上传功能,程序员在设计开发代码的过程中都会对上传的文件类型,格式,后缀名做安全效验与过滤判断,SINE安全工程师在对文件上传漏洞进行测试的时候,往往发现的网站漏洞都是由于服务器的环境漏洞导致的,像IIS,apache,nginx环境,都存在着可以导致任意文件上传的漏洞。
关于导致文件上传漏洞的产生以及测试,我们来详细的分析一下:IIS解析漏洞导致的任意文件上传首先比较常见的是客户网站使用的IIS环境来搭建的,一般是IIS+PHP+Mysql数据库组合,或者IIS+aspx+sql2005数据库,IIS存在解析漏洞,当创建文件名为.php的时候,在这个目录下的所有文件,或者代码,都会以PHP脚本的权限去运行,比如其中一个客户网站,可以将上传的目录改为1.php,那么我们上传的jpg文件到这个目录下,访问的网址是域名/1.php/1.jpg从浏览器里访问这个地址,就会是php脚本的权限运行。当上传网站木马webshell过去,就会直接拿到网站的管理权限。存在IIS解析漏洞的版本是5.0-6.0版本。nginx解析漏洞导致的任意文件上传nginx是静态访问,以及大并发,能够承载多人访问,目前很多网站都在使用的一种服务器环境,简单来讲就是HTTP访问的代理,高速稳定,深受很多网站运营者的喜欢,在nginx最低版本中存在解析漏洞,可以导致运行PHP脚
