Как обращаться с безопасными файлами 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, эти куки просто никогда не будут установлены в сканере.
То, что вы видите в своем браузере, совершенно неуместно для исправления - это то, что гусеничный агент видит, получает и может сделать, это имеет значение.