最新消息:20190717 VPS服务器:Vultr新加坡,WordPress主题:大前端D8,统一介绍入口:关于

【已解决】抓取网页以分析网站登录过程中,找不到某些Cookie是从哪里获得的

Web crifan 1212浏览 0评论

【背景】

在尝试用IE9的F12去分析百度空间的登录过程。

其中分析cookie的值,在登录https://passport.baidu.com/?login之前,是如何获得的。

并且,在分析登录过程之前,

当前处于页面:http://hi.baidu.com/motionhouse的前提下,自己已经在IE9的F12中去,:

已经清空了对应的cookie

Cache –>

Clear Browser cache for this domain

Clear session cookies

Clear cookies for domain

清空了对应的cache和cookie,但是接下来模拟先登录:

http://hi.baidu.com/motionhouse

再输入用户名和密码登录:

https://passport.baidu.com/?login

而抓取出来的cookie的值,却找不到在提交给https://passport.baidu.com/?login的POST请求之前,对应的两个cookie:

https://passport.baidu.com/?login

req:
Key    Value
Request    POST /?login HTTP/1.1
Accept    application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer    http://hi.baidu.com/motionhouse/home
Accept-Language    en-US
User-Agent    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)
Content-Type    application/x-www-form-urlencoded
Accept-Encoding    gzip, deflate
Host    passport.baidu.com
Content-Length    69
DNT    1
Connection    Keep-Alive
Cache-Control    no-cache
Cookie    STOKEN=facc3ea2ab53354fbd9f11bd11d9fec3; PTOKEN=f82c765b613c5db3fa2d68c430707994; BAIDUID=281AAFBF991AB8564E00CAA84EA93FA6:FG=1

STOKEN和PTOKEN是如何得来的。

(其中BAIDUID是知道的,是从第一次访问http://hi.baidu.com/motionhouse的返回值中,可以获得的)

【解决过程】

1.以为是在http://hi.baidu.com/motionhousehttps://passport.baidu.com/?login之前的某个网页的返回值中所得到的这两个cookie呢。结果搜了下,没找到。

2.又以为这两个cookie也是在javascript中用setcookie去添加出来的呢,但是结果在IE9的F12中搜了半天,也找不到对应的值。

3.后来突然想起来了,是不是对应的某个百度旗下的domain的cookie之前被保存过,但是上面的clear cookie没有清除掉而残留的?然后按照这个思路去IE的临时文件夹:

C:\Users\XXX\AppData\Local\Microsoft\Windows\Temporary Internet Files

下面找cookie,的确找到一个和百度相关的,domain是passport.baidu.com的cookie,其中就有对应的这两个cookie值:

STOKEN
a917493b0f88d8de7db37cd005e77004
passport.baidu.com/
1024
2684731392
31520448
1921955312
30210101
*
PTOKEN
0f62d500dba7b699eb21a4f63a8256d8
passport.baidu.com/
9216
2684731392
31520448
1921955312
30210101
*

【总结】

想要完整分析某个网页的登陆过程,涉及到其中的cookie的话,想要找到其来龙去脉的话,那么往往要清楚,你所模拟的网页的相关的domain的本地之前已经有的cookie,都要全部找到并适当处理(比如删除掉)等,然后才能完全从头开始分析是如何登陆该网站的。

 

【后记】

刚刚试了下,好像IE9的F12中去Clear cookies for domain,是无法删除IE临时文件夹中的对应的cookie的。

因为我试了,分析百度的https://passport.baidu.com的网页,然后去Clear cookies for domain,结果IE临时文件夹中对应的domain是passport.baidu.com的cookie,还是存在的,并没有被删除掉。

所以此处不太清楚,此“Clear cookies for domain”的功能,是不是有bug,还是只删除了内存中的对应的cookie,而没有把本地的cookie删除掉。

其中也注意到了IE临时文件夹中的passport.baidu.com的cookie,其expires时间是2030年,是没有过期:

没有过期的本地cookie 没被删除

是不是“Clear cookies for domain”的功能不会删除掉没有过期的cookie?如果是,那么也就没啥debug的用处了啊。如果不是,那么为何删除不掉本地的cookie?

真的是无语了。有待继续深入研究这个。暂时只能手动删除对应的cookie了。

转载请注明:在路上 » 【已解决】抓取网页以分析网站登录过程中,找不到某些Cookie是从哪里获得的

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
69 queries in 0.090 seconds, using 18.86MB memory