正如标题所说,我们有一个网站使用第三方 smtp 凭据发送电子邮件,但是,我们的 smtp 凭据不断被黑客入侵并用于发送垃圾邮件,导致我们的 smtp 帐户被暂停,我们首先使用 ses,然后发现我们需要添加 spf、dkim 和 dmarc,添加完它们之后,我们转到 sendgrid,再次被黑客入侵,队友认为是因为访问 sendgrid 的密码很弱,但我不这么认为,因为密码测试说它很强,需要 2 千年才能破解,我们真的不知道问题所在,我们的网站使用 laravel 7,黑客是如何访问 .env 文件的?
请帮助。
答案1
您使用的是 nginx 吗?我遇到了同样的问题。根据 @PetrChloupek 的提示,我分析了访问日志 (/var/log/nginx/access.log),发现有时代理可以从“/.env”中获取 200。事实证明,nginx 的配置是这样的,当仅使用 ip(vg 12.244.21.21 而不是“mywebsite.com”)时,恶意代理会访问 /var/www/html 而不是 nginx conf 文件中指定的公共文件夹,因为这只处理指定的主机(vg“mywebsite.com”)。
答案2
开发人员离开实时系统时存在一个已知问题,这意味着您可以触发包含键和值APP_DEBUG = true
的调试页面输出。.env
https://www.mailgun.com/blog/a-word-of-caution-for-laravel-developers/
如果存在漏洞,触发该问题的一个简单方法是发出不受支持的请求,例如对已知 GET 路由(如站点索引“/”)发出 POST / PUT 请求,这将在 DEBUG 设置为 true 的情况下输出所有环境变量。