first commit
This commit is contained in:
parent
883dd76931
commit
2e22667181
17 changed files with 889 additions and 5 deletions
36
tools/api-fuzzer/README.md
Normal file
36
tools/api-fuzzer/README.md
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# api-fuzzer
|
||||
|
||||
Cartographie la surface d'API des trois hôtes preprod (Org, Api,
|
||||
Blogs) : codes de réponse par endpoint, verbes autorisés (via
|
||||
`OPTIONS` + en-tête `Allow`), fuites d'information dans les erreurs
|
||||
500.
|
||||
|
||||
## Principe
|
||||
|
||||
Lit une liste de chemins dans `endpoints.txt` (modifiable) et, pour
|
||||
**chaque hôte du périmètre** (`TARGET_BASE_URL` + `TARGET_ALLOWED_HOSTS`),
|
||||
émet `GET` puis `OPTIONS`. Journalise le code, la taille du corps et
|
||||
les verbes autorisés.
|
||||
|
||||
## Lancement
|
||||
|
||||
```bash
|
||||
./fuzz.sh
|
||||
# ou avec une liste d'endpoints personnalisée :
|
||||
./fuzz.sh targets.env mes-endpoints.txt
|
||||
```
|
||||
|
||||
## Sortie
|
||||
|
||||
- stdout : endpoints notables (200 accessible, 500 fuite possible).
|
||||
- `output/api-fuzz.log` : une ligne par test
|
||||
(`horodatage \t GET \t base \t code \t taille \t chemin`).
|
||||
|
||||
## Actions typiques
|
||||
|
||||
- Endpoint renvoyant 500 avec une stack trace → fuite d'info : activer
|
||||
`UseExceptionHandler` en prod, masquer les détails.
|
||||
- `OPTIONS` révèle `DELETE`/`PUT` sur une route qu'on croyait GET-only
|
||||
→ vérifier l'autorisation côté serveur (les verbes ne devraient pas
|
||||
dépendre que du routage).
|
||||
- Endpoint non documenté en 200 → inventorier et fermer si inutile.
|
||||
Loading…
Add table
Add a link
Reference in a new issue