cookie欺骗

CSRF漏洞

蓝咒 提交于 2019-12-02 20:25:18
CSRF漏洞原理: CSRF是跨站请求伪造,不攻击网站服务器,而是冒充用户在站内的正常操作。通常由于服务端没有对请求头做严格过滤引起的。CSRF会造成密码重置,用户伪造等问题,可能引发严重后果。 我们知道,绝大多数网站是通过cookie等方式辨识用户身份,再予以授权的。所以要伪造用户的正常操作,最好的方法是通过XSS或链接欺骗等途径,让用户在本机(即拥有身份cookie的浏览器端)发起用户所不知道的请求。CSRF攻击会令用户在不知情的情况下攻击自己已经登录的系统。 CSRF攻击的目的是滥用基本的Web功能。如果该网站可以使服务器上的状态变化,如改变受害者的电子邮件地址或密码,或购买的东西,强迫受害人检索数据等等。CSRF攻击会修改目标状态。在这一过程中,受害者会代替攻击者执行这些攻击,攻击者中不会收到响应,受害者会代替攻击者执行这些攻击。   在跨站点请求伪造(CSRF)攻击中,攻击者经由用户的浏览器注入网络请求来破坏用户与网站的会话的完整性。浏览器的安全策略允许网站将HTTP请求发送到任何网络地址。此策略允许控制浏览器呈现的内容的攻击者使用此用户控制下的其他资源。   需要对页面参数做修改时,可以使用burpsuite生成的csrf poc,从而进行poc测试,测试完成之后一定要验证,浏览器执行了我们生成的poc测试,令数据产生变化。   csrf可以和XSS联系在一起

HTTP面试题都在这里

人盡茶涼 提交于 2019-12-02 18:41:15
浏览器输入url回车之后做了什么? ( URL解析 -> DNS查询 -> TCP连接 -> 处理请求 -> 接受响应 -> 渲染页面 ) 1、判断输入的是不是合法的url或关键字 2、浏览器查看缓存(浏览器缓存 -> 系统缓存 -> 路由器缓存),如果有则直接显示内容,没有则走第三步   3、发送http之前先域名解析,得到IP   4、浏览器想服务器发起TCP连接,建立TCP三次握手   5、握手成功后发送http请求,请求数据包   6、服务器收到请求会将数据返还给浏览器   7、浏览器收到HTTP响应,解码响应   8、浏览器请求获取嵌入在html中的资源   9、浏览器发送异步请求   10、页面全部渲染结束 http协议有哪几种请求方式? GET, POST , HEAD,OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。 GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器 POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。 PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。 HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。 DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。

HTTP消息头详解

