Как сохранить заголовки POST&GET веб-страницы с “Wireshark”?

Я пытался найти код Python, который вошел бы в систему моего почтового ящика на yahoo.com от "Google App Engine". Мне дали этот код:

import urllib, urllib2, cookielib

url = "https://login.yahoo.com/config/login?"
form_data = {'login' : 'my-login-here', 'passwd' : 'my-password-here'}

jar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
form_data = urllib.urlencode(form_data)
# data returned from this pages contains redirection
resp = opener.open(url, form_data)
# yahoo redirects to http://my.yahoo.com, so lets go there instead
resp = opener.open('http://mail.yahoo.com')
print resp.read()

Автор этого сценария изучил HTML-сценарий формы входа в систему Yahoo и придумал этот сценарий.

Та форма входа в систему содержит два поля, один для идентификатора Yahoo! пользователей, и другой для пароля пользователей.

Однако, когда я испытал этот код (заменяющий mu реальный вход в систему Yahoo 'my-login-here' и мой действительный пароль для 'my-password-here'), он просто возвращает форму входа в систему назад мне, что означает, что что-то не работало правильно.

Другой сторонник предложил, чтобы я отправил хеш MD5 своего пароля, а не простого пароля.

Он также отметил, что в той форме входа в систему существует много других скрытых полей помимо входа в систему и полей пароля (он назвал их "мерами защиты CSRF"), что я должен буду также иметь дело с:

<input type="hidden" name=".tries" value="1"> 
<input type="hidden" name=".src" value="ym"> 
<input type="hidden" name=".md5" value=""> 
<input type="hidden" name=".hash" value=""> 
<input type="hidden" name=".js" value=""> 
<input type="hidden" name=".last" value=""> 
<input type="hidden" name="promo" value=""> 
<input type="hidden" name=".intl" value="us"> 
<input type="hidden" name=".bypass" value=""> 
<input type="hidden" name=".partner" value=""> 
<input type="hidden" name=".u" value="bd5tdpd5rf2pg"> 
<input type="hidden" name=".v" value="0"> 
<input type="hidden" name=".challenge" value="5qUiIPGVFzRZ2BHhvtdGXoehfiOj"> 
<input type="hidden" name=".yplus" value=""> 
<input type="hidden" name=".emailCode" value=""> 
<input type="hidden" name="pkg" value=""> 
<input type="hidden" name="stepid" value=""> 
<input type="hidden" name=".ev" value=""> 
<input type="hidden" name="hasMsgr" value="0"> 
<input type="hidden" name=".chkP" value="Y"> 
<input type="hidden" name=".done" value="http://mail.yahoo.com"> 

Он сказал, что я должен сделать следующее:

  1. Моделируйте нормальный вход в систему и сохраните страницу входа в систему, которую я получаю;
  2. Сохраните заголовки POST&GET с "Wireshark";
  3. Сравните страницу входа в систему с теми заголовками и посмотрите, какие поля я должен включать со своим запросом;

Я действительно не знаю, как выполнить первые два из этих трех шагов. Я только что загрузил "Wireshark" и попытался получить некоторые пакеты там. Однако я не знаю, как "моделировать нормальный вход в систему и сохранить страницу входа в систему". Кроме того, я не делаю, как сохранить заголовки POST$GET с "Wireshark". Может кто-либо, ведет меня через эти два шага в "Wireshark"? Или, по крайней мере, скажите мне, с чего я должен запустить.Спасибо.

0
задан 09.04.2010, 02:00

2 ответа

Вам не нужен Wireshark для этого. Firebug совершенно способен к разрыванию запросов и ответов прямо из Firefox.

2
ответ дан 24.11.2019, 04:41

Когда Вас попросили

моделируйте нормальный вход в систему и сохраните страницу входа в систему

это было, запрос на Вас для входа в систему в Yahoo считает, как Вы будете обычно делать от веб-браузера и сохранять страницу.

Что касается HTTP переменные POST/получать и сохранение их, у меня нет опыта, но необходимо, вероятно, взглянуть на это, ТАК ответьте


Кажется, что Вы - OP для Q в ТАК-.-

1
ответ дан 24.11.2019, 04:41

Теги

Похожие вопросы