当前位置: 首页 > news >正文

东莞信科做网站化妆品网站优势

东莞信科做网站,化妆品网站优势,梧州本地网站,狼人最新网站文章目录 一、JWT (json web token)安全1. Cookie#xff08;放在浏览器#xff09;2. Session#xff08;放在服务器#xff09;3. Token4. JWT (json web token)4.1 头部4.1.1 alg4.1.2 typ 4.2 payload4.3 签名4.4 通信流程 5. 防御措施 二、漏洞实例#xff08;webgoa… 文章目录 一、JWT (json web token)安全1. Cookie放在浏览器2. Session放在服务器3. Token4. JWT (json web token)4.1 头部4.1.1 alg4.1.2 typ 4.2 payload4.3 签名4.4 通信流程 5. 防御措施 二、漏洞实例webgoat1. 第四关2. 第五关3. 第七关 一、JWT (json web token)安全 1. Cookie放在浏览器 ​ cookie由服务器生成发送给浏览器浏览器把cookie以kv形式保存到某个目录下的文本文件内下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的所以浏览器加入了一些限制确保cookie不会被恶意使用同时不会占据太多磁盘空间所以每个域的cookie数量是有限的 2. Session放在服务器 ​ session从字面上讲就是会话。这个就类似于你和一个人交谈你怎么知道当前和你交谈的是张三而不是李四呢对方带定有某种特征长相等表明他就是张三。 session也是类似的道理服务器要知道当前发请求给自己的是谁。为了做这种区分服务器就要给每个客户端分配不同的身份标识”然后客户端每次向服务器发请求的时候都带上这个“身份标识”服务器就知道这个请求来自于谁了。至于客户端怎么保存这个“身份标识”可以有很多种方式对于浏览器客户端大家都默认采用cookie的方式。 服务器使用session把用户的信息临时保存在了服务器上用户离开网站后session会被销毁。这种用户信息存储方式相对cookie来说更安全可是session有一个缺陷如果web服务器做了负载均衡那么下一个操作请求到了另一台服务器的时候session会丢失。 3. Token ​ 在Web领域基于Token的身份验证随处可见.在大多数使用Web API的互联网公司中tokens是多用户下处理认证的最佳方式。 ​ 以下几点特性会让你在程序中使用基于Token的身份验证 无状态、可扩展支持移动设备跨程序调用安全 4. JWT (json web token) JWT(JSON Web Token)由三部分组成头部(Header)、载荷(Payload)、签名(Signature:头部(Header):头部通常由两部分组成算法类型和令牌类型。算法类型指定用于生成签名的算法例如HMAC、RSA或者ECDSA。令牌类型指定令牌的类型常见的是JWT头部使用Base64Url编码表示并作为整个JwT的第一部分。头部的一个示例 { alg:Hs256,none #默认alg是未加密的加上none后不加密 typ:JwT }载荷(Payload):载荷存储了有关用户或实体的声明和其他有关信息。声明如用户ID、角色、权限等信息注册声明包含一些标准的声明比如发行人、过期时何等和一些自定义的声明。载荷也使用Base64Url编码表示并作为整个JWT的第二部分。载荷的一个示例 {sub: 1234567890,name: John Doe,iat: 1516239022 }签名Signature签名是对头部和载荷进行签名的结果用于验证 JWT 的完整性和真实性。签名生成方式将头部和载荷进行 Base64Url 编码后拼接在一起然后使用指定的加密算法如 HMAC、RSA进行签名将生成的签名添加到 JWT 中。4.1 头部 4.1.1 alg 是说明这个 JWT 的签名使用的算法的参数常见值用 HS256默认HS512 等也可以为 None。HS256 表示 HMAC SHA256。 4.1.2 typ 说明这个 token 的类型为 JWT 4.2 payload payload载荷就是存放有效信息的地方。这个名字像是特指飞机上承载的货品这些有效信息包含三个部分 标准中注册的声明公共的声明私有的声明 标准中注册的声明建议但不强制使用 issjwt签发者subjwt所面向的用户aud接收jwt的一方expjwt的过期时间这个过期时间必须要大于签发时间nbf定义在什么时间之前该jwt都是不可用的.iatjwt的签发时间jtijwt的唯一身份标识主要用来作为一次性token,从而回避重放攻击。 4.3 签名 服务器有一个不会发送给客户端的密码secret用头部中指定的算法对头部和声明的内容用此密码进行加密生成的字符串就是 JWT 的签名 4.4 通信流程 第一步使用用户名和密码进行登录 第二步服务器认证成功后创建一个加密的 JWT的cookie 第三步服务器返一个 JWT给浏览器 第四步浏览器发送 JWT给服务器 第五步服务器检查 JWT从JWT中获取用户信息 第六步服务器向客户端发送响应 5. 防御措施 使用强大的密钥和算法选择足够强大的加密算法和密钥长度如HMAC-SHA256或RSA-2048等。使用长而随机的密钥可以增加JWT的安全性并提高防止暴力破解和字典攻击的能力。令牌有效期限制设置合理的令牌过期时间。较短的过期时间可以减少令牌被滥用的风险。定期刷新和更新过期的令牌可以确保令牌的时效性和安全性。验证令牌签名和完整性在接收到JWT后验证令牌的签名和完整性以确保其真实性。检查签名时使用的密钥和算法必须与发放JWT的一方保持一致。避免在JWT中存储敏感信息尽量避免在JWT的载荷中存储敏感信息如密码、社会安全号码等。如果必须存储敏感信息应使用加密技术对其进行加密。加密敏感信息如果需要在JWT中传输敏感信息应使用加密算法对其进行加密。在加密前确保选择合适的加密算法并采取适当的密钥管理措施确保加密信息的安全性。HTTPS传输始终使用HTTPS来传输JWT以保护令牌在传输过程中的安全性。HTTPS提供了端到端的加密传输防止令牌被窃听或篡改。令牌刷新和撤销机制实施令牌刷新和撤销机制以应对丢失、泄露或被盗用的令牌。可以使用黑名单、短有效期令牌或存储令牌的数据库来实现这些机制。令牌审计和监控建立令牌审计和监控系统对令牌的使用进行监测和追踪。这有助于及时发现任何异常活动或未经授权的令牌使用。密钥安全管理安全地管理和存储用于签名和验证JWT的密钥。密钥应该存放在受保护的环境中访问权限应限制在必要的人员范围内。 二、漏洞实例webgoat 启动靶场 java -jar webgoat-server-8.1.0.jar --server.port8888 --server.address本机ip注意大小写 访问 127.0.0.1:8888/WebGoat1. 第四关 页面给出的要求是成为管理员并重置投票结果 点击小人像选择一个用户再点击删除键。然后使用bp抓包 获得 JWT eyJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE2OTU0NzI3OTYsImFkbWluIjoiZmFsc2UiLCJ1c2VyIjoiVG9tIn0.P0RGe6YEKWHBk22JJ3ug9kbWxcb97Ca8mLVV_EQza5AjvkVS6RsKRwitBqnx--WLRBdHbmwN_zPySBDK_MIKjw使用jwt.io解密 JWT 使用JSON校验格式化工具将修改过的 JWT 数据payload中admin 修改为 trueheader中加密方式修改为 none进行base64加密 修改payload内容并进行加密 修改过内容的payload经过base64加密的结果要在两点之间两点不可删除 注意不要删除或修改原有格式 修改header内容并进行加密 修改过内容的header经过base64加密的结果要在点之前点不可删除 因为头部的加密方式改为了none那么签名就没有意义了。舍弃签名将修改过的JWT复制到bp的数据包中。注意payload和签名之间的点不能丢弃 ewogICJhbGciOiAibm9uZSIKfQ.ewogICJpYXQiOiAxNjk1NDcyNzk2LAogICJhZG1pbiI6ICJ0cnVlIiwKICAidXNlciI6ICJUb20iCn0.2. 第五关 题目要求在给出的令牌中找到密钥改变用户为WebGoat并使用找到的密钥加密签名 在页面中点击F12选中给出的令牌 eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJXZWJHb2F0IFRva2VuIEJ1aWxkZXIiLCJhdWQiOiJ3ZWJnb2F0Lm9yZyIsImlhdCI6MTY5NDYxMzY3MSwiZXhwIjoxNjk0NjEzNzMxLCJzdWIiOiJ0b21Ad2ViZ29hdC5vcmciLCJ1c2VybmFtZSI6IlRvbSIsIkVtYWlsIjoidG9tQHdlYmdvYXQub3JnIiwiUm9sZSI6WyJNYW5hZ2VyIiwiUHJvamVjdCBBZG1pbmlzdHJhdG9yIl19.TMb4Of0VRzFWfyVtmpxCVpLIrrmKwnAPM-7juWw9_qA将令牌复制到jwt.io中解密 在Unix时间戳中修改 exp 有效时间 1694697596爆破密钥 将题目给出的令牌复制到桌面下的 jwt.txt 中并子啊桌面下创建密码字典 1.txt 内容包含victory 使用命令爆破密钥 hashcat -m 16500 jwt.txt -a 3 -w 3 1.txt#-m 16500 这里的 16500 对应的就是 jwt 的 token 爆破#-a 3 代表蛮力破解#-w 3 可以理解为高速破解就是会让桌面进程无响应的那种高速#jwt.txt 是我把题目要求破解的 token 保存到的文件#pass.txt 密码字典获得密钥victory 使用爆破出的密钥加密签名 将得出的结果提交 eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJXZWJHb2F0IFRva2VuIEJ1aWxkZXIiLCJhdWQiOiJ3ZWJnb2F0Lm9yZyIsImlhdCI6MTY5NDYwODEwNywiZXhwIjoxNjk0Njk3NTk2LCJzdWIiOiJ0b21Ad2ViZ29hdC5vcmciLCJ1c2VybmFtZSI6IldlYkdvYXQiLCJFbWFpbCI6InRvbUB3ZWJnb2F0Lm9yZyIsIlJvbGUiOlsiTWFuYWdlciIsIlByb2plY3QgQWRtaW5pc3RyYXRvciJdfQ.hsPDzQ945fDfLUcMzDUQViFTfohikcXicLFHovNdGNk3. 第七关 题目要求让tom付款 点击付款使用bp抓包 点击here获取日志从日志中获取jwt eyJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE1MjYxMzE0MTEsImV4cCI6MTUyNjIxNzgxMSwiYWRtaW4iOiJmYWxzZSIsInVzZXIiOiJUb20ifQ.DCoaq9zQkyDH25EcVWKcdbyVfUL4c9D4jRvsqOqvi9iAd4QuqmKcchfbU8FNzeBNF9tLeFXHZLU4yRkq-bjm7Q使用jwt.io解码 修改exp和加密方法 修改头中的加密方法 修改exp 因为加密方式为none那么签名就可以舍弃了 ewogICJhbGciOiAibm9uZSIKfQ.ewogICJpYXQiOiAxNTI2MTMxNDExLAogICJleHAiOiAxNjk0Njk3NTk2LAogICJhZG1pbiI6ICJmYWxzZSIsCiAgInVzZXIiOiAiVG9tIgp9.因为抓到的数据包中没有jwt的位置那么就可以在数据包中找一个位置存放jwt此数据包可放置在Authorization中 添加: 反序列化漏洞是因为链式调用 越权漏洞是因为凭证CookieSessionTokenJWT 现如今常见的都是越权和逻辑漏洞学习JWT就是为了攻击凭证越权 web漏洞只有一个入口http authzbp中验证越权的插件页面有误cookie大小和响应都相同的话就是说cookie无用存在越权
http://www.w-s-a.com/news/466762/

