AWS部署的Web应用遭篡改,Edge触发不明文件下载求助
解决AWS部署Web应用遭恶意注入的问题
这明显是你的AWS部署环境遭遇了恶意代码注入攻击,本地运行正常说明问题出在云端的服务、存储或CDN层面,咱们一步步来排查和解决:
一、定位攻击入口点
- 检查S3静态资源存储(若使用):如果
pd-index.js存在S3桶中,先查看桶的权限设置——是否有陌生IAM用户/角色获得了读写权限?桶内文件是否被恶意替换?可以通过S3访问日志追踪谁修改了文件。 - 排查EC2实例(若为EC2部署):登录EC2后,检查系统进程列表是否有陌生可疑进程;查看登录日志是否存在未授权登录记录;同时检查应用部署目录,确认是否有恶意脚本被植入。
- 验证CDN配置(如CloudFront):临时绕过CDN直接访问源站,若源站内容正常,大概率是CDN缓存被篡改或边缘节点被劫持,需清空缓存并检查缓存规则是否被修改。
- 检查CI/CD部署管道:排查部署脚本、GitHub Actions等工具是否被入侵,查看部署日志是否存在异常步骤,避免每次部署自动注入恶意代码。
二、紧急修复步骤
- 隔离受影响资源:若为EC2,先暂停实例公网访问;若为S3,将桶权限改为私有,仅允许可信IAM实体访问,防止进一步篡改。
- 恢复干净代码:从本地或Git版本控制系统拉取未被篡改的
pd-index.js和页面模板,重新部署到AWS,完全覆盖恶意修改内容。 - 清除恶意注入内容:手动删除页面body中被追加的两个恶意iframe,替换回正常的
pd-index.js脚本。
三、解决Edge浏览器的下载提示问题
那个14字节的t文件下载提示,是因为恶意注入的第二个iframe(指向http://one.m4dc.com/t/?r=xxx)在Edge中触发了下载行为——该URL返回的响应头大概率设置了Content-Disposition: attachment,强制浏览器下载。只要解决代码注入问题,这个提示自然会消失。
四、长期防护措施
- 加固AWS权限:遵循最小权限原则,给IAM角色/用户分配必要权限;开启多因素认证(MFA);定期轮换访问密钥,避免密钥泄露。
- 启用资源完整性校验:给静态资源(JS、CSS)添加Subresource Integrity (SRI),示例代码如下:
浏览器检测到文件内容被篡改时会拒绝加载。<script src="/js/pd-index.js" integrity="sha256-你的文件哈希值" crossorigin="anonymous"></script> - 开启AWS安全服务:启用GuardDuty检测账户异常行为;开启CloudTrail记录所有API操作,方便追踪攻击源;给S3桶开启版本控制和访问日志,便于后续溯源。
- 定期漏洞扫描:使用AWS Inspector或第三方工具扫描EC2实例和应用依赖,及时修补系统和软件漏洞,避免被攻击者利用。
内容的提问来源于stack exchange,提问作者Dil Shad Roshan
相关产品推荐
相关产品推荐

