我的WEB安全之路

Web黑客之界面操作劫持

Session和Cookie的相关引用了博主程序员cxuan的一篇博客

看完这篇 Session、Cookie、Token,和面试官扯皮就没问题了

原文链接:https://blog.csdn.net/qq_36894974/article/details/105322171

Session 是什么

客户端请求服务端,服务端会为这次请求开辟一块内存空间,这个对象便是 Session 对象,存储结构为 ConcurrentHashMap。Session 弥补了 HTTP 无状态特性,服务器可以利用 Session 存储客户端在同一个会话期间的一些操作记录。

Cookie是什么

HTTP 协议中的 Cookie 包括 Web Cookie 和浏览器 Cookie,它是服务器发送到 Web 浏览器的一小块数据。服务器发送到浏览器的 Cookie,浏览器会进行存储,并与下一个请求一起发送到服务器。通常,它用于判断两个请求是否来自于同一个浏览器,例如用户保持登录状态。

 

一、Cookie安全

        1.子域名Cookie机制

                Cookie的重要字段中,其中的domain字段,如果不指定domain的值,默认就是本域。

                例子:

                        a.foo.com为foo.com的子域名,那么a.foo.com域设置Cookie时,可以指定domain

                父域名,将其设置为foo.com。

                        那么这样带来的好处就是,可以在不同的子域共享Cookie,另外,这个机制不允许设置 Cookie的domain为下一级子域或其他外域。

        2.路径Cookie机制

                设置Cookie时,如果不指定path的值,默认就是目标页面的路径。

                (通过设置path不能防止重要的Cookie被盗取)。

        3.HttpOnly Cookie机制

                        HttpOnly是指在Http层面上传输的Cookie,当设置了HttpOnly标志后,客户端脚本就无法读写该Cookie,这样能有效防御XSS攻击获取Cookie。

                        但是,在Apache HTTP Server2.2x多个版本没有严格限制HTTP请求头信息超过LimitRequestFieldSize长度时,服务器返回400错误,并在返回信息中将

                出错的请求头内容输出(包含请求头里的HttpOnly Cookie),攻击者可以利用这个缺陷获取HttpOnly Cookie。

        4.Secure Cookie机制

                         Secure Cookie机制指的是设置了Secure标志的Cookie仅在HTTPS层面上安全传输,如果请求是HTTP的,就不会带上这个Cookie,这样能降低重要的Cookie被中间人截获

                的风险。

                        不过,Secure Cookie对于客户端脚本来说是可以读写的。可读写意味着Secure Cookie能被盗取,可写意味着能被篡改。

        5.本地Cookie与内存Cookie

                        内存Cookie:没有设置过期时间,随着浏览器的关闭而从内存中消失;

                        本地Cookie:设置了过期时间是未来的某个时间点,那么那样的Cookie就会以文本形式保存在操作系统本地,待过期时间到了才会消失。

                        采用本地Cookie的方式让用户在未来1个月、半年、永久等时间段内不需要进行登录操作。

                        并不是说内存Cookie就更安全,实际上,攻击者可以给内存Cookie加一个过期时间,使其变为本地Cookie。

        6.Cookie的P3P性质

                        HTTP响应头的P3P(Platform for Privacy Preferences Project)字段是W3C公布的一项隐私保护推荐标准。该字段用于标识是否允许目标网站的Cookie另一个域通过加

                载目标网站而设置或发送,仅IE执行了该策略。

                        将情形分为两类,分别是设置与发送:

                        1.设置Cookie

                                在IE下默认都是不允许第三方域设置的,除非foo域在响应的时候带上P3P字段,这样设置后,被加载的目标域的Cookie就可以被正常设置了。

                        2.发送Cookie

                                如果是内存Cookie,无所谓是否有P3P属性,就可以正常发送;

                                如果是本地Cookie,则这个Cookie必须拥有P3P属性;

二、界面操作劫持概述

                界面操作劫持攻击是一种基于视觉欺骗的Web会话劫持攻击,它通过在网页的可见输入控件上覆盖一个不可见的框 iframe,使得用户误以为在操作可见控件,而实际上用户的操

           做行为被其不可见的框所劫持,执行不可见框的恶意劫持代码,从而完成在用户不知情的情况下窃取敏感信息、篡改数据等攻击。分为三类

        1.点击劫持Clickj

总结:CSRF的基本概念和分类

内容来源自钟晨鸣,徐少培《前端黑客技术揭秘》

版权声明:玥玥 发表于 2021-08-05 22:00:50。
转载请注明:我的WEB安全之路 | 女黑客导航