文件上传
文件上传攻击
文件上传攻击是攻击者利用Web应用对上传文件过滤不严的漏洞,攻击者将木马上传成功后即可获得当前的webshell。
1.攻击原理
假设目标web服务器为Apache+PHP的架构,攻击者通过上传功能上传 “木马”.PHP 到服务器,再访问 “木马”.PHP 所在的目录,由此 “木马”.PHP 会被当做PHP文件执行,进而木马生效。(需要注意网页用什么语言编写,就要用该语言的木马来上传)
2.文件上传流程
整个过程分为三大步骤:
- 客户端上传:用户提交上传表单,利用HTML格式实现上传格式的编制(**通过HTML格式中的
**),再封装到HTTP包中,开始传输。 - 中间件上传:接受客户端提交的HTML表单;将表单内容存储为临时文件;根据安全规范,将临时文件保存为正式文件。
- 服务器存储及调用:服务器存储正式文件,并将其存放在中间件规定的真实路径。
3.上传攻击的条件
- 目标网站具有上传功能
- 上传的目标文件能被Web服务器解析执行
- 知道文件上传到服务器后的存放路径与文件名称
- 目标文件可以被用户访问
4.上传检测绕过技术
4.1.客户端JavaScript检测及绕过
4.1.1 JS防护
在网站中部署JS脚本,在用户访问时,脚本随同网页一起到达客户端浏览器,当用户进行文件上传时,JS脚本对用户表单提交的数据进行检查,如果发现非法后缀则直接终止上传。(一般在上传表单中,例如利用
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 lanren的博客!