Digest auth — различия между версиями
Материал из InformationSecurity WIKI
Drakylar (обсуждение | вклад) (Новая страница: «Дайджест-аутентификация доступа ==Описание HTTP Authorization Header== '''username''' - юзернейм авторизо…») |
(нет различий)
|
Версия 16:21, 15 июня 2016
Дайджест-аутентификация доступа
Описание HTTP Authorization Header
username - юзернейм авторизованного пользователя
realm - сообщение (вероятнее всего содержимое страницы)
nonce -
uri - URI страницы авторизации
response -
opaque -
qop - метод вычисления. Может быть равен auth, auth-int или не определен.
nc -
cnonce -
Brutforce
Скрипт для брутфорса пароля зная куки:
############################################################################
method="GET"
uri = "/login.php"
username = "factoreal"
realm = "this page for admin only, go out now!"
nonce = "554aed8c0b2d8"
nc = "00000001"
cnonce = "d6d1a0a39a93b4c3"
qop = "auth"
response="d9b58c347f96195884ce27036f3c9546"
############################################################################
import hashlib
password = open('passwords.txt').read().splitlines()
h2 = hashlib.md5(method+":"+uri).hexdigest()
for i in range(len(password)):
h1 = hashlib.md5(username+":"+realm+":" + password[i]).hexdigest()
result = hashlib.md5(h1 + ":"+nonce+":"+nc+":"+cnonce+":"+qop+":" + h2).hexdigest()
if result == response:
print "[*] Password found: " + password[i]
exit()
Райтапы
ASIS Quals CTF 2015: Strange Authen