
Многопоточный инструмент для тестирования авторизации в веб-приложениях, который оценивает права пользователей путем проверки доступа по сессионным токенам к списку URL-адресов, выявляя потенциальные проблемы с нарушением контроля доступа.
SessionProbe — это многопоточный инструмент для пентеста, предназначенный для оценки привилегий пользователя в веб-приложениях. Он принимает токен сессии пользователя и проверяет список URL-адресов на предмет возможности доступа, выявляя потенциальные проблемы с авторизацией. SessionProbe дедуплицирует списки URL и предоставляет журналирование и отслеживание прогресса в реальном времени.
SessionProbe предназначен для использования с функцией «Copy URLs in this host» в Burp Suite на вкладке Target (доступна в бесплатной Community Edition).
Примечание: Возможно, вы захотите изменить фильтр на вкладке в , чтобы включить файлы или изображения. В противном случае эти не будут скопированы функцией «Copy URLs in this host» и не будут проверены .
TargetBurpURLSessionProbeСправка встроена!
sessionprobe --help — выводит справку.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>"
файл с URL.docker run -it --rm -v "$(pwd):/app/files" --name sessionprobe fw10/sessionprobe [flags]
файл с URL должен находиться в текущем каталоге, и ваш выходной файл также будет в этом каталоге.Burp listener на всех интерфейсах, если хотите использовать опцию --proxygo run .go builddocker build . -t fw10/sessionprobego test или go test -v (для более подробной информации).css, .js) с отображением длиныBurpResponses 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 находятся некоторые уже скомпилированные бинарные файлы, чтобы вам не пришлось собирать инструмент самостоятельнорелизов для Mac ваш Mac может выдать предупреждение ("невозможно открыть, так как он от неизвестного разработчика")
Настройка)Если вы нашли ошибку, пожалуйста, создайте Issue прямо здесь, на GitHub, и я постараюсь устранить её в разумные сроки.