javascript
  • encryption
  • rsa
  • 2017-10-14 79 views -1 likes 
    -1

    我發現了一個奇怪的腳本在我的代碼:Rsaencrypt和奇怪的JavaScript函數(E,T,R,N,C,A,L)

    <script type="text/javascript"> 
    n = 'D70ED106DEF035D7DB732C7C0B91F403B6C4A7F2FD5581483A700202482EF829302ED828F68AAAAC093AEFEB64B51882FD3AF350394182AD3E09D3C4FCA1D326A28F4D21759755130B8BB529F5A395DE829B13B070FCCCD507EDA5623EC22B91E080F35AC48E8A4EFD1BB64A1B79BEEF9A325598C430F5D8475297705B727BDD8E5CE1CDFF3BBE8D860B673CDB37681F82D9CF9DDE9E40E638B24E47DBBA9775410B1C0717B3B45F021AB4B633E2CE314DEA93576F318F671AB36509C0936FB7C5108324617D6EFD83B8369C75B7F7743A78E8CC98872C4FF1D83BFC0B7892F20BB869AC9185D82AA6D601F2036F18698661994EE02FDE7EDF6850C09EF05A445A965B4DC5B59CCCF3EB04F8B9AF5895DB7246F24546E34382A4CC221D3C680465906AB38DA8C13CAB72217B2145391E9A446A18116AF05F4DA10632E5C1F1A65DCE313E7DD081C2D374254CE2FD717B0EB346B2B8DD58487C3553398F6EABB816A6A4F1FA94BAE116EEEEC1EAABF4067A2D9B9C02275B61BC3FFB9F324BC0788E941120E772FACE5B16C46B4830DB0E842D1495385AA299D682E2981DF0B952A3B41CCA3DE2FEDD3C70AF63B57303B24F731F1C422D59701C25FEFE47D67CBC72EADD82D23B0374EEE5787D66DC15D68F873FE0BC49347274DF40B047D00BCB7E4068FDAAB74497F5A606AA1E67ED13A30C851AFF014A4F1C7DB9AB629BB693'; 
    e = '010001'; 
    </script> 
    <script>!function(e,t,r,n,c,a,l){function i(t,r){return r=e.createElement('div'),r.innerHTML='<a href="'+t.replace(/"/g,'&quot;')+'"></a>',r.childNodes[0].getAttribute('href')}function o(e,t,r,n){for(r='',n='0x'+e.substr(t,2)|0,t+=2;t<e.length;t+=2)r+=String.fromCharCode('0x'+e.substr(t,2)^n);return i(r)}try{for(c=e.getElementsByTagName('a'),l='/cdn-cgi/l/email-protection#',n=0;n<c.length;n++)try{(t=(a=c[n]).href.indexOf(l))>-1&&(a.href='mailto:'+o(a.href,t+l.length))}catch(e){}for(c=e.querySelectorAll('.__cf_email__'),n=0;n<c.length;n++)try{(a=c[n]).parentNode.replaceChild(e.createTextNode(o(a.getAttribute('data-cfemail'),0)),a)}catch(e){}}catch(e){}}(document);</script></script> 
    

    ň每個頁面重載值變化。

    我已得到自由職業者我的網頁模板,首先要檢查它之前發佈,很奇怪我,因爲我無法找到代碼中的屬性像data-cfemail.__cf_email__也不要有像/cdn-cgi/l/email-protection#

    什麼,請告訴我它能做什麼?它可能是惡意的?必須測試它做什麼?

    +0

    您發現該腳本中的代碼??!?!?如果你沒有寫出來,還有誰能做到這一點?它看起來像重寫包含電子郵件的每個鏈接,可能是爲了防止自動腳本欺騙他們。 –

    +0

    讓他解釋並記錄它。你爲什麼想要不可維護的代碼? –

    +0

    問問你的自由職業者它做了什麼。 – Ryan

    回答

    2

    代碼與

    e /*document*/ .getElementsByTagName('a') 
    

    開始因此它的網頁上的所有鏈接,遍歷他們,如果鏈接中包含

    /cdn-cgi/l/email-protection# 
    

    那麼它就是:

    a.href='mailto:'+o(a.href,t /*the position of the upper inside the link*/+l.length /*the length of the upper*/) 
    

    Theres代碼中的另一個循環迭代了

    e.querySelectorAll('.__cf_email__') 
    

    ,並取代這些元素的文字:

    o( 
        a /* one of the upper elems*/ .getAttribute('data-cfemail'), 
        0 
    ) 
    

    那麼有趣的事情實際上是神祕O功能。即在傳遞的字符串進行迭代,並且轉換2字節對:

    String.fromCharCode('0x'+e.substr(t,2) /*the pair*/^n); 
    

    而n是:

    n='0x'+e.substr(t,2)|0 
    

    所以基本上它基於前兩個字節的異或操作。所以這個:

    A1 B2 C3 D4 
    

    將導致

    B2^A1 
    C3^A1 
    D4^A1 
    

    那麼這個結果是用一個小竅門縮短到一個動態的URL,然後返回。所以基本上這是某種電子郵件保護,它使用非常基本的xor加密來加密內容。那就是它。


    爲了檢驗這一行爲只是把一個鏈接到您的內容鏈接到:

    //the start link we need: 
    /cdn-cgi/l/email-protection# 
    //the xor encryption disabler as (a^0 = a) 
    00 
    //[email protected] in hex 
    74657374406578616d706c652e636f6d 
    

    而且你會看到ITLL鏈接到[email protected]

    Test environment


    因此我可以斷定:這個腳本是一種無害的電子郵件鏈接加密,如果你使用這種加密從早期版本遺留下來的可能是一些代碼還沒有任何鏈接或文本。

    我還沒有發現任何跡象表明這兩個變量N和E改變什麼......

    0

    對不起,是不是從mr.robot復活節彩蛋的網站? http://www.conficturaindustries.com/

    screen from site with this script

    你確定這是你的代碼?

    其電子郵件編碼sript,如果你看一下結果頁面的代碼,你不會找到任何電子郵件那裏,這將作爲一個鏈接只有當你專注於可視化網站顯示

    相關問題