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

58 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Debugging Client Side JS
## Debugging Client Side JS
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
Η αποσφαλμάτωση του client side JS μπορεί να είναι δύσκολη, διότι κάθε φορά που αλλάζετε τη διεύθυνση URL (συμπεριλαμβανομένων των αλλαγών στις παραμέτρους ή τις τιμές παραμέτρων) πρέπει να **επαναφέρετε το breakpoint και να ανανεώσετε τη σελίδα**.
### `debugger;`
Αν τοποθετήσετε τη γραμμή `debugger;` μέσα σε ένα αρχείο JS, όταν ο **περιηγητής** εκτελεί το JS θα **σταματήσει** τον **αποσφαλματωτή** σε εκείνο το σημείο. Επομένως, ένας τρόπος για να ορίσετε σταθερά breakpoints θα ήταν να **κατεβάσετε όλα τα αρχεία τοπικά και να αλλάξετε τα breakpoints στον κώδικα JS**.
### Overrides
Οι παρακάμψεις του περιηγητή επιτρέπουν να έχετε μια τοπική αντίγραφο του κώδικα που πρόκειται να εκτελεστεί και να εκτελέσετε αυτό αντί για αυτό από τον απομακρυσμένο διακομιστή.\
Μπορείτε να **πρόσβαση στις παρακάμψεις** στο "Dev Tools" --> "Sources" --> "Overrides".
Πρέπει να **δημιουργήσετε έναν τοπικό κενό φάκελο για να χρησιμοποιηθεί για την αποθήκευση των παρακάμψεων**, οπότε απλά δημιουργήστε έναν νέο τοπικό φάκελο και ορίστε τον ως παράκαμψη σε αυτή τη σελίδα.
Στη συνέχεια, στο "Dev Tools" --> "Sources" **επιλέξτε το αρχείο** που θέλετε να παρακάμψετε και με **δεξί κλικ επιλέξτε "Save for overrides"**.
![](<../../.gitbook/assets/image (742).png>)
Αυτό θα **αντιγράψει το αρχείο JS τοπικά** και θα μπορείτε να **τροποποιήσετε αυτή την αντίγραφο στον περιηγητή**. Έτσι, απλά προσθέστε την εντολή **`debugger;`** όπου θέλετε, **αποθηκεύστε** την αλλαγή και **ανανεώστε** τη σελίδα, και κάθε φορά που αποκτάτε πρόσβαση σε αυτή τη διαδικτυακή σελίδα **η τοπική σας αντίγραφο JS θα φορτωθεί** και η εντολή αποσφαλμάτωσης θα διατηρηθεί στη θέση της:
![](<../../.gitbook/assets/image (594).png>)
## References
* [https://www.youtube.com/watch?v=BW\_-RCo9lo8\&t=1529s](https://www.youtube.com/watch?v=BW\_-RCo9lo8\&t=1529s)
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}