相关文章:

  • 查数据的权威网站silverlight 做的网站
  • 网站开发外包网站贵阳网站建设 网站制作
  • 官方微网站西安景观设计公司排行
  • 广州学做网站视频代做网站
  • 沈阳公司建站seo课程培训班
  • 杭州做微信网站软件公司网站建设毕业设计中期进度报告
  • 怎么做谷歌这样的网站如何建立一个网站放视频
  • 园区网站建设调研报告北京朝阳区哪里有网站开发
  • 网站角色权限wordpress 优化版
  • 购物网站ppt怎么做网络公司注册多少钱
  • 学做衣服上什么网站好贴吧高级搜索
  • 贵州 跨境电商网站建设做淘宝店铺有哪些好的网站
  • 广州正规网站制作公司网站搭建公司
  • ui设计零基础好学吗珠海网站建设优化推广
  • 网站开发多少费用火车头采集wordpress发布时间
  • 有没有做皮艺的网站教育培训网站建设ppt
  • 建设外贸商城网站制作如何建设景区旅游网站
  • 网站建设服务的具体条件怎么建设一个响应式网站
  • 做flash的网站wordpress设置前台投稿
  • 商务网站开发文档迅雷资源做下载网站
  • 无极磁铁网站如何把地图放到自己做的网站上
  • 青浦赵巷网站建设公司网站开发需求文档
  • 苏州网站建设的公司哪家好无锡网站制作那些
  • 装饰公司网站模板科技成果鉴定机构
  • 给公司做的东西放到私人网站上十堰为企业做网站的单位
  • 手机网站建设价钱手机自己做网站
  • 网站建设属于哪种公司电子商务查询网站
  • 工程建设标准强制性条文最新版本网站关键词排名优化应该怎么做
  • 网站网页设计内容品牌高端网站建设公司
  • 网站开发报价 福州中国建筑网官网手机版