類人猿人類学の 2 番目の問題 - 混乱を招く動的 Cookie 検出

単純な document.cookie、location.reload などは書き込まれません。

1. コードフォーマットの検出

これは、文字列の正規一致のパフォーマンスの低さを利用し、より多くの文字列に適応し、より「普遍的」に見える式を悪意を持って作成します。これにより、一致時間が長くなり、スタックの効果が得られます。

var _0x18813f = _0x5b4f47["constructor"]("return /\" + this + \"/")()["compile"]("^([^ ]+( +[^ ]+)+)+[^ ]}");

画像-20230722221934099

解決策: 圧縮コード

2. global と navigator.vendorSub を検出します

画像-20230722222135386

解決:

グローバルを削除して、キャッチ ロジックを実行させることができます

3.setIntervalの検出

nodejs の setInterval はブラウザと同じではありません。ブラウザの setInterval によって渡される最初のパラメータは文字列にすることができますが、nodejs の最初のパラメータは関数である必要があります

画像-20230722222428075

解決:

setInterval を空に設定します

setInterval = function (a,b){
   
}

考え

ここでの元のコードは次のとおりです。これにより、_0x4464ae 関数が最初に実行され、次に戻り値が setInterval に渡されるため、setInterval は空にすることができます。

画像-20230722225508527

もしそうならソースコード

setInterval(_0x4464ae, 1000);

ここでsetInterval を空に直接設定することはできません。setInterval をフックする必要があります。フック コードは次のとおりです。

setInterval = function (a,b){
    if(typeof a ==='string'){
        return Function(a)()
    }
    a()
}

setInterval がタイミング ループの実行を開始すると、プログラムは停止しないため、このコード ロジックは次のように記述する必要があります (関数は 1 回実行されます)。直接空白の場合、_0x4464ae 関数は実行されず、qz 変数は存在しません。 、そして別の段落があります コードが qz で判断すると、間違ったロジックに従います

画像-20230722223112808

4. Console.log出力の検出

eval の 1 つは次のコードを実行します

console = new Object()
console.log = function (s) {
    while (1){
        for(i=0;i<1100000;i++){
        history.pushState(0,0,i)
            }
    }

}
console.toString = '[object Object]'
console.log.toString = 'ƒ toString() { [native code] }'

このようにして、console.logメソッドを呼び出すと、大量の履歴レコードが追加され続けるため、ブラウザがフリーズし、呼び出し時に、console.dirそれが関数ではないことを示すプロンプトが表示されます。

解決策: プログラムの先頭でプリストアするconsole.log

MyConsole = console.log

環境を補う

この場合、次のコードを追加することで直接取得でき、最初のページで返されたコードを変更する必要はありません。

navigator = {
    vendorSub:''
}
MyConsole = console.log
document = {
    cookie:''
}
location = {
    reload:function(){}
}
delete global;
setInterval = function (a,b){
    if((typeof a)=='string'){
        return Function(a)()
    }
    a()
}

画像-20230722224607200

おすすめ

転載: blog.csdn.net/dzdzdzd12347/article/details/131877282