LINUX.ORG.RU

Авторизация на сайте ASP.NET с помощью curl и cookies. EventValidation

 , , , ,


0

1

Доброго времени, уважаемые разработчики!

Пишу bash-скрипт, который скачивает файл после авторизации на сайте, написанном на ASP.NET. Файл невозможно скачать без авторизации (в браузере переадресует на форму входа).

Использую curl, сохраняю cookie, но не получается авторизоваться из-за EventValidation.

На форме входа три рекурсивные переадресации, каждый раз устанавливается новая cookie: id сессии, язык и несколько непонятных false, true. Всё это записывается в cookie-файлы - сj, cj2... cj5.

В итоге ответ от сервера при обращении к https:// url.to/Login.aspx после рекурсивной установки всех кук - форма ввода логина и пароля, содержащая, кроме логина и пароля, также пару скрытых input - EventValidation. Я их успешно подставляю, но попадаю на страницу с ошибкой EventValidation.

При отправке формы авторизации выдается сообщение с ошибкой ClientScriptManager.RegisterForEventValidation

$ curl -L --cookie-jar cj5 --cookie cj4 -X POST 'https://url.to/Login.aspx' \
  -d "__VIEWSTATE=/wekukuHASHbigHASHthere=" \
  -d "__EVENTVALIDATION=/theSAMEthingsHEREhashMYhash==" \
  -d "login=znavko" \
  -d "passwdline=pips11"

<!DOCTYPE html PUBLIC...>
...
...
System.ArgumentException: Invalid postback or callback argument.
 Event validation is enabled using <pages enableEventValidation="true"/&gt in configuration
 or <%@ Page EnableEventValidation="true" %&gt in a page.  
For security purposes, this feature verifies that arguments to 
postback or callback events originate from the server control 
that originally rendered them.  If the data is valid and 
expected, use the ClientScriptManager.RegisterForEventValidation 
method in order to register the postback or callback data for validation.
...

Подскажите, как пройти эту EventValidation? В cookies я это отключить не могу, это на сайте включено, сайт чужой.

Правильно ли оставлять слеш и равно без экранирования?

★★

Последнее исправление: znavko (всего исправлений: 3)

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.