文章目录
一、文件上传
概念:文件上传攻击是指攻击者利用Web应用对上传文件过滤不严的漏洞,将应用程序定义类型范围之外的文件上传到Web服务器,并且此类文件通常为木马,在上传成功后攻击者即可获得当前文件的webshell。
攻击者的目标是取得当前Web服务器的权限,如果通过Web层面展开攻击,那必须将攻击者的木马插入到Web系统中,并在服务器端执行,这个过程就是对Web服务器进行文件注入攻击。
1、上传攻击的原理
假设目标服务器为用PHP语言构建的Web系统,那么针对上传点就要利用PHP木马,并且要求在木马服务器以后缀名为.php进行保存,因此上传木马的过程就是在Web系统中新增一个页面,当木马上传成功后,攻击者就可以远程访问这个木马文件,也就相当于浏览一个页面,只不过这个页面就是木马,具备读取、修改文件内容、连接数据库等功能。
上传漏洞存在的前提是:存在上传点且上传点用户可以独立控制上传内容,同时上传文件可被顺利解析。
2、上传的标准业务流程
整个过程可分为三大步骤:
- 客户端上传功能
- 中间文件上传功能
接收客户端提交的HTML表单
将表单内容存储为临时文件
根据安全规范,将临时文件保存为正式文件 - 服务器存储及调用
客户端上传表单基本通过HTML格式中的 < from > 实现
from action定义了表单上传目标界面为upload_file.php,采用提交的方式由method定义,值为post,定义提交的lexicon为multipart/from-data(如果不指定由浏览器自行判断)
<form action="upload_file.php" method="post" enctype