
Outil de test d'autorisation web multi-thread qui évalue les privilèges utilisateur en vérifiant l'accès des jetons de session à travers une liste d'URLs, mettant en évidence les problèmes potentiels de contrôle d'accès défaillant.
SessionProbe est un outil de test de pénétration multi-threadé conçu pour aider à évaluer les privilèges des utilisateurs dans les applications web. Il prend le jeton de session d'un utilisateur et vérifie pour une liste d'URLs si l'accès est possible, mettant en évidence les problèmes d'autorisation potentiels. SessionProbe déduplique les listes d'URLs et fournit une journalisation en temps réel ainsi qu'un suivi de la progression.
SessionProbe est destiné à être utilisé avec la fonctionnalité "Copy URLs in this host" de Burp Suite dans l'onglet Target (disponible dans la Community Edition gratuite).
Remarque : Vous pouvez modifier le filtre dans l'onglet de pour inclure les fichiers ou les images. Sinon, ces ne seraient pas copiées par "Copy URLs in this host" et ne seraient pas testées par .
TargetBurpURLsSessionProbeL'aide est intégrée !
sessionprobe --help - affiche l'aide.Usage:
sessionprobe [flags]
Flags:
-u, --urls string file containing the URLs to be checked (required)
-H, --headers string HTTP headers to be used in the requests in the format "Key1:Value1;Key2:Value2;..."
-h, --help help for sessionprobe
--ignore-css ignore URLs ending with .css (default true)
--ignore-js ignore URLs ending with .js (default true)
-o, --out string output file (default "output.txt")
-p, --proxy string proxy URL (default: "")
-r, --filter-regex string exclude HTTP responses using a regex. Responses whose body matches this regex will not be part of the output.
-l, --filter-lengths string exclude HTTP responses by body length. You can specify lengths separated by commas (e.g., "123,456,789").
--skip-verification skip verification of SSL certificates (default false)
-t, --threads int number of threads (default 10)
--check-all Check POST, DELETE, PUT & PATCH methods (default false)
--check-delete Check DELETE method (default false)
--check-patch Check PATCH method (default false)
--check-post Check POST method (default false)
--check-put Check PUT method (default false)
Examples:
./sessionprobe -u ./urls.txt
./sessionprobe -u ./urls.txt --out ./unauthenticated-test.txt --threads 15
./sessionprobe -u ./urls.txt -H "Cookie: .AspNetCore.Cookies=<cookie>" -o ./output.txt
./sessionprobe -u ./urls.txt -H "Authorization: Bearer <token>" --proxy http://localhost:8080
./sessionprobe -u ./urls.txt -r "Page Not Found"
./sessionprobe -u ./urls.txt -H "Cookie: .AspNetCore.Cookies=<cookie>;Cookie: <another-cookie>=<another_value>"
fichier d'URLs.docker run -it --rm -v "$(pwd):/app/files" --name sessionprobe fw10/sessionprobe [flags]
fichier d'URLs doit se trouver dans le répertoire courant et que votre fichier de sortie y sera également créé.écouteur Burp sur toutes les interfaces si vous souhaitez utiliser l'option --proxy.go run .go builddocker build . -t fw10/sessionprobego test ou go test -v (pour plus de détails).css, .js), avec la longueurBurpResponses with Status Code: 200
https://example.com/<some-path> => Length: 12345
https://example.com/<some-path> => Length: 40
...
Responses with Status Code: 301
https://example.com/<some-path> => Length: 890
https://example.com/<some-path> => Length: 434
...
Responses with Status Code: 302
https://example.com/<some-path> => Length: 0
...
Responses with Status Code: 404
...
Responses with Status Code: 502
...
Releases contient des binaires déjà compilés pour vous, afin que vous n'ayez pas forcément à compiler l'outil vous-même.Mac, votre Mac peut afficher un avertissement ("cannot be opened because it is from an unidentified developer")
Configuration).Si vous trouvez un bug, veuillez créer un Issue ici même sur GitHub, et j'essaierai de le résoudre dans les meilleurs délais.