1. 文件上传攻击原理简述
文件上传攻击是指攻击者利用Web应用对上传文件过滤不严的漏洞,将应用程序定义为类型范围之外的文件(通常是网页木马、恶意脚本、病毒、可执行文件)上传到Web服务器,如果存放上传文件的目录有执行脚本的权限,例如上传一句话木马,通过webshell管理工具连接,攻击者就能直接获取权限,进而控制服务器或执行恶意命令的一种攻击方式。以下是文件上传攻击的概述:
1) 文件上传的攻击前提:
a) 存在上传点:Web应用中存在允许用户上传文件的功能点(例如上传附件,文本编辑器、某些路径未授权可以post传数据)。
b) 过滤不严:Web应用对上传文件的文件名、类型、内容等没有进行严格的验证和过滤。
c) 执行权限:上传的文件能够被Web服务器解析执行,即存放上传文件的目录有执行脚本的权限。
2) 文件上传的攻击流程:
上传恶意文件:
攻击者构造一个包含恶意代码的文件(如木马、WebShell等),并通过Web应用的上传功能将其上传到服务器。可能通过修改文件扩展名、修改Content-Type头部、利用解析漏洞等方式绕过服务器的验证机制。
文件被解析执行:
上传成功后,如果存放上传文件的目录有执行脚本的权限,恶意文件将被Web服务器解析执行。攻击者也可以通过Web访问该文件,从而触发恶意代码的执行。
控制服务器:
一旦恶意代码被执行,攻击者就可以利用它执行任意代码、获取敏感信息、进行拒绝服务攻击等,从而控制服务器。也可以进一步上传更多恶意文件,扩大攻击范围。
2. 文件上传攻击快速研判方法
通过SOC平台发现的工单告警,检查告警的来源、时间、类型等基本信息,初步判断为真实的文件上传攻击。一般是查看主机、网络流量日志信息,分析攻击者的攻击行为,并查看同源地址对其它目标是否有扫描检测,分析攻击的payload,执行了什么命令操作,往往攻击特征明显,一般不需要业务确认是否是正常业务,以下是对文件上传攻击研判的简述。
1) 存在文件上传攻击
分析原始日志的WAF事件,威胁类型为文件上传攻击入侵。
3) 研判查看攻击行为
查看报文信息的请求类型,在某些路径未授权下也可以post传数据。对上传文件的内容进行初步检查,看其是否包含可疑的脚本代码或恶意指令。可以通过检测文件头、调用API或函数进行文件加载测试(像渲染测试)等方法来判断文件内容的合法性。