WEB攻防【4】——JavaWeb项目/JWT身份攻击/组件安全/访问控制

一、知识点

1、Javaweb常见安全及代码逻辑

Javaweb的架构:

如何通过包查找到文件,通过URL对应源码的文件,或者通过源码文件对应URL地址。

2、目录遍历&身份验证&逻辑&JWT

Javaweb里面有身份认证的JWT的技术,python和php里面也出现,java中最多,跟在php中接触到的session和cookie差不多,是新的身份认证的方案。

3、访问控制&安全组件&越权&三方组件

javaweb的除了自身的代码逻辑漏洞,再一个就是第三方组件的漏洞,log4j等。

二、演示案例

1、JavaWeb-WebGoat8靶场搭建使用

WebGoat介绍

WebGoat是OWASP维护的,用于进行WEB漏洞测试和学习的JAVA应用程序。

#环境下载:

GitHub - WebGoat/WebGoat: WebGoat is a deliberately insecure application

下载之后需要JDK环境运行:

安装包:功能封装在jar包里面 需要查看的话就得反编译

#目录遍历:
2、安全问题-目录遍历&身份认证-JWT攻击

接收键名和键值 漏洞点在接收键名对应键值 是正确 但是如果自己构造不存在的键名 由于数据库没有 为null 也会显示正确。

就是看验证代码的逻辑是否正确

JWT 简介

JWT原理及常见攻击方式 - yokan - 博客园 (cnblogs.com)

JWT的全称是Json Web Token。它遵循JSON格式,将用户信息加密到token里,服务器不保存任何用户信息,只保存密钥信息,通过使用特定加密算法验证token,通过token验证用户身份。基于token的身份验证可以替代传统的cookie+session身份验证方法。python和java爱用这个技术

jwt由三个部分组成:header.payload.signature

可以解密 改为ture 但没有那么简单 header里面有加密方式 可以将加密方式设置为空 带三部分签名会涉及一些密匙的东西 不验证密匙的话 改为空加密方式就可行 如果要验证密匙空加密方式就不可行

1、算法改成none 就只有第一段和第二段,none不需要密匙所以没有第三段。

相关工具:c-jwt-cracker (爆破密匙)

知道密匙更改内容

3、安全问题-访问控制&安全组件-第三方组件

#身份认证键值逻辑:

使用键名键值进行对比验证错误

-JWT攻击:1、签名没验证空加密2、爆破密匙 3、KID利用https://www.cnblogs.com/vege/p/14468030.html

#访问控制

隐藏属性:前端页面的自慰限制显示

水平越权:同一级别用户权限的查看

相关推荐
用户9623779544813 小时前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机16 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机16 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户9623779544818 小时前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star18 小时前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户9623779544821 小时前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher3 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行6 天前
网络安全总结
安全·web安全
red1giant_star6 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透6 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全