WebGoat搭建和Yakit学习

news2024/12/26 11:26:49

环境搭建

jdk版本:openjdk version "17.0.5“

WebGoat版本:webgoat-server-8.1.0.jar

环境不同有很大可能不能搭建成功

运行命令:java -jar webgoat-server-8.1.0.jar --server.port=8888 --server.address=192.168.142.131 

搭建完成后浏览器访问

 完成注册后就可以开始使用

JWT

JWT详解

jwt即(json,web,token),因为配置不当很容易造成越权问题

JWT(JSON Web Token)由三部分组成:头部(Header)、载荷(Payload)、签名 (Signature)。

头部(Header):头部通常由两部分组成,算法类型和令牌类型。 算法类型:指定用于生成签名的算法,例如 HMAC、RSA 或者 ECDSA。 令牌类型:指定令牌的类型,常见的是 JWT。 头部使用 Base64Url 编码表示,并作为整个 JWT 的第一部分。头部的一个示例: { "alg": "HS256",none "typ": "JWT" }

载荷(Payload):载荷存储了有关用户或实体的声明和其他有关信息。 声明:如用户 ID、角色、权限等信息。 注册声明:包含一些标准的声明(比如发行人、过期时间等)和一些自定义的 声明。 载荷也使用 Base64Url 编码表示,并作为整个 JWT 的第二部分。载荷的一个示例: { "sub": "1234567890", "name": "John Doe", "iat": 1516239022 }

签名(Signature):签名是对头部和载荷进行签名的结果,用于验证 JWT 的完整 性和真实性。 签名生成方式:将头部和载荷进行 Base64Url 编码后拼接在一起,然后使 用指定的加密算法(如 HMAC、RSA)进行签名,将生成的签名添加到 JWT 中

JWT signing

这题的解题条件是重置投票,可是提示我们不是admin

抓包,这里我用了Yakit,bp其实也可以

将数据包发送到fuzz模块

上面的功能试了一下不太行,这里提供一个免费JWT解析网站  jwt.io

如图,这里jwt的格式是这样的,要修改一下 ,修改 payload 数据,admin 修改为 true,将加密方式修改为 none,因为数据是通过base64加密的,这里提供在线加密网站 Base64加密、解密-BeJSON.com

要注意,不要复制=号

如图

将payload复制到抓取的数据包替换即可

发送请求,结果又失败了,看了一下是忘记删除第三处的加密算法了,将点后面的删掉即可,不要把点也删了,成功通关

Refreshing a token

这题要让tom给我们付钱,点击here看到日志信息

点击购买,抓取数据包,发到fuzz模块

先把日志的token字段复制出来,很明显是jwt格式数据,中间两个点,拿去解密

eyJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE1MjYxMzE0MTEsImV4cCI6MTUyNjIxNzgxMSwiYWRtaW4iOiJmYWxzZSIsInVzZXIiOiJUb20ifQ.DCoaq9zQkyDH25EcVWKcdbyVfUL4c9D4jRvsqOqvi9iAd4QuqmKcchfbU8FNzeBNF9tLeFXHZLU4yRkq-bjm7Q

注意到有一个exp(expire),即过期时间

 鼠标悬在数字上,这个网站提示我们这个18年就过期了

直接修改时间,这个时间其实就是离某个时间过了多少秒

把payload复制到base64加密,剩下的步骤和前面没什么区别

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1017923.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SOLIDWORKS Composer位置关键帧的使用

SOLIDWORKS Composer是专业的SOLIDWORKS及3D文件处理的动画制作软件,作为SOLIDWORKS 产品线下的一个明星存在。 SOLIDWORKS Composer几乎可以处理任何SOLIDWORKS的模型文件并将之转化成可以动作的机械动画,可以引用在企业的网站、产品说明书以及工作指导…

卡尔曼滤波(Kalman Filter)原理浅析-数学理论推导-1

目录 前言数学理论推导1. 递归算法2. 数学基础结语参考 前言 最近项目需求涉及到目标跟踪部分,准备从 DeepSORT 多目标跟踪算法入手。DeepSORT 中涉及的内容有点多,以前也就对其进行了简单的了解,但是真正去做发现总是存在这样或者那样的困惑…

springboot和vue:一、cs/bs区别+maven介绍与其仓库配置

cs/bs的区别: ​​ C/S: 1.交互性强,具有安全访问模式,网络流量低,响应速度快, 2.因为客户端负责大多数业务逻辑和UI演示,所以也被称为胖客户端。 3.C/S结构的软件需要针对不同的操作系统开发…

QT之QML开发 锚点布局

QML中经常会用到锚点布局,本篇简单演示一下锚点布局的使用。 目录 1.锚点布局的说明 2.锚点布局三等分窗口 3.锚点布局拆分窗口 4.窗口拖动 5.完整代码 1.锚点布局的说明 2.锚点布局三等分窗口 main.qml import QtQuick 2.15 import QtQuick.Window 2.15 imp…

