通常一个文件以HTTP协议进行上传时,将POST请求发送至Web服务器,Web服务器收到请求并同意后,用户与Web服务器将建立连接,并传输数据。
客户端选择发送的文件 -> 服务器接收 -> 服务器程序判断 -> 临时文件 -> 移动到指定的路径
文件上传漏洞
文件上传漏洞就是利用系统上传位置上传一些特殊文件(如木马),如果服务端网站对其过滤不严,就会使木马文件成功被上传到服务器,攻击者可以利用上传的木马文件对服务器进行一系列操作(提权、反弹Shell、拖库等),这样就造成了目标网站的资产损失,这就是文件上传漏洞。
可能存在漏洞的位置
图片上传功能
头像上传功能
文档上传功能
附件上传功能
文件上传漏洞的形成条件
1. 文件能够通过前端和后端过滤和文件处理
2. 文件内容不会改变,能够被正确存储
3. 存储位置在Web容器控制范围内
4. 攻击者有权限访问存储目录并有权执行文件
文件上传漏洞步骤
0. 攻击者通过文件上传功能,成功上传正常文件
1. 攻击者通过文件上传功能,成功上传恶意文件至后端服务器
2. 攻击者获得上传恶意文件所在路径,并能成功访问
3. 上传的恶意文件,可执行
文件上传漏洞危害
- 文件上传漏洞最直接的威胁就是上传任意文件,包括恶意脚本、可执行程序等。
- 如果Web 服务器所保存上传文件的可写目录具有执行权限,那么就可以直接上传后门文件,导致网站沦陷。
- 如果攻击者通过其他漏洞进行提权操纵,拿到系统管理权限,那么直接导致服务器沦陷。
- 同服务器下的其他网站无一幸免,均会被攻击者控制。