Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 20, 2014 16:12:10

Wojaovlad
От: Минск
Зарегистрирован: 2014-04-16
Сообщения: 12
Репутация: +  0  -
Профиль   Адрес электронной почты  

Авторизация на сайте, java alert, Grab/Mechanize

Всем доброго дня.

Пытаюсь авторизироваться на сайте .
После авторизации java выводит alert:.

А вот mechanize выводит “HTTP Error 500: Internal Server Error”, grab выводит: “Bad Data.”

Код с использованием mechanize:

[code python]# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
from urllib2 import urlopen
import cookielib, shutil, os
from mechanize import Browser
br = Browser()
username = 'RULADEMO535853'
userpass = 'JbVzQ9Dg'
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_robots(False)
#br.find_control("foo").readonly = False # allow changing .value of control foo
#br.set_all_readonly(False) # allow changing the .value of all controls
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
br.open('https://www.autodata-online.net/onlineea/login/AutodataLogon.aspx')
br.select_form(nr=0)
br["ctl00$ContentPlaceHolder1$UsernameTextBox"] = username
br["ctl00$ContentPlaceHolder1$PasswordTextBox"] = userpass
response = br.submit(name='ctl00$ContentPlaceHolder1$SubmitBtn').read()
result_page = br.submit()
print "Успешно вошли как", username
print result_page

[/code]

Код c использованием grab, вместе с выводом (писал в отладчике):

[code python]>>> g.set_input('ctl00$ContentPlaceHolder1$UsernameTextBox', 'RULADEMO535853')
>>> g.set_input('ctl00$ContentPlaceHolder1$PasswordTextBox', 'JbVzQ9Dg')
>>> g.submit()
<grab.response.Response object at 0x151ebb0>
>>> print g.xpath_text('//title')
ERROR:root:Call to deprecated function xpath_text. Use grab.doc.select().text() instead.
ERROR:root:Call to deprecated function xpath_one. Use grab.doc.select().one() instead.
ERROR:root:Call to deprecated function xpath_list. Use grab.doc.select() instead.
Bad Data.
[/code]

После некоторых исследований, оказалось что не из-за аллерта. Вывел страничку, на которую меня кидает после сабмита:


Как побороть эту проблему?

Отредактировано Wojaovlad (Сен. 20, 2014 17:20:30)

Офлайн

#2 Сен. 20, 2014 18:11:03

Alen
Зарегистрирован: 2013-08-01
Сообщения: 373
Репутация: +  49  -
Профиль   Отправить e-mail  

Авторизация на сайте, java alert, Grab/Mechanize

Поздравляю, Вы нашли ошибку на сайте.

Wojaovlad
Как побороть эту проблему?

Написать администратору сайта об найденной уязвимости. Пускай примут меры, хотя бы debug-вывод в своём ASP.NET отключат.

Wojaovlad
После авторизации java выводит alert

Всё таки javascript и java это совершенно разные вещи.

Офлайн

#3 Сен. 25, 2014 09:21:30

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Авторизация на сайте, java alert, Grab/Mechanize

Обычно подобные ошибки вылазят, когда вы недостаточно хорошо эмулируете поведение браузера, смотрите логи браузера и граба и сравнивайте, проверяйте, что вы отправляете те же заголовки, тот же набор кукисов, те же post данные, проверяйте всё до каждой буквы.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version