文件上传类应用的范围还是很广泛的,利用这个应用同样也可以进行攻击。文件上传的方式有多种,可以通过FTP也可以通过HTTP等,对比起来,FTP的上传需要管理大量的用户帐号,并且无法进行SSL编码,安全上稍逊一筹,并且无法对不同类型的文件进行批量分类上传处理,同时在对上传文件大小、类型上无法很好的控制,因此,通过HTTP方式上传是现在很普遍的WEB用法。
在标签中,需要将type设置为file,如input标签。现在假设说,我们先制作一个待上传的文件,如:
example.php
<?php
echo "success"
?>
完成后,在有漏洞的页面上传该可以文件,成功后,可以查看它的路径地址(或者之前可以通过上传一张正常图片文件,来探测上传后文件们的存放地址),然后通过"http://....../example.php"就可以执行刚上传的这个文件,如果这个文件中不像我们刚刚设置的那样,只是执行打印功能,而是进行删除,覆盖、修改、或者是上传超量大小的文件、连续上传文件等,都会导致站点的无法访问。
那么对应这个情况,如何去进行防范呢?
1、不开放上传功能(如果可以的话)
2、限制上传文件的类型
3、限制上传文件的大小
4、隐藏文件路径
但是对于如EXCEL类宏病毒的攻击,好象这几个方法就无效了,后续将研究宏病毒的检查和防范。
5、检查上传文件中是否含有恶意信息(如检查图片文件是否正常编码开头结尾)