首页 > 其他分享 >6、CSRF漏洞管理

6、CSRF漏洞管理

时间:2023-05-23 14:13:52浏览次数:28  
标签:管理 过期 Token 漏洞 token 签名 CSRF msg

一、CSRF概念

  答:全称是Cross-site request forgery,跨站请求伪造,我们可以理解未这种漏洞为攻击者利用被攻击者的身份发起了某些被攻击者原本不知情的网络请求,包括以被攻击者的身份发布微博,留言等。CSRF能够发邮件,发消息,盗取账户,购买商品,虚拟货币转账等。

二、CSRF漏洞原理

    受害者----访问----->A网站,A网站提供了cookie后,受害者访问了黑客提供的网站H,其中网站H中JS代码提交请求。获取了受害者的A网站cookie。大致原理就是这样。

  此类漏洞产生需要特定的条件,受害者必须登录过网站,攻击者提供的恶意链接受害者必须打开了,网站除了验证cookie,没有特殊的验证方法。

三、如何防止CSRF产生 为了防止CSRF攻击,Token要求不能重复,需要含有时间戳信息、签名信息。 下面的图描述了一个token的数据构成: Token的数据结构。 token由三部分组成:   a). 消息[msg]:而msg本身也有两部分组成:一部分:随机字符串,过期时间戳。   b). 分割符[separator]:用于分隔msg部分与加密后生成的signature签名部分,这里用的是”.“   c). 签名[signature]:signature。signature签名,是对“msg消息”用特定算法进行加密后的串。   Token由被Base64的msg编码串+先256加密msg再进行Base64编码,两个串的内容结合。 2.Token的加密   首先,是按照合适的加密方法对数据进行加密。这里我们通用的就使用了sha256散列算法,然后进行BASE64的格式转换。然后,我们需要在token串中隐含过期时间的设定,这种机制要保证,每条    与服务器交互的Token有过期时间控制,一旦token过期服务器不处理请求。 3.Token的验证校验   当用户向服务提出访问请求时,产生Token再提交给服务器的时候,服务器需要判断token的有效性(是否过期,签名有效),一旦传向服务器的请求中的Token异常,就可以判定是可疑行为不做处理,  返回异常提示。 a. Token解包 先把接受到的token,进行分解,“.”为分隔符,分为msg部分+signature签名部分。 b. 比对签名 对msg部分的base64码反向decode_base64(msg)解码,在对解码后的msg明文,进行同样的encode_base64(sha256(msg))签名串转换处理。如果密锁相同,判断加密后的数据和客户端传过来的token.signature的部分是否一致。如果一致,说明这个token是有效的。 c. 判断时间过期 如果签名有效的,取出msg中的timestamp字段数据,与当前系统时间进行比较,如果过期时间小于当前时间,那这个token是过期的,需要重新的取得token。

标签:管理,过期,Token,漏洞,token,签名,CSRF,msg
From: https://www.cnblogs.com/zwj611/p/17425016.html

相关文章

  • 源代码管理工具GitHub介绍
    GitHub是一个基于Web的Git代码托管平台,该平台提供的服务包括代码托管、代码审查、协作、项目管理等,旨在帮助开发者更加方便地进行软件开发和协作。下面主要从GitHub主要页面功能和如何利用GitHub辅助完成团队项目两个方面进行简单的介绍。1.Git和GitHubGit和GitHub是两个东......
  • iOS UIView如何管理它的子视图
    didMoveToWindow 通知接收者它一斤给添加到窗口中 -(void)didMoveToWindow 讨论 默认实现不做任何事情;子类可以重写这个方法来做特殊的实现 窗口的属性有可能是nil当这个方法调用的时候,这表明接收者并不属于当然任何一个窗口。这个只发生在接收者从它的父视图上移......
  • Nginx 可视化神器!复杂配置一键生成,监控管理一条龙!
    功能说明nginxWebUI是一款图形化管理nginx配置的工具,可以使用网页来快速配置nginx的各项功能,包括http协议转发、tcp协议转发、反向代理、负载均衡、静态html服务器、ssl证书自动申请、续签、配置等。配置好后可一建生成nginx.conf文件,同时可控制nginx使用此文件进行启动与重载,完成......
  • 【CentOS 7系统管理员必看】如何轻松检测软中断,优化系统性能?
    在CentOS7中,软中断是一种中断类型,它由内核发起并在内核空间中执行,用于处理网络、存储和其他异步事件。软中断的主要工作是将网络数据包、磁盘IO等异步事件传递给应用程序的工作队列中,以便应用程序可以及时处理这些事件。然而,如果软中断的数量过多,就会对系统的性能产生负面影响,......
  • 5、请求伪造漏洞
    请求伪造漏洞:SSRF(服务器端请求伪造)、CSRF(跨站请求伪造)一、SSRF漏洞概念:攻击者构造形成由服务器端发起请求的一个安全漏洞,攻击目标是从外网无法访问的内部系统,可以对内外网或者本地进行端口扫描,某些情况下端口的Banner会回显出来(比如3306),使用file:///协议读取本地文件。首......
  • 基于JAVA的springboot+vue“智慧食堂”设计与实现,食堂管理系统,附源码+数据库+lw文档+P
    1、项目介绍本系统的用户可分为用户模块和管理员模块两大界面组成。一个界面用于管理员登录,管理员可以管理系统内所有功能,主要有首页,个人中心,用户管理,菜品分类管理,菜品信息管理,留言板管理,系统管理,订单管理等功能;另一界面用于用户登录,用户进入系统可以实现首页,菜品信息,留言板,个人......
  • 第六章 文件及文件系统 6.5 目录管理
    文件目录由文件说明索引组成的,用于文件检索的特殊文件。文件目录也是一种数据结构,用于标识系统中的文件及其物理地址,供检索时使用对目录管理的要求如下:(1)实现“按名存取”(2)提高对目录的检索速度 (3)文件共享(4)允许文件重名 文件目录的内容主要是文件访问的控制......
  • Linux安装包管理
    VMwareWorkstation网络模式使用桥接网络:相当于在物理机与虚拟机网卡之间架设了一座桥梁,从而可以通过网络主机的网卡访问外网。使用网络地址转换(NAT):让VM虚拟机的网络服务发挥路由器的作用,使得通过虚拟机软件模拟的主机可以通过物理主机访问外网;在物理机中对应的物理网卡是VMnet8......
  • 端口-协议-漏洞
    计算机网络七层模型中对应的协议应用层:用户接口(FTP、Telnet、SMTP、HTTP、RIP、NFS、DNS、SNMP)表示层:定义数据格式(JPEG、ASCLL、GIF、DES、MPEG)会话层:定义了开始、控制、结束一个会谈(RPC、SQL、NFS)传输层:差错恢复、数据包的重新排列(TCP、UDP、SPX)网络层:端到端的包定义(IP、IP......
  • 管理git项目:003
    首先我们得创建一个git管理仓库进入桌面路径,待会创建的文件可以在桌面找到cd.. 【创建git管理仓库】:创建一个.git管理仓库,这个文件被创建后是一个隐藏文件。这个.git文件的作用是:指定当前文件夹作为git管理仓库gitinit项目名 然后就可以把项目代码放到这个文件......