什么是文件上传漏洞?
文件上传漏洞指用户上传了一个可执行脚本文件,并且通过此脚本文件获得了执行服务器端端命令的能力。常见场景是web服务器允许用户上传图片或者普通文本文件保存,而用户绕过上传机制上传恶意脚本并执行从而控制服务器。上传文件操作本身是没有问题的,问题在于文件上传到服务器后,服务器怎么处理和解释文件。
什么是webshell?
web指的是在web服务器上,而shell是用脚本语言编写的脚本程序,webshell就是就是web的一个管理工具,可以对web服务器进行操作的权限。webshell一般是被网站管理员用于网站管理、服务器管理等等一些用途,但是由于webshell的功能比较强大,可以上传下载文件,查看数据库,甚至可以调用一些服务器上系统的相关命令(比如创建用户,修改删除文件之类的),通常被黑客利用,黑客通过一些上传方式,将自己编写的webshell上传到web服务器的页面的目录下,然后通过页面访问的形式进行入侵,或者通过插入一句话连接本地的一些相关工具直接对服务器进行入侵操作。
文件上传漏洞的攻与防
前端限制:调用js函数检查上传文件的扩展名
- 破解方法:修改前端页面,通过burpsuite抓包修改
服务端检查扩展名:白名单和黑名单策略
- 破解