mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-16 14:08:26 +00:00
Translated ['network-services-pentesting/pentesting-web/code-review-tool
This commit is contained in:
parent
cbbd23c34f
commit
f396f07df3
1 changed files with 36 additions and 32 deletions
|
@ -1,15 +1,15 @@
|
|||
# Revue de code source / Outils SAST
|
||||
|
||||
{% hint style="success" %}
|
||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Apprenez et pratiquez le hacking AWS :<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Apprenez et pratiquez le hacking GCP : <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
|
@ -269,9 +269,9 @@ $ tar -xf insider_2.1.0_linux_x86_64.tar.gz
|
|||
$ chmod +x insider
|
||||
$ ./insider --tech javascript --target <projectfolder>
|
||||
```
|
||||
### [**DeepSource**](https://deepsource.com/pricing) 
|
||||
### [**DeepSource**](https://deepsource.com/pricing)
|
||||
|
||||
Gratuit pour les **dépôts publics**.
|
||||
Gratuit pour **les dépôts publics**.
|
||||
|
||||
## NodeJS
|
||||
|
||||
|
@ -281,7 +281,10 @@ Gratuit pour les **dépôts publics**.
|
|||
brew install yarn
|
||||
# Run
|
||||
cd /path/to/repo
|
||||
yarn audit
|
||||
yarn install
|
||||
yarn audit # In lower versions
|
||||
yarn npm audit # In 2+ versions
|
||||
|
||||
npm audit
|
||||
```
|
||||
* **`pnpm`**
|
||||
|
@ -290,6 +293,7 @@ npm audit
|
|||
npm install -g pnpm
|
||||
# Run
|
||||
cd /path/to/repo
|
||||
pnpm install
|
||||
pnpm audit
|
||||
```
|
||||
* [**nodejsscan**](https://github.com/ajinabraham/nodejsscan)**:** Analyseur de code de sécurité statique (SAST) pour les applications Node.js alimenté par [libsast](https://github.com/ajinabraham/libsast) et [semgrep](https://github.com/returntocorp/semgrep).
|
||||
|
@ -360,17 +364,17 @@ mkdir META-INF
|
|||
echo "Main-Class: test" > META-INF/MANIFEST.MF
|
||||
jar cmvf META-INF/MANIFEST.MF test.jar test.class
|
||||
```
|
||||
| Tâche | Commande |
|
||||
| --------------- | --------------------------------------------------------- |
|
||||
| Exécuter Jar | java -jar \[jar] |
|
||||
| Décompresser Jar| unzip -d \[répertoire de sortie] \[jar] |
|
||||
| Créer Jar | jar -cmf META-INF/MANIFEST.MF \[jar de sortie] \* |
|
||||
| Tâche | Commande |
|
||||
| --------------- | -------------------------------------------------------- |
|
||||
| Exécuter Jar | java -jar \[jar] |
|
||||
| Décompresser Jar| unzip -d \[répertoire de sortie] \[jar] |
|
||||
| Créer Jar | jar -cmf META-INF/MANIFEST.MF \[jar de sortie] \* |
|
||||
| Base64 SHA256 | sha256sum \[fichier] \| cut -d' ' -f1 \| xxd -r -p \| base64 |
|
||||
| Supprimer la signature | rm META-INF/_.SF META-INF/_.RSA META-INF/\*.DSA |
|
||||
| Supprimer du Jar | zip -d \[jar] \[fichier à supprimer] |
|
||||
| Décompiler la classe | procyon -o . \[chemin vers la classe] |
|
||||
| Décompiler Jar | procyon -jar \[jar] -o \[répertoire de sortie] |
|
||||
| Compiler la classe | javac \[chemin vers le fichier .java] |
|
||||
| Supprimer la signature | rm META-INF/_.SF META-INF/_.RSA META-INF/\*.DSA |
|
||||
| Supprimer du Jar | zip -d \[jar] \[fichier à supprimer] |
|
||||
| Décompiler la classe | procyon -o . \[chemin vers la classe] |
|
||||
| Décompiler Jar | procyon -jar \[jar] -o \[répertoire de sortie] |
|
||||
| Compiler la classe | javac \[chemin vers le fichier .java] |
|
||||
|
||||
## Aller
|
||||
```bash
|
||||
|
@ -413,7 +417,7 @@ https://github.com/securego/gosec
|
|||
|
||||
1. Trouver et utiliser des fichiers .map:
|
||||
* Si les fichiers .map sont exposés, ils peuvent être utilisés pour déobfusquer facilement.
|
||||
* Communément, foo.js.map correspond à foo.js. Cherchez-les manuellement.
|
||||
* En général, foo.js.map correspond à foo.js. Cherchez-les manuellement.
|
||||
* Utilisez [JS Miner](https://github.com/PortSwigger/js-miner) pour les rechercher.
|
||||
* Assurez-vous qu'un scan actif est effectué.
|
||||
* Lisez '[Conseils/Remarques](https://github.com/minamo7sen/burp-JS-Miner/wiki#tips--notes)'
|
||||
|
@ -423,30 +427,30 @@ https://github.com/securego/gosec
|
|||
* Conseils:
|
||||
* Si vous utilisez jsnice.org, cliquez sur le bouton d'options à côté du bouton "Nicify JavaScript", et désélectionnez "Infer types" pour réduire l'encombrement du code avec des commentaires.
|
||||
* Assurez-vous de ne laisser aucune ligne vide avant le script, car cela peut affecter le processus de déobfuscation et donner des résultats inexacts.
|
||||
4. Pour quelques alternatives plus modernes à JSNice, vous pourriez aimer regarder les suivantes:
|
||||
3. Pour quelques alternatives plus modernes à JSNice, vous pourriez aimer regarder les suivantes:
|
||||
|
||||
* [https://github.com/pionxzh/wakaru](https://github.com/pionxzh/wakaru)
|
||||
* > Décompilateur Javascript, outil de décompression et de dé-minification
|
||||
> Wakaru est le décompilateur Javascript pour le frontend moderne. Il ramène le code original d'une source empaquetée et transpilée.
|
||||
* > Outil de décompilation, décompression et dé-minification Javascript Wakaru est le décompilateur Javascript pour le frontend moderne. Il ramène le code original d'une source regroupée et transpilée.
|
||||
* [https://github.com/j4k0xb/webcrack](https://github.com/j4k0xb/webcrack)
|
||||
* > Déobfusquer obfuscator.io, dé-minifier et décompresser le javascript empaqueté
|
||||
* > Déobfusquer obfuscator.io, dé-minifier et décompresser le javascript regroupé
|
||||
* [https://github.com/jehna/humanify](https://github.com/jehna/humanify)
|
||||
* > Dé-minifier le code Javascript en utilisant ChatGPT
|
||||
> Cet outil utilise de grands modèles de langage (comme ChatGPT & llama2) et d'autres outils pour dé-minifier le code Javascript. Notez que les LLM ne réalisent aucun changement structurel – ils fournissent seulement des indices pour renommer des variables et des fonctions. Le travail lourd est effectué par Babel au niveau AST pour garantir que le code reste équivalent 1-1.
|
||||
* > Dé-minifier le code Javascript en utilisant ChatGPT Cet outil utilise de grands modèles de langage (comme ChatGPT & llama2) et d'autres outils pour dé-minifier le code Javascript. Notez que les LLM ne réalisent aucun changement structurel – ils fournissent seulement des indices pour renommer des variables et des fonctions. Le travail lourd est effectué par Babel au niveau AST pour garantir que le code reste équivalent 1-1.
|
||||
* [https://thejunkland.com/blog/using-llms-to-reverse-javascript-minification.html](https://thejunkland.com/blog/using-llms-to-reverse-javascript-minification.html)
|
||||
* > Utiliser des LLM pour inverser la minimisation des noms de variables JavaScript
|
||||
|
||||
3. Utilisez `console.log()`;
|
||||
* Trouvez la valeur de retour à la fin et changez-la en `console.log(<packerReturnVariable>);` afin que le js déobfusqué soit imprimé au lieu d'être exécuté.
|
||||
* Ensuite, collez le js modifié (et toujours obfusqué) dans [https://jsconsole.com/](https://jsconsole.com/) pour voir le js déobfusqué enregistré dans la console.
|
||||
* Enfin, collez la sortie déobfusquée dans [https://prettier.io/playground/](https://prettier.io/playground/) pour l'embellir pour l'analyse.
|
||||
* **Remarque**: Si vous voyez toujours du js empaqueté (mais différent), il peut être empaqueté de manière récursive. Répétez le processus.
|
||||
* **Remarque**: Si vous voyez encore du js empaqueté (mais différent), il peut être empaqueté de manière récursive. Répétez le processus.
|
||||
|
||||
#### Références
|
||||
|
||||
* [YouTube: DAST - Analyse Dynamique Javascript](https://www.youtube.com/watch?v=_v8r_t4v6hQ)
|
||||
* [YouTube: DAST - Analyse Dynamique Javascript](https://www.youtube.com/watch?v=\_v8r\_t4v6hQ)
|
||||
* [https://blog.nvisium.com/angular-for-pentesters-part-1](https://web.archive.org/web/20221226054137/https://blog.nvisium.com/angular-for-pentesters-part-1)
|
||||
* [https://blog.nvisium.com/angular-for-pentesters-part-2](https://web.archive.org/web/20230204012439/https://blog.nvisium.com/angular-for-pentesters-part-2)
|
||||
* [devalias](https://twitter.com/_devalias)'s [GitHub Gists](https://gist.github.com/0xdevalias):
|
||||
* [Déobfusquer / Dé-minifier le code d'application web obfusqué](https://gist.github.com/0xdevalias/d8b743efb82c0e9406fc69da0d6c6581#deobfuscating--unminifying-obfuscated-web-app-code)
|
||||
* [devalias](https://twitter.com/\_devalias)'s [GitHub Gists](https://gist.github.com/0xdevalias):
|
||||
* [Déobfuscation / Dé-minification du code d'application web obfusqué](https://gist.github.com/0xdevalias/d8b743efb82c0e9406fc69da0d6c6581#deobfuscating--unminifying-obfuscated-web-app-code)
|
||||
* [Ingénierie inverse des applications Webpack](https://gist.github.com/0xdevalias/8c621c5d09d780b1d321bfdb86d67cdd#reverse-engineering-webpack-apps)
|
||||
* [etc](https://gist.github.com/search?q=user:0xdevalias+javascript)
|
||||
|
||||
|
@ -462,16 +466,16 @@ https://github.com/securego/gosec
|
|||
* [https://github.com/jshint/jshint/](https://github.com/jshint/jshint/)
|
||||
|
||||
{% hint style="success" %}
|
||||
Apprenez & pratiquez le Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Apprenez & pratiquez le Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Apprenez et pratiquez le Hacking AWS:<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">\
|
||||
Apprenez et pratiquez le Hacking GCP: <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>Soutenir HackTricks</summary>
|
||||
|
||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
Loading…
Add table
Reference in a new issue