二叉树的具体原理及实现

文章目录 一.树的专业术语二.二叉树的原理三.常见的二叉树分类1.完全二叉树2.平衡二叉树3.二叉搜索树 四.二叉搜索树算法具体实现五.二叉搜索树具体实现代码 一.树的专业术语 首先先介绍树的专业术语 二.二叉树的原理 二叉搜索树(Binary Search Tree&#xff0c…

Java判断时间间隔来决定任务执行

数据库中的任务记录表的某条记录,状态一直无法变更,导致整个任务进程卡住,看了代码如下, 正常情况是要走到这个else里面,执行dockingGroup.setStatus(JobStatus.FAILED.getCode());将任务状态改为失败的 ,查…

Windows/Linux(命令、安装包和源码安装)平台各个版本QT详细安装教程

前言 本文章主要介绍了Windows/Linux平台下,QT4,QT5,QT6的安装步骤。为什么要把QT版本分开介绍呢,因为这三个版本,安装步骤都不一样。Windows平台,QT4的Qt Creator,QT库和编译器是分开的&#…

【奇思妙想】【节省磁盘空间】我有一些文件,我不想移动它们,但又想节省磁盘空间,该怎么做呢?

2023年9月17日,周日晚上 今天晚上整理电脑的磁盘空间时,无意间想到了这个事情 我有一个文件夹 这个文件夹里面有很多不常用的文件 但我不想把它们移走或删除,那我怎么才能从中节省磁盘空间呢? 很简单,把这些不常用的…

Maven常见面试题总结

Maven简介 Maven 是一个项目管理和整合工具。Maven 包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期管理系统(Project Lifecycle Management System),一个依赖管理系统(Dependency Management System)&#x…

JavaScript中的单线程(single-threaded)和异步编程的关系

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 单线程(Single-Threaded)与异步编程的关系⭐ 单线程的含义⭐ 阻塞与非阻塞⭐ 异步编程⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启…

RK3588 点亮imx586摄像头

一.硬件原理图 mipi摄像头硬件确认点: 1.供电:5V,2.8V,1.2V,1.8V,reset脚(硬拉3.3,上电的时候从低到高),pwron脚外接 3.3V。 2,时钟:MCLKOUT是2…

leetcode数组必刷题——二分查找、移除元素、有序数组的平方、长度最小的子数组、螺旋矩阵、螺旋矩阵 II

文章目录 二分查找移除元素有序数组的平方长度最小的子数组螺旋矩阵螺旋矩阵II 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标&#xff0…

Retentive Network: A Successor to Transformer for Large Language Models

论文链接: https://arxiv.org/pdf/2307.08621.pdf 代码链接: https://github.com/microsoft/unilm/tree/master/retnet 引言 transformer的问题就是计算成本太高 RetNet使“不可能三角形”成为可能,同时实现了训练并行性,良好…

VBA技术资料MF57:VBA_自动创建PowerPoint演示文稿

【分享成果,随喜正能量】会因为有情绪而烦闷,也因为没控制情绪而懊悔。莫道幽人一事无,闲中尽有静工夫。情绪就像水,宜疏不宜堵。学会控制情绪,不能把情绪看得过重,也不能一味遏制情绪的产生。倾听所有声音…

Linux 文件创建、查看

touch、cat、more命令 ①touch命令——创建文件 ②cat命令——查看文件内容全部显示 这是txt.txt文件内容 使用cat命令查看 ③more命令——查看文件内容支持翻页 在查看的过程中,通过空格翻页,通过q退出查看

Docker搭建ELK日志采集服务及Kibana可视化图表展示

架构 ES docker network create elkmkdir -p /opt/ELK/es/datachmod 777 /opt/ELK/esdocker run -d --name elasticsearch --net elk -p 9200:9200 -p 9300:9300 -e "discovery.typesingle-node" -v /opt/ELK/es/plugins:/usr/share/elasticsearch/plugins -v /opt/…

电商API的应用价值:淘宝1688京东API接口系列

API接口是一种软件应用程序,它充当两个不同软件应用程序之间的中介。它帮助不同的应用程序相互通信,共享数据,从而使用户能够完成不同的任务。API接口的用途非常广泛,下面是一些常见的用途: 数据共享:API接…

vue3-vant4-vite-pinia-axios-less学习日记

代码地址 GitHub:vue3-vant4-vite-pinia-axios-less 效果如图 1.首页为导航栏 2.绑定英雄页 3.注册页 4.英雄列表页 5.后面不截图了,没啥了 模块 1.vant4:按需引入组件样式文档 2.安装该vite-plugin-vue-setup-extend插件可以直接在…

基于SpringBoot的电影购票系统

基于SpringBootVue的电影购票系统、影视商城管理系统,前后端分离 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/Ecilpse、Navicat、Maven 【主要功能】 管理员:个人…

elasticsearch7-DSL查询与精准查询

个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…