521 高速マルチレイヤー応答 Cookie リバース + 高度に難読化されたコード

URL: aHR0cHM6Ly93d3cubWFmZW5nd28uY24vaS81Mzc2OTc4Lmh0bWw=

目次

声明 

この記事のすべてのコンテンツは学習とコミュニケーションのみを目的としており、他の目的ではありません。完全なコードは提供されていません。また、キャプチャされたパケット、機密性の高い URL、データ インターフェイスなどのコンテンツは感度が解除されており、無断で使用することは固く禁止されています。商業目的および違法目的、それ以外の場合、これによって生じるすべての結果は作者とは何の関係もありません。

本記事の無断転載、改変後の二次配布を禁止します 本記事で説明した技術の無断使用により生じたいかなる事故についても作者は責任を負いません 権利侵害等があった場合は作者に連絡して削除してくださいそれはすぐに!

序文

逆転の発想

詳細なプロセス

ステップ 1: 最初の __jsl_clearance_s パラメーターの値を取得する

コアステップ 2: 2 番目の __jsl_clearance_s パラメーターの値を取得する

ステップ 3: データを取得する

最後に、Python の実装を見てみましょう。とても簡単です (笑)、もっと練習しましょう

 要約する


声明 

この記事のすべてのコンテンツは学習とコミュニケーションのみを目的としており、他の目的ではありません。完全なコードは提供されていません。また、キャプチャされたパケット、機密性の高い URL、データ インターフェイスなどのコンテンツは感度が解除されており、無断で使用することは固く禁止されています。商業目的および違法目的、それ以外の場合、これによって生じるすべての結果は作者とは何の関係もありません。

本記事の無断転載、改変後の二次配布を禁止します 本記事で説明した技術の無断使用により生じたいかなる事故についても作者は責任を負いません 権利侵害等があった場合は作者に連絡して削除してくださいそれはすぐに!

序文

Speedup は、Zhichuangyu が立ち上げた Web サイト CDN 高速化および Web サイト セキュリティ保護プラットフォームです。

Accelerated の基本スタイルである 521 は明らかな特徴であり、このステータス コードは他ではほとんど見られません。

アクセラレーションは、Web サイトにアクセスするための 3 つのリクエストによって特徴付けられます。

  1. Web サイトへの最初のリクエスト、Web サイトから返される応答ステータス コードは 521、サーバーから返される Set-Cookie には jsluid_s パラメータが含まれ、応答データには難読化された JS コードが返されます。結果は __jsl_clearance_s の値です。 2 回目にリクエストを送信するには、これら 2 つの Cookie を保持する必要があります。
  2. Web サイトへの 2 番目のリクエストでは、Web サイトから返される応答ステータス コードは 521 で、返される応答は OB によって難読化された JS コードです。次のステップの後、__jsl_clearance_s が更新されます。
  3. Web サイトへの 3 番目のリクエストには、初めて返される jsluid_s と __jsl_clearance_s が含まれています。Web サイトから返される応答ステータス コードは 200 で、Web ページのコンテンツには正常にアクセスできます。

逆転の発想

前述したアクセラレーションの特性に従って、実際の HTML ページを取得するには、次の 3 つの手順を実行する必要があります。

  1. Web サイトへの最初のリクエストの場合、サーバーから返された Set-Cookie には jsluid_s パラメータが含まれており、取得した応答コンテンツを復号して最初の __jsl_clearance_s パラメータの値を取得します。
  2. Web サイトへの最初のリクエストで取得した Cookie 値を使用して Web サイトに再度アクセスし、取得した応答コンテンツの難読化を解除して 2 番目の __jsl_clearance_s パラメーターの値を取得します。
  3. Cookie と jsluid_s および __jsl_clearance_s パラメーターを使用して Web サイトに再度アクセスし、実際の HTML ページのコンテンツを取得して、データを収集します。

詳細なプロセス

ステップ 1: 最初の __jsl_clearance_s パラメーターの値を取得する

 初回訪問は通常のリクエストで、結果は難読化されたJSコードを返します この時、正規表現で抽出するか、切り出す必要があります ここでは作者が切り取って、eval関数で実行していますこのとき、2 番目のリクエストを送信するには __jsl_clearance_s が必要です。

data1 = response.text.split("cookie=")[1]
data2 = data1.split(';location')[0]
__jsl_clearance_s = execjs.eval(data2)

コアステップ 2: 2 番目の __jsl_clearance_s パラメーターの値を取得する

ここの js コードは動的に変更され、コードは OB によって難読化されており、コードの可読性が大幅に向上しているため、このプロセスはプロジェクト全体の核心です。現時点では、オンラインの難読化解除 Web サイトを見つけることができます。それを解決してみます (難読化解除 Web サイト) (あまり使いにくいかもしれません)、または難読化解除ツールを使用して少し難読化を解除してください (必要な場合は個人的に私に相談してください)。解決しないので、ブラウザにアクセスして 1 つずつ確認できます (もちろん、難読化を解除せずに難読化を元に戻すこともできます) 逆、不可逆、混乱を解決するのは無駄です、笑)

混乱が理解できない場合は、Cookie の最終的な割り当てがドキュメント内にあるため、ドキュメントを直接検索できます。

 

現時点で Cookie を取得したい場合は 2 つの解決策があります。1 つはコードを差し引くことであり、コード ロジックに注意深く従う必要があります。これはインターネット上のほとんどの人が実践していることでもあります。以下に私の方法を紹介します。コードは数百行とそれほど多くないので、差し引くのに数百行かかりますが、それをすべて差し引いた後、環境を直接補完するだけで十分です。以前の私のjs逆補完環境がスイスを超えているのを見た場合は、某不動産の4.0番某ギャラクシー証券のjsリバースサプリメント環境がスイスの5.0番を超えている、まだ某医薬品局を事件として扱っているのか、変える時が来た、ここは環境検査が少なすぎると感じるだろ う、それを補えば結果は得られます。

まずすべてを削除し、印刷しやすいように document.cookie を置き換えます。xxx は先頭に事前に定義されており、直接実行すると間違いなくエラーが報告されます。

これはクラシックな環境であり、4 つの主要な環境を一度に入力するだけです (詳しい導入については前のチュートリアルを参照してください)。これはブラウザに直接コピーでき、何も考える必要はありません。結果は setTimeout に入っていないことを示しています。単に外側に置くだけで済みます。

もう一度実行すると、結果も成功しました。演繹コードよりもはるかに使いやすいように感じますが、前提としてブラウザ モデルをよく理解する必要があります。このチュートリアルを見て、ブラウザ モデルを確認してください。データを定期的に抽出するか、単に切り取って Cookie に入れるか

ステップ 3: データを取得する

最後に、Python の実装を見てみましょう。とても簡単です (笑)、もっと練習しましょう

 要約する

1 今回のケースは、Accelerated Music のプロセスを見ていきます。Ruishu と同じレベルではないように感じますが、少し難しいです。結局のところ、コードの混乱は読み取りとデバッグに影響します。

2 セキュリティ上の理由から、この章では完全なプロセスは提供されておらず、デバッグ リンクも省略されており、一般的なアイデアのみが提供されています。具体的な詳細は復元する必要があり、デバッグもできると思います。

3 私の執筆レベルには限界があります。説明が適切でない場所や説明が間違っている場合は、コメント欄でアドバイスをいただき、一緒に進めてください。コードが必要な場合は、私のWeChat x484628143を追加してください

おすすめ

転載: blog.csdn.net/xmx_000/article/details/130333117