hacktricks/pentesting-web/xss-cross-site-scripting/debugging-client-side-js.md

4.7 KiB
Raw Permalink Blame History

クライアントサイドJSのデバッグ

クライアントサイドJSのデバッグ

{% hint style="success" %} AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する: HackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポートする
{% endhint %}

クライアントサイドJSのデバッグは面倒なことがあります。なぜなら、URLを変更するたびに使用するパラメータやパラメータの値の変更を含むブレークポイントをリセットしてページを再読み込みする必要があるからです

debugger;

JSファイル内にdebugger;という行を置くと、ブラウザがJSを実行する際にその場所でデバッガ停止します。したがって、定常的なブレークポイントを設定する方法の一つは、すべてのファイルをローカルにダウンロードし、JSコード内にブレークポイントを設定することです

オーバーライド

ブラウザのオーバーライドを使用すると、実行されるコードのローカルコピーを持ち、リモートサーバーのものの代わりにそれを実行できます。
「Dev Tools」 --> 「Sources」 --> 「Overrides」でオーバーライドにアクセスできます。

オーバーライドを保存するために使用するローカルの空のフォルダーを作成する必要があります。新しいローカルフォルダーを作成し、そのページでオーバーライドとして設定してください。

次に、「Dev Tools」 --> 「Sources」でオーバーライドしたいファイルを選択し、右クリックして「Save for overrides」を選択します

これにより、JSファイルがローカルにコピーされブラウザ内でそのコピーを修正できるようになります。したがって、debugger;コマンドを任意の場所に追加し、変更を保存してページを再読み込みすると、毎回そのウェブページにアクセスするたびにローカルのJSコピーが読み込まれ、デバッガコマンドがその場所に保持されます:

参考文献

{% hint style="success" %} AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する: HackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポートする
{% endhint %}