Как обращаться с безопасными файлами cookie с помощью веб-сканера

У меня есть несколько задач на сайте в php с использованием nginx, которые я пытаюсь автоматизировать. Я могу войти в систему, но последующие запросы к остальной части сайта не выполняются из-за большого количества файлов cookie, которые я не могу перехватить. Когда я беру заголовок ответа, его как будто и не существует. Все, что я получаю, это PHPSESSID а также SERVERIDи мне не хватает еще 5, хотя я вижу их в моих файлах cookie браузера. Я думаю, что только один из них используется в качестве постоянного маркера аутентификации. Я пытался использовать JSoup, java URL, а также lwp/mechanize в перл. Я должен быть в состоянии получить их, так как отрыжка была написана на Java.

http: REMOVED
POST /authenticate.php HTTP/1.1
Host: REMOVED
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.23)
Gecko/20110920 Firefox/3.6.23
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Proxy-Connection: keep-alive
Referer: REMOVED

Cookie: __utma=35782181.1596497020.1319574836.1319750878.1319821717.7; __utmv=35782181.|1=SignupDate=2011-OCT-24=1;uid="MTU5MTY4Ng==|1319649169|e4db70a9171742176a944f4fdc3613fd963b1b7e";username="dGVzdF9sb2dpbg==|1319649169|b82e24618b06d6b14d7ea64600c84a2d20c3de73"; defaultstat1=10; defaultstat3=10; SERVERID=ww4; PHPSESSID=53a7cd9acbb71ed7e7cc7be680e6c99c; __utmb=35782181.1.10.1319821717; __utmc=35782181; mode=full

Content-Type: application/x-www-form-urlencoded
Content-Length: 57
username=test_login&password=login123&btnLogin=Login
HTTP/1.0 302 Moved Temporarily
Server: nginx
Date: Fri, 28 Oct 2011 17:09:08 GMT
Content-Type: text/html
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: secret=99ba70c185973be0cd25e0f12dd1ea72; path=/
Location: REMOVED
X-Cache: MISS from REMOVED
Via: 1.0 REMOVED (http_scan/4.0.2.6.19)
Proxy-Connection: close

JSoup:

Connection.Response res = JSoup.connect(url)
     .data("username", username)
     .data("password", password)
     .method(Method.POST)
    .execute();

cookies[] = res.cookies();

cookies[] только содержит PHPSESSID а также SERVERID,

1 ответ

Решение

Файлы cookie в вашем образце - это файлы cookie веб-аналитики Google, и они устанавливаются с помощью Javascript. Если сканер, который вы пишете, не может выполнить Javascript, эти куки просто никогда не будут установлены в сканере.

То, что вы видите в своем браузере, совершенно неуместно для исправления - это то, что гусеничный агент видит, получает и может сделать, это имеет значение.

Другие вопросы по тегам