混江龙づ霸主 提交于 2019-12-02 11:11:33
但凡搞WEB开发的人都离不开HTTP(超文本传输协议),而要了解HTTP,除了HTML本身以外,还有一部分不可忽视的就是HTTP消息头。做过Socket编程的人都知道,当我们设计一个通信协议时,“消息头/消息体”的分割方式是很常用的,消息头告诉对方这个消息是干什么的,消息体告诉对方怎么干。HTTP传输的消息也是这样规定的,每一个HTTP包都分为HTTP头和HTTP体两部分,后者是可选的,而前者是必须的。每当我们打开一个网页,在上面点击右键,选择“查看源文件”,这时看到的HTML代码就是HTTP的消息体,那么消息头又在哪呢?IE浏览器不让我们看到这部分,但我们可以通过截取数据包等方法看到它。下面就来看一个简单的例子: 首先制作一个非常简单的网页,它的内容只有一行: <html><body>hello world</body></html> 把它放到WEB服务器上,比如IIS,然后用IE浏览器请求这个页面( http://localhost:8080/simple.htm ),当我们请求这个页面时,浏览器实际做了以下四项工作: 1、解析我们输入的地址,从中分解出协议名、主机名、端口、对象路径等部分,对于我们的这个地址,解析得到的结果如下:   协议名:http   主机名:localhost   端口:8080   对象路径:/simple.htm 2、把以上部分结合本机自己的信息

session和cookie

那年仲夏 提交于 2019-12-02 07:02:27
https://www.cnblogs.com/nickjiang/p/9148136.html https://www.cnblogs.com/8023-CHD/p/11067141.html 一 .session和cookie产生的原因   HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。   会话(Session)跟踪:     会话,指用户登录网站后的一系列动作,比如浏览商品添加到购物车并购买。会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术 是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。 二·cookie 由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie 的工作原理。 Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态

web开发常见的鉴权方式

﹥>﹥吖頭↗ 提交于 2019-12-02 02:27:56
结合网上找的资料整理了一下,以下是web开发中常见的鉴权方法: 预备:一些基本的知识 RBAC (Role-Based Access Control)基于角色的权限访问控制 (参考下面①的连接) l 用户-角色-权限 的授权模型 : 一个用户拥有若干角色,每一个角色拥有若干权限 l 用户:一个个独立的账号 l 角色:一些权限的集合,是权限的载体(例如:"管理员"、”会员“、"普通用户") l 权限:权限通常是一组资源的集合。(例如:用户管理、保单管理、系统维护。角色和权限是多对多关系。) l 用户量大的时候,单独为一个用户授予角色比较繁琐,需增加 用户组, 可以对用户组内所有的用户统一分配角色,这样一来,用户拥有的所有权限,就是用户个人拥有的权限与该用户所在用户组拥有的权限之和。 l 各种资源的整合,我们在设计权限的时候会遇到多种类型的资源,例如页面元素的显示隐藏、文件的访问、按钮的操作权限等等 ACL 访问控制列表,是前几年盛行的一种权限设计, 它的核心在于用户直接和权限挂钩 。 RBAC的核心是用户只和角色关联,而角色代表对了权限,这样设计的优势在于使得对用户而言,只需角色即可以,而某角色可以拥有各种各样的权限并可继承。 ACL和RBAC相比缺点在于由于用户和权限直接挂钩,导致在授予时的复杂性,虽然可以利用组来简化这个复杂性,但仍然会导致系统不好理解

session和cookie的区别

怎甘沉沦 提交于 2019-12-02 00:13:57
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。 2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。 3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。 4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。 5、可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。 应用场景 登录网站,今输入用户名密码登录了,第二天再打开很多情况下就直接打开了。这个时候用到的一个机制就是cookie。 session一个场景是购物车,添加了商品之后客户端处可以知道添加了哪些商品,而服务器端如何判别呢,所以也需要存储一些信息就用到了session 来源: https://www.cnblogs.com/hao-edison/p/11722613.html

Session与Cookie的区别与联系

寵の児 提交于 2019-12-01 11:36:39
cookie 由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。为了解决这样的问题,我们就可以给客户端们颁发一个身份证吧,每人一个,无论谁访问都必须携带自己身份证。这样服务器就能从身份证上确认客户身份了。 Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response响应对象向客户端浏览器颁发一个Cookie。客户端浏览器会将Cookie保存起来。当浏览器再请求该网站时,浏览器会自动的把Cookie提交给服务器。服务器检查该Cookie,以此来辨认用户信息。服务器还可以根据需要修改Cookie的值。 Cookie的内容主要包括:名字,值,过期时间,路径和域。路径与域一起构成cookie的作用范围。若不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,Cookie就消失。 Cookie具有不可跨域名性,比如淘宝网给你的Cookie,你在请求京东的时候就不会带上这个Cookie。 Session 除了使用Cookie,Web应用程序中还经常使用Session来记录客户端状态。Session是服务器端使用的一种记录客户端状态的机制,使用上比Cookie简单一些,相应的也增加了服务器的存储压力。不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候

Session和Cookie的区别与联系

五迷三道 提交于 2019-12-01 10:20:22
Session和Cookie的区别与联系 1、无状态的HTTP协议: 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器 传送到客户端的浏览器。 HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。 这就意味着服务器无法从连接上跟踪会话 。 2、会话(Session)跟踪:   会话,指用户登录网站后的一系列动作,比如浏览商品添加到购物车并购买。会话(Session)跟踪是Web程序中常用的技术,用来 跟踪用户的整个会话 。常用的会话跟踪技术 是Cookie与Session。 Cookie通过在客户端记录信息确定用户身份 , Session通过 在服务器端记录信息确定用户身份 。 二. Cookie 什么是Cookie   Cookie意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。目前Cookie已经成为标准,所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie。 由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的

Session和Cookie的区别与联系

只谈情不闲聊 提交于 2019-12-01 04:38:29
Session和Cookie的区别与联系 一 . 概念理解 你可能有留意到当你浏览网页时,会有一些推送消息,大多数是你最近留意过的同类东西,比如你想买桌子,上淘宝搜了一下,结果连着几天会有各种各样的桌子的链接。这是因为 你浏览某个网页的时候,WEB 服务器会先送一些资料放在你的计算机上,类似于你打的文字,选的一些东西什么的,Cookie 会帮你都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie里的内容来判断使用者,送出特定的网页内容给你。 Cookie 的使用很普遍,许多有提供个人化服务的 网站,都是利用 Cookie来辨认使用者,以方便送出使用者量身定做的内容。 然而,cookie是什么呢?session又是什么? 先来了解几个概念。 1、无状态的HTTP协议: 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器 传送到客户端的浏览器。 HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。 这就意味着服务器无法从连接上跟踪会话 。 2、会话(Session)跟踪:   会话,指用户登录网站后的一系列动作

Django基础七之Ajax

时光毁灭记忆、已成空白 提交于 2019-12-01 02:54:23
Django基础七之Ajax 本节目录 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 Ajax文件上传 五 关于json 六 补充一个SweetAlert插件(了解) 七 同源策略与jsonp 八 cors 一 Ajax简介   1.简介     AJAX ( Asynchronous Javascript And XML )翻译成中文就是 “ 异步的 Javascript 和 XML” 。即使用 Javascript 语言与服务器进行异步交互,传输的数据为 XML (当然,传输的数据不只是 XML,现在更多使用json数据 )。     AJAX 不是新的编程语言,而是一种使用现有标准的新方法。     AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。( 这一特点给用户的感受是在不知不觉中完成请求和响应过程)     AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。       a.同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;       b.异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。   AJAX除了 异步 的特点外,还有一个就是: 浏览器页面 局部刷新 ;(