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

3.9 KiB

Debugging Client Side JS

Debugging Client Side JS

{% hint style="success" %} Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}

Il debugging del JS lato client può essere un problema perché ogni volta che cambi l'URL (incluso un cambiamento nei parametri utilizzati o nei valori dei parametri) devi ripristinare il breakpoint e ricaricare la pagina.

debugger;

Se posizioni la riga debugger; all'interno di un file JS, quando il browser esegue il JS si fermerà nel debugger in quel punto. Pertanto, un modo per impostare breakpoint costanti sarebbe scaricare tutti i file localmente e impostare breakpoint nel codice JS.

Overrides

Le sovrascritture del browser consentono di avere una copia locale del codice che verrà eseguito e di eseguire quella invece di quella del server remoto.
Puoi accedere alle sovrascritture in "Dev Tools" --> "Sources" --> "Overrides".

Devi creare una cartella locale vuota da utilizzare per memorizzare le sovrascritture, quindi crea semplicemente una nuova cartella locale e impostala come sovrascrittura in quella pagina.

Poi, in "Dev Tools" --> "Sources" seleziona il file che vuoi sovrascrivere e con clic destro seleziona "Save for overrides".

Questo copia il file JS localmente e sarai in grado di modificare quella copia nel browser. Quindi aggiungi semplicemente il comando debugger; dove vuoi, salva la modifica e ricarica la pagina, e ogni volta che accedi a quella pagina web la tua copia locale di JS verrà caricata e il tuo comando debugger mantenuto al suo posto:

References

{% hint style="success" %} Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}