Μάθετε & εξασκηθείτε στο AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
Μπορείτε επίσης να χρησιμοποιήσετε την [**επέκταση semgrep για VSCode**](https://marketplace.visualstudio.com/items?itemName=Semgrep.semgrep) γιανα αποκτήσετε τα ευρήματα μέσα στο VSCode.
Υπάρχει μια **εγκαταστάσιμη δωρεάν έκδοση** αλλά σύμφωνα με την άδεια μπορείτε να**χρησιμοποιείτε μόνο τη δωρεάν έκδοση του codeQL σε έργα Ανοιχτού Κώδικα**.
Το πρώτο πράγμα που πρέπει να κάνετε είναι να**ετοιμάσετε τη βάση δεδομένων** (δημιουργήστε το δέντρο κώδικα) ώστε αργότερα οι ερωτήσεις να εκτελούνται πάνω σε αυτήν.
Αυτό **συνήθως θα προκαλέσει ένα σφάλμα** λέγοντας ότι έχει καθοριστεί περισσότερη από μία γλώσσα (ή ανιχνεύθηκε αυτόματα). **Ελέγξτε τις επόμενες επιλογές**γιανα το διορθώσετε!
* Μπορείτε να το κάνετε αυτό **χειροκίνητα υποδεικνύοντας** το **repo** και τη **γλώσσα** ([λίστα γλωσσών](https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis#running-codeql-database-create))
* Μπορείτε επίσης να επιτρέψετε στο `codeql`να**αναγνωρίσει όλες τις γλώσσες**για εσάς και να δημιουργήσει μια βάση δεδομένων ανά γλώσσα. Πρέπει να του δώσετε ένα **GITHUB\_TOKEN**.
Μπορείτε να οπτικοποιήσετε τα ευρήματα στο [**https://microsoft.github.io/sarif-web-component/**](https://microsoft.github.io/sarif-web-component/) ή χρησιμοποιώντας την επέκταση VSCode [**SARIF viewer**](https://marketplace.visualstudio.com/items?itemName=MS-SarifVSCode.sarif-viewer).
Μπορείτε επίσης να χρησιμοποιήσετε την [**επέκταση VSCode**](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-codeql) γιανα αποκτήσετε τα ευρήματα μέσα στο VSCode. Θα χρειαστεί να δημιουργήσετε μια βάση δεδομένων χειροκίνητα, αλλά στη συνέχεια μπορείτε να επιλέξετε οποιαδήποτε αρχεία και να κάνετε κλικ στο `Δεξί Κλικ` -> `CodeQL: Run Queries in Selected Files`
Μπορείτε επίσης να χρησιμοποιήσετε την [**snyk VSCode Extension**](https://marketplace.visualstudio.com/items?itemName=snyk-security.snyk-vulnerability-scanner) γιανα αποκτήσετε ευρήματα μέσα στο VSCode.
* [**nodejsscan**](https://github.com/ajinabraham/nodejsscan)**:** Στατικός σαρωτής ασφαλείας κώδικα (SAST) για εφαρμογές Node.js που υποστηρίζεται από [libsast](https://github.com/ajinabraham/libsast) και [semgrep](https://github.com/returntocorp/semgrep).
* [**RetireJS**](https://github.com/RetireJS/retire.js)**:** Ο στόχος του Retire.js είναι να σας βοηθήσει να ανιχνεύσετε τη χρήση εκδόσεων βιβλιοθηκών JS με γνωστές ευπάθειες.
* [**electronegativity**](https://github.com/doyensec/electronegativity)**:** Είναι ένα εργαλείο για την αναγνώριση κακών ρυθμίσεων και προτύπων ασφαλείας σε εφαρμογές βασισμένες σε Electron.
* [**Bandit**](https://github.com/PyCQA/bandit)**:** Ο Bandit είναι ένα εργαλείο σχεδιασμένο γιανα βρίσκει κοινά ζητήματα ασφαλείας στον κώδικα Python. Για να το κάνει αυτό, ο Bandit επεξεργάζεται κάθε αρχείο, δημιουργεί ένα AST από αυτό και εκτελεί κατάλληλα πρόσθετα στους κόμβους του AST. Μόλις ο Bandit ολοκληρώσει τη σάρωση όλων των αρχείων, δημιουργεί μια αναφορά.
* [**safety**](https://github.com/pyupio/safety): Το Safety ελέγχει τις εξαρτήσεις Python για γνωστές ευπάθειες ασφαλείας και προτείνει τις κατάλληλες διορθώσεις για τις ευπάθειες που ανιχνεύονται. Το Safety μπορεί να εκτελείται σε μηχανές προγραμματιστών, σε CI/CD pipelines και σε παραγωγικά συστήματα.
[Psalm](https://phpmagazine.net/2018/12/find-errors-in-your-php-applications-with-psalm.html) και [PHPStan](https://phpmagazine.net/2020/09/phpstan-pro-edition-launched.html).
*Αν χρησιμοποιείτε jsnice.org, κάντε κλικ στο κουμπί επιλογών δίπλα στο κουμπί "Nicify JavaScript" και αποεπιλέξτε "Infer types" γιανα μειώσετε την ακαταστασία στον κώδικα με σχόλια.
* Βεβαιωθείτε ότι δεν αφήνετε κενές γραμμές πριν από το script, καθώς μπορεί να επηρεάσει τη διαδικασία αποσυμπίεσης και να δώσει ανακριβή αποτελέσματα.
4. Για μερικές πιο σύγχρονες εναλλακτικές στο JSNice, μπορείτε να δείτε τα εξής:
> Αυτό το εργαλείο χρησιμοποιεί μεγάλα γλωσσικά μοντέλα (όπως ChatGPT & llama2) και άλλα εργαλεία γιανα αποσυμπιέσει τον κώδικα Javascript. Σημειώστε ότι τα LLMs δεν εκτελούν καμία δομική αλλαγή – παρέχουν μόνο υποδείξεις για την μετονομασία μεταβλητών και συναρτήσεων. Η βαριά εργασία γίνεται από το Babel σε επίπεδο AST γιανα διασφαλιστεί ότι ο κώδικας παραμένει 1-1 ισοδύναμος.
* Βρείτε την τιμή επιστροφής στο τέλος και αλλάξτε την σε `console.log(<packerReturnVariable>);` ώστε ο αποσυμπιεσμένος js να εκτυπώνεται αντί να εκτελείται.
* Στη συνέχεια, επικολλήστε τον τροποποιημένο (και ακόμα αποσυμπιεσμένο) js στο [https://jsconsole.com/](https://jsconsole.com/) γιανα δείτε τον αποσυμπιεσμένο js να καταγράφεται στην κονσόλα.
* Τέλος, επικολλήστε την αποσυμπιεσμένη έξοδο στο [https://prettier.io/playground/](https://prettier.io/playground/) γιανα την ομορφύνετε για ανάλυση.
* **Σημείωση**: Αν εξακολουθείτε να βλέπετε συσκευασμένο (αλλά διαφορετικό) js, μπορεί να είναι αναδρομικά συσκευασμένο. Επαναλάβετε τη διαδικασία.
Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.