XiaodiSec day021 Learn Note 小迪安全学习笔记

server/2024/11/14 8:34:20/

XiaodiSec day021 Learn Note 小迪安全学习笔记

记录得比较凌乱,不尽详细

javaweb

2024.01.30 0:11

知识点

javaWeb 相关
JWT
越权

开始

知识点 1

webgoat 在 github 中
8.22 版本

不会全讲,只是挑一部分

path traversal 第二关

上传到指定位置可以上传到根目录,防止默认目录中无代码执行权限

知识点 2

回答安全问题,如果数据库中没有键名则直接返回验证成功

知识点 3

JWT 令牌 身份验证

如何判断是否使用了 jwt
在 cookie 中观察 jwt 的三个组成部分 header, payload, signature
用.连接的三部分,每一段的格式为大小写和数字随机

请求的位置: Cookie: access_token = jwt 格式的串

判断方法
这种情况多发生 在用户有多种的情况下,如注册用户(用户状态有注册用户与未注册用户) 可以抓包判断

这种用户状态判断方式多在 java 或 python 中被应用,而 Php 中使用较少

jwt 在线解密,可以解密出加密前的内容

jwt 中,header 段中存储加密方式,payload 段中存储加密原始值,signature 段中存储签名(签名中有密钥)
如果开发者使用了空加密,那么就容易了

抓包后篡改,尝试使用空密钥的第三段,这种方法能否成功主要取决于目标服务器对空密钥加密的支持

此外,jwt 还有 kid 可选项,可造成任意文件执行,sql 注入等漏洞

jwt 还有更多内容,在 ctf 中也常考,后续课程中将介绍

隐藏属性

隐藏属性:response 中返回了敏感键值对,前端接收但是不在网页中显示
水平越权:篡改如键 userId 的值,尝试跳转到其他 userId 的用户中

知识点 4

易受攻击的组件

组件可以看成 js 等常用库,用来实现特定的功能,如 jquery

在 java 和 python 中比较常见

判断方法是直接看文件中的 import 文件,有官方库或第三方库

在搜索引擎中查找库的对应版本的漏洞

找 Poc

弹个计算器


http://www.ppmy.cn/server/11671.html

相关文章

浅谈如何学习微信小程序

这是一篇干巴巴的文章,有兴趣的可以继续往下阅读。本人毕业已经三年多了,从实习到现在接触了java、javascript、html、vue、MySQL、jquery、微信小程序等,经验也算是有一点,感觉不多,属于全栈开发吧,本次就…

NameError: name ‘init_detector’ is not defined

使用模型提取人体pose,遇到的问题记录。 1. 排查问题直接讲报错的地方拷贝在python中直接运行。 运行后提示: ModuleNotFoundError: No module named mmcv._ext 经过各种的地方去查找问题 github的issue Error in init_detector Issue #3354 ope…

美容预约小程序:简单三步,开启高效预约模式

在当今的数字化时代,一个小程序可以极大地提高美容院的效率和客户满意度。下面我们将详细说明如何通过以下步骤来搭建一个美容院预约小程序。 首先,你需要注册并登录到乔拓云网,这是 一个在线平台,可以帮助你快速创建并管理你的小…

统计数字.

对于给定的一个字符串,统计其中数字字符出现的次数。 类和函数接口定义: 设计一个类Solution,其中包含一个成员函数count_digits,其功能是统计传入的string类型参数中数字字符的个数并返回。 裁判测试程序样例: #inc…

Promise

Promise Promise 是异步编程的一种解决方案, 可以解决传统 Ajax 回调函数嵌套问题。 案例:模拟使用ajax连续发起两次请求 第一次请求monster.json获取到monster的id {"id": 1,"name": "黑山老妖" }第二次请求需要根据第一次获取到的…

需求开发的详细步骤

需求开发是软件开发生命周期中的关键阶段,它涉及从原始想法到明确、可实施的需求规格的全过程。以下为需求开发的详细步骤: 1. 需求识别与收集 用户调研 面对面访谈:与最终用户、业务专家进行深度交谈,了解他们的业务流程、痛点…

springboot整合mybatis-plus模版

1.创建springboot项目 Maven类型Lombok依赖Spring Web 依赖MySQL Driver依赖pom.xml&#xff1a;<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/…

FreeRTOS时间管理

FreeRTOS时间管理 主要要了解延时函数&#xff1a; 相对延时&#xff1a;指每次延时都是从执行函数vTaskDelay()开始&#xff0c;直到延时指定的时间结束。 绝对延时&#xff1a;指将整个任务的运行周期看成一个整体&#xff0c;适用于需要按照一定频率运行的任务。 函数 vTa…