URL 在 GET 请求中发现在 nginx access.log

URL found in nginx access.log along GET request

我正在使用 nginx 管理一个托管在 aws ec2 上的站点。为避免持续监控 nginx 日志的威胁 (access.log & error.log)。尽管通过调整 nginx.conf 可以很好地管理许多威胁,但我什至无法弄清楚攻击者如何发送此类请求。

access.log
xx.xxx.xx.xxx - - [18/Aug/2021:09:04:13 +0000] "GET http://xxxxxxxxx.com/ HTTP/1.1" 200 1400 "-" "Go-http-client/1.1"

在上述情况下,假设我的网站名称是“h ttp://abc-xyz-1234.com”,攻击者在路径中传递 url(即 http://xxxxxxxxx.com/) ,nginx 响应为“200”。我还在摸不着头脑是如何发出请求的,以及用 1400 字节响应的内容(响应长度仍然比路径“/”的网站响应站点短得多)。

因为我认为它不可能通过浏览器实现,所以我尝试使用 curl 进行模拟,但它不起作用。

  1. 它被认为是对 curl
    的 2 个单独请​​求 curl -A Mozilla h ttp://abc-xyz-1234.com/ http://xxxxxxxxx.com

  2. 无效域
    curl -A Mozilla h ttp://abc-xyz-1234.comhttp://xxxxxxxxx.com

  3. 它将命中路径为 /http://xxxxxxxxx.com 的主机并被拒绝。攻击者设法在没有前缀“/”的情况下发送它,这就是试图模拟的内容
    curl -A Mozilla h ttp://abc-xyz-1234.com/http://xxxxxxxxx.com

您可以为此使用 --request-target

curl -A Mozilla http://abc-xyz-1234.com --request-target http://xxxxxxxxx.com