Уведомления

Группа в Telegram: @pythonsu

#1 Июль 18, 2017 14:55:28

Mr.Anderson
Зарегистрирован: 2015-02-06
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Прошу помощи в разборе аутентификации VNC сервера.

Всем доброго дня. Пытаюсь разобрать с авторизацией на vnc сервере.
Вот код который имеется.
Код писался согласно порядку отснифаных пакетов через “Акулу”

 def check(ip, port):
    vnc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    vnc.connect((ip, int(port)))
    vnc_ver = vnc.recv(12) # Тут мы получаем версию vnc
    vnc.send(vnc_ver) # Тут мы шлем ее обратно
    vncres = vnc.recv(1024) # Тут получаем методы авторизации, которые поддерживает сервер
    print(vncres)
    vnc.send(b'\x02') # Шлем выбранный нами метод
    vncres = vnc.recv(1024) # тут я получаю такой вот шлак (b'\x0cB*\xe8\xf0c\x11ad\xb7\xe9\xf5\xafp\xd8\xd7'), каждый раз он разный. Вот только снифер мне на этом моменте показывает, как оказалось, это не MD5, а слитно-написанный hex
    print(vncres)
    vnc.send(b'1234') #А тут я должен отправить пароль.
    print(vnc.recv(1024))
check("181.220.204.10", "5900")

И так, вопросы. Как из этого (b'\x0cB*\xe8\xf0c\x11ad\xb7\xe9\xf5\xafp\xd8\xd7') получается hex код, и что это такое вообще?
За тем, как мне правильно отправить пароль?
Ибо сервер принимает, лишь данные подобные выше приведенным.

Отредактировано Mr.Anderson (Июль 18, 2017 18:20:41)

Офлайн

#2 Июль 18, 2017 16:18:36

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

Прошу помощи в разборе аутентификации VNC сервера.

Mr.Anderson
Как из этого (b'\x0cB*\xe8\xf0c\x11ad\xb7\xe9\xf5\xafp\xd8\xd7') получается MD5 хеш, и что это такое вообще?
  
>>> import hashlib
>>> 
>>> hashlib.md5(b'abc').hexdigest()
'900150983cd24fb0d6963f7d28e17f72'
>>> 
>>> hashlib.md5(b'abc').digest()
b'\x90\x01P\x98<\xd2O\xb0\xd6\x96?}(\xe1\x7fr'
>>>

Mr.Anderson
За тем, как мне правильно отправить пароль?
Пароли в открытом виде не отправляются сейчас. На сервер отправляется хеш пароля, сервер берёт хранящийся у него пароль, делает из него хеш и потом сравнивает пришедший хеш с получившимся.



Отредактировано py.user.next (Июль 18, 2017 16:22:12)

Офлайн

#3 Июль 18, 2017 18:00:26

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Прошу помощи в разборе аутентификации VNC сервера.

py.user.next
Пароли в открытом виде не отправляются сейчас. На сервер отправляется хеш пароля, сервер берёт хранящийся у него пароль, делает из него хеш и потом сравнивает пришедший хеш с получившимся.
Это где так?
Обычный <input type=“password”>, какой нафиг хеш?



Отредактировано FishHook (Июль 18, 2017 18:02:47)

Офлайн

#4 Июль 18, 2017 18:18:52

Mr.Anderson
Зарегистрирован: 2015-02-06
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Прошу помощи в разборе аутентификации VNC сервера.

FishHook
Вы видимо не много, не внимательно тему прочли. Тут разговор про VNC аутентификацию.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version