0


JWT安全

cookie(放在浏览器)

  • cookie是一个非常具体的东西,指的就是浏览器里面能永久储存的一种数据,仅仅是浏览器实现的一种数据存储功能。
  • cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站会把该cookie发送给服务器。由于cookie是存在客户端上,所以浏览器加入一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的

session(放在服务器)

  • session从字面上讲,就是会话。这个就类似于你和一个人交谈,你怎么知道当前和你交谈的是张三而不是李四呢?对方肯定有某种特征(长相等)表明他就是张三。
  • session 也是类似的道理,服务器要知道当前发请求给自己的是谁。为了做这种区分,服务器就要给每个客户端分配不同的“身份标识”,然后客户端每次向服务器发请求的时候,都带上这个“身份标识”,服务器就知道这个请求来自于谁了。至于客户端怎么保存这个“身份标识”,可以有很多种方式,对于浏览器客户端,大家都默认采用 cookie 的方式。
  • 服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后session会被销毁。这种用户信息存储方式相对cookie来说更安全,可是session有一个缺陷:如果web服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session会丢失。

token

  • 在Web领域基于Token的身份验证随处可见。在大多数使用Web API的互联网公司中,tokens 是多用户下处理认证的最佳方式。
  • 以下几点特性会让你在程序中使用基于Token的身份验证 1. 无状态、可扩展2. 支持移动设备3. 跨程序调用4. 安全

jwt(json、web、token)

  • json是一种数据格式
  • JSON Web 令牌 - jwt.io
  • jwt格式> 在这里插入图片描述> jwt由三部分组成:头部(Header)、载荷(Payload)、签名(Signature)

头部

  • alg:是说明这个JWT的签名使用的算法的参数,常见值用HS256(默认),HS512等,也可以为None。HS256表示HMAC SHA256。 typ:说明这个token的类型为JWT

payload

在这里插入图片描述

实例演示

启动靶场

sudojava-jar webgoat-server-8.1.0.jar --server.port=8888--server.address=10.9.47.170

在这里插入图片描述
访问靶场地址注意大小写:10.9.47.170:8888/WebGoat
在这里插入图片描述
注册一个新的账号
在这里插入图片描述
然后我们找到JWT tokens
在这里插入图片描述

投票功能点,选择一个身份

在这里插入图片描述
当我们点击清空票数时显示只有admin用户可以清空所有票数
在这里插入图片描述
使用burp抓取数据包
在这里插入图片描述
使用jwt进行解码
在这里插入图片描述
将头部内容修改为none进行base64加密
在这里插入图片描述
载荷的admin修改为true也进行base64加密
在这里插入图片描述
因为经过修改所以签名已经无法使用,只需要复制头部和payload(payload后面的点不要忘记复制)
在这里插入图片描述
先将burp抓到的数据包发送到repeater模块,然后将内容覆盖
在这里插入图片描述
这时查看响应包可以看到说我们成功完成了任务在这里插入图片描述
回到网页可以看到投票被修改
在这里插入图片描述

购物功能点

在这里插入图片描述
这里官方给我们提供了一个日志
在这里插入图片描述
我们可以看一下日志内容,这串值就是jwt
在这里插入图片描述
将内容复制到jwt
在这里插入图片描述
我们可以修改exp的到期时间,接下来先看一下时间戳
在这里插入图片描述
我们要修改有效期到当前时间之后(根据你当前时间为准)
在这里插入图片描述
修改载荷内的exp然后进行base64加密
在这里插入图片描述
同时头部也需要修改为none
在这里插入图片描述
最后将新的头部和payload组合
在这里插入图片描述
使用burp进行抓包然后将数据发送到repeater
在这里插入图片描述
将伪造好的jwt复制到Authorizatio
在这里插入图片描述
发送数据包这时显示我们成功通过
在这里插入图片描述


本文转载自: https://blog.csdn.net/weixin_58155715/article/details/134863889
版权归原作者 Z99.Rabbit 所有, 如有侵权,请联系我们删除。

“JWT安全”的评论:

还没有评论