声明:
この記事ではない違法な目的のために、利用するための研究学習のためです!
標的部位
aHR0cHM6Ly9hdXRoLmFsaXBheS5jb20vbG9naW4vaW5kZXguaHRt
今日のサイトには、よく知られている対象の支払サイトです、私は〜少し浮い感じます
暗号化されたパスワードを解読するためにここでの唯一の方法
要求分析
リクエストを見て、早期のブラウザはF12を開いて覚えて、口座番号、パスワードを入力し、ログインをクリックしてください
ここで間違ったパスワードが入力されていることに注意してください、私たちは要求パケットを参照してください支援します
ブラウザの開発者向けツールのインタフェースでは、開いて直接グローバル検索にもしくはCtrl + Shiftキー+ Fショートカット
場所のプライバシー
上記の検索キーワードパスワードによると=、私は、RSA暗号化に精通し、暗号化位置getPasswordにまでindex.jsファイルタイプを配置しました
マークされたブレークポイント、再発行要求、案の定後、ブレークポイントで停止!
復号化
1は、RSAの暗号化に関連するトピックについて話している前に、ここでのRSAは、直接コードを下にコピーするために関連することができます。我々は、返される最終結果である(2、I、t)は次のようにここで、n = e.alipayEncrypt本来の機能である、主getPasswordに暗号化機能を書き換えます!
function getPassword(t) {
var e = new s.RSA;
i = s.Base64.decode(this.options.TS)
e.setPublicKey(this.options.PK);
return e.alipayEncrypt(2, i, t);
私たちは、簡単にiと公開鍵の値を取得することができ、両方の値がハードコードされています
私はあなたが呼び出すようノードで、デコードされたBASE64の結果はまた、取得するための直接的なライブラリを持って後にパラメータの内側にある、のような、あなたはPythonでコードをバックルに行く必要はありません!
そして、復号化が成功したことをs.RSA関連するコードに補足し、コード控除の具体的な内容は、詳しく説明しません
詳細情報、してください私の公共の数字に焦点を当て、Pythonプログラミングと実際の戦闘