1、传统方法不能获取到完整的Cookie
在我们访问网站时,网站把用户数据保存在Cookie中,Cookie一般存放在用户浏览器的文件夹,具体存储方式,不同的浏览器不尽相同。怎样获得网站Cookie内容呢,只需要执行javascript脚本"document.cookie;"。这是大多数人的做法,发现它只能获取部份cookie。
2、httponly是什么Cookie
对比document.cookie和提交数据的http协议头,发现http协议头多出几项内容来,比如“BDUSS"。原来cookie有一个参数httponly,如果httponly=0,允许客户端读取和使用,也就是document.cookie读取到的内容,如果httponly=1时,只允许网站服务器读取和使用的cookie,本地不能获取这些cookie内容。但是聪明的你马上就会有想法,既然cookie保存在本地,总会有办法读取和使用的,只不过要费些周折。
3、保存网站Cookie
Cookie保存在本地电脑,为什么我们还要保存一次呢?因为Cookie只保存访问网站的一套Cookie,这里是把Cookie另存到一个特定的地方,同一个网站可以保存多套Cookie。然后每次从保存的Cookie中取出一套出来使用,从而达到切换Cookie目的。
首先在木头浏览器中打开网站,并登录一个帐号,这样就生成Cookie且被浏览器自动保存了。工具栏里有一个Cookie按钮,使用鼠标右键点击Cookie按钮,弹出快捷菜单,选择保存Cookie菜单项,给这一套Cookie取个名字,就把这个Cookie保存到一个特殊的列表里了。可以看到这里成功将httponly=1的Cookie导出到列表了。
4、管理Cookie的工具
打开设置菜单中的”Cookie管理“,弹出Cookie管理窗口,在这里可以添加Cookie保存到列表中、修改列表中的Cookie、删除列表中的Cookie。可添加多个网站的Cookie保存到列表中,同一网站也可以添加多个账号的Cookie。在这个窗口的所有操作不影响当前网页的Cookie。
5、手工一键切换Cookie
如果系统Cookie列表中保存有当前网站的Cookie,只需要点击浏览器工具栏中的Cookie按钮,就能切换Cookie;也可以右键点击这个按钮,会弹出选择菜单,可选择不同帐号的Cookie,达到一键切换帐号的目的。切换Cookie后,浏览器会自动刷新页面,使用Cookie生效。
6、自动切换Cookie
在浏览器的项目管理器中,新建一个模拟伪装的步骤,可以设置按顺序切换列表中的Cookie,或者随机使用列表中的Cookie。项目每次执行到这一步时,都能自动切换Cookie。
7、发送Http请求使用Cookie
在浏览器的项目管理器中新建一个http请求步骤,设定请求的网址和请求方式(Post或Get)。打开http协议头设置选项卡,添加cookie参数,可以选择参数为固定内容,直接输入Cookie的值;也可以从Excel或txt文件中读取Cookie内容,具体方法跟自动填表一样;还可以使用当前网页的Cookie或者从系统列表中调取Cookie。这里也能成功调取httponly=1的cookie值。
8、查看运行变量中的Cookie
点击项目管理器中的变量按钮,可以查看方案运行过程中产生的所有临时变量。选择Http请求,即可看到上一步项目执行过程中产生的变量,其中包括Cookie内容。复制Cookie内容保存到记事本查看,可以找到httponly=1的cookie。
9、调用和输出Cookie
在项目管理器中,新建一个脚本代码步骤,脚本功能为获取上一步看到的Cookie变量,并输出显示变量内容。与document.cookie不同的是,现在输出了httponly=1的cookie。