jinkun00 2015-08-17
大部分应用系统都有上传图片或文件的功能,攻击者利用这些功能上传一个网页木马,如果存放上传文件的目录有执行脚本的权限,那么攻击者就可以直接得到一个WebShell,进而控制Web服务器。这个漏洞有两个必要条件,一是可以上传木马,二是存放上传文件的目录具备执行脚本的权限。上传是业务的功能需要,即便有做各种安全过滤,限制木马上传,但也有各种绕过过滤的攻击方法,比较难以限制。所以漏洞的关键就在上传的目录是否具备执行脚本的权限上,很多设计者会基于降低成本的考虑,将存储上传文件的位置与Web应用程序放在同一服务器,甚至同一目录下,这样上传的目录也和Web应用程序一样具备执行脚本的权限,从而导致系统产生了一个高危上传漏洞。
修复这个安全漏洞的方式有两个,一个是将存储上传文件的位置设计在另一台只具备存储功能的文件服务器或数据库上,与Web应用服务器分开,这样即使木马被上传进来,也因为文件服务器不能执行脚本而没有办法实施攻击。第二个就是修改存储上传文件的目录的执行脚本的权限。
chmod 666 /目录1/目录2/*
chmod 666 /目录1/目录2/*/*
(666的意思是所有用户只有读写该目录下文件的权限而没有执行脚本的权限)
这样就能取消只取消文件的执行权限而不取消目录的执行权限,因为如果取消了目录的执行权限的话将不能访问该目录。