Cookie简述:
- 个人理解
Cookie相当于通行证,可以作为用户的登陆凭证,有时限,会过期,短时间内不会改变。
- 百科词条
Cookie是一个保存在客户机中的简单的文本文件, 这个文件与特定的 Web 文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web 文档时这些信息可供该文档使用。
由于“Cookie”具有可以保存在客户机上的神奇特性, 因此它可以帮助我们实现记录用户个人信息的功能, 而这一切都不必使用复杂的CGI等程序。
- 组成
Cookie是一段不超过4KB的小型文本数据,由一个名称(Name)、一个值(Value)和其它几个用于控制Cookie有效期、安全性、使用范围的可选属性组成。其中 :
(1)Name/Value:设置Cookie的名称及相对应的值,对于认证Cookie,Value值包括Web服务器所提供的访问令牌。
(2)Expires属性:设置Cookie的生存期。
(3)Path属性:定义了Web站点上可以访问该Cookie的目录。
(4)Domain属性:指定了可以访问该 Cookie 的 Web 站点或域。
(5)Secure属性:指定是否使用HTTPS安全协议发送Cookie。
(6)HTTPOnly 属性 :用于防止客户端脚本通过document.cookie属性访问Cookie,有助于保护Cookie不被跨站脚本攻击窃取或篡改。
实验原理:
利用cookie作为登陆凭证的特性,进行测试。
- 使用账号密码登陆站点,此时就会产生一个cookie
- 拿到该cookie,重新打开该站点的登录页面的网页
- 将cookie填入数据包中,刷新页面
- 登录成功
实验过程:
以本校教务系统为例进行测试。
- 使用Chrome打开教务系统登录界面
- 输入账号密码成功登陆
- F12打开开发者工具,找到刚才的报文(没有可刷新页面)
- 查看请求报文的报文头,并复制cookie
- 使用Firefox打开新的教务系统登录页面
-
打开modherder,在请求头中插入cookie,并粘贴此前复制的cookie值
-
刷新页面,在没有填写账号密码的情况下,已经成功登陆
- F12打开开发者工具,找到请求报文,发现请求头中的cookie值就是此前插入的cookie
实验结束,成功利用cookie进行无验证登陆。
总结:
本次实验看起来危险性不高,但是当在结合ARP攻击或域名欺骗攻击,成功截获靶机数据包时,靶机用户的登陆cookie就会被盗取,从而实现无验证登陆,此时就很危险了。
(在进行QQ空间cookie登录时尚未成功)
QQ空间cookie:pgv_pvid=6414550060; pgv_pvi=3250139136; RK=H+LYxDPpRy; ptcz=65da5340a5560d57fe89709d7e9aae052c8b686654284ff07f7441ea11fdcb71; eas_sid=41l5S7w0D5a391X7Q2U9O8b2r8; o_cookie=1371489857; pac_uid=1_1371489857; ied_qq=o1371489857; ptui_loginuin=428857624; Loading=Yes; qz_screen=1536x864; QZ_FE_WEBP_SUPPORT=1; pgv_si=s7160432640; _qpsvr_localtk=0.9776907539158475; ptisp=cnc; 428857624_todaycount=-2; 428857624_totalcount=-2; pgv_info=ssid=s3925484028; cpu_performance_v8=13; uin=o0428857624; [email protected]; p_uin=o0428857624; pt4_token=5QHzpDFGiaoWw3J*AMkB41GpW5MDcDXkD6Din55EuUs_; p_skey=Apkg-reJof*Gftz53kAFo0I1LUA6JLWRIfWI1cvWGIE_ if-modified-since: Thu, 14 Nov 2019 04:47:15 GMT
(具体原因后续深究。)
学习总结,若有问题请指出。