WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权

这篇具有很好参考价值的文章主要介绍了WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

知识点:
1、Java安全-Druid监控-未授权访问&信息泄漏
2、Java安全-Swagger接口-文档导入&联动批量测试
2、Java安全-JWT令牌攻防-空算法&未签名&密匙提取

一、演示案例-Java安全-Druid监控-未授权访问

参考:https://developer.aliyun.com/article/1260382
Druid是阿里巴巴数据库事业部出品,为监控而生的数据库连接池。Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控。当开发者配置不当时就可能造成未授权访问漏洞。

黑盒发现

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

白盒发现

在项目源码配置文件中搜索druid关键字
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

攻击点

1、直接拼接URL路径,尝试能否直接未授权访问系统功能点。
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
2、结合泄露URL路径和Session信息,利用BurpSuite进行尝试登录。
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
3、利用Cookie编辑器替换Session,再次访问后台路径尝试进入后台。

二、演示案例-Java安全-Swagger接口-导入&联动批量测试

Swagger就是将项目中所有(想要暴露的)接口展现在WEB页面上,并可以进行接口调用和调式的服务(一般都是用spring boot框架搭建该服务)

所以可以对这个接口进行漏洞测试,看是否存在未授权访问、sql注入、文件上传等漏洞。由于接口太多,一个个接口测试的话太费时间,所以一般会采用自动化接口漏洞安全测试。

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

黑盒发现

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

白盒发现

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

1、自动化发包测试

Postman:https://github.com/hlmd/Postman-cn
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
如果postman上有出现200的响应,那么就有可能是一个未授权接口

2、自动化漏洞测试

联动BurpSuite Xray
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
也可以在BP上看有没有200响应的数据包,也有可能会是一个未授权接口

bp联动xray
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

三、演示案例-Java安全-JWT令牌-空算法&未签名&密匙提取

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
JSON Web Token(JWT)。它遵循JSON格式,将用户信息加密到token里,服务器不保存任何用户信息,只保存密钥信息,通过使用特定加密算法验证token,通过token验证用户身份。基于token的身份验证可以替代传统的cookie+session身份验证方法。这使得JWT成为高度分布式网站的热门选择,在这些网站中,用户需要与多个后端服务器无缝交互。
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

JWT识别

1、标头(Header)

HeaderJWT的第一个部分,是一个JSON对象,主要声明了JWT的签名算法,如"HS256”、"RS256"等,以及其他可选参数,如"kid"、"jku"、"x5u"
alg字段通常用于表示加密采用的算法。如"HS256"、"RS256"等(HS对称加密、RS非对称加密)
typ字段通常用于表示类型
还有一些其他可选参数,如"kid"、"jku"、"x5u"

2、有效载荷(Payload)

PayloadJWT的第二个部分,这是一个JSON对象,主要承载了各种声明并传递明文数据,用于存储用户的信息,如id、用户名、角色、令牌生成时间和其他自定义声明。
iss:该字段表示jwt的签发者。
sub:该jwt面向的用户。
aud:jwt的接收方。
exp:jwt的过期时间,通常来说是一个时间戳。
iat:jwt的签发时间,常来说是一个时间戳。
jti:此jwt的唯一标识。通常用于解决请求中的重放攻击。该字段在大多数地方没有被提及或使用。因为使用此字段就意味着必须要在服务器维护一张jti表, 当客户端携带jwt访问的时候需要在jti表中查找这个唯一标识是否被使用过。使用这种方式防止重放攻击似乎让jwt有点怪怪的感觉, 毕竟jwt所宣称的优点就是无状态访问

3、签名(Signature)

Signature是对HeaderPayload进行签名,具体是用什么加密方式写在Header的alg 中。同时拥有该部分的JWT被称为JWS,也就是签了名的JWT。

第一部分:对 JSON 的头部做 base64 编码处理得到
第二部分:对 JSON 类型的 payload 做 base64 编码处理得到
第三部分:分别对头部和载荷做base64编码,并使用.拼接起来
使用头部声明的加密方式,对base64编码前两部分合并的结果加盐加密处理,作为JWT

4、人工识别

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

5、BURP插件识别

Hae(需要自己下载项目)

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

JSON Web Tokens(BP商店有,支持识别解析)

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

如何解析JWT数据?

1.JWT在线解析

https://jwt.io/
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

2.BP官方插件-JSON Web Tokens

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

JWT安全

1、空加密算法(攻击头部不使用加密)

签名算法可被修改为none,JWT支持将算法设定为"None"。如果"alg"字段设为"None",那么签名会被置空,这样任何token都是有效的。
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

2、未校验签名(攻击签名不使用签名认证)

某些服务端并未校验JWT签名,可以尝试修改payload后然后直接请求token或者直接删除signature再次请求查看其是否还有效。

3、暴力破解密钥(攻击签名知道密钥实现重组)

针对是对称加密算法(非对称没有用)
非对称要使用方法:从源码获取公钥私钥文件

某些签名算法,例如HS256(HMAC+SHA-256),会像密码一样使用一个任意的、独立的字符串作为秘密密钥。这个秘钥如被轻易猜到或暴力破解,则攻击者能以任意的头部和载荷值来创建JWT,然后用密钥重新给令牌签名。

4、其他安全参考:(源码泄漏密匙,Kid注入等)

https://blog.csdn.net/weixin_44288604/article/details/128562796

JWTCTF

JWT利用项目

https://github.com/ticarpi/jwt_tool

项目命令帮助
# 使用None算法
python3 jwt_tool.py JWT_HERE -X a

# 自定义修改生成
python3 jwt_tool.py JWT_HERE -T

# 使用字典破解
python3 jwt_tool.py JWT_HERE -C -d dictionary.txt

# 指定密码测试
python3 jwt_tool.py JWT_HERE -C -p password_here

Web345(None空加密算法)

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

Web346(None算法绕过签名)

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
解题思路:alg强制设置为none绕过签名
两种方法:

BP插件-JSON Web Tokens

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

JWT利用项目-jwt_tool

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

Web347(弱口令密钥获取)

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
JWT利用项目-jwt_tool
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
知道密匙之后肯定要重新生成JWT呀,如何重新生成?
使用 JWT在线解析:https://jwt.io/来重新生成
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

Web348(爆破密钥上题一样)

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

Web349(公钥私钥泄露)

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
这里可以使用专门的js ide打开相关源码文件,看的比较清楚
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
公钥私钥泄露,访问/private.key、/public.key得到公钥密钥
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
源码中私钥生成jwt,利用公钥解密jwt,只要有私钥就可以重新生成JWT
test.py

import jwt
public = open('private.key', 'r').read()
payload={"user":"admin"}
print(jwt.encode(payload, key=public, algorithm='RS256'))

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
注意源码中公匙解密的条件
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

Web350(密钥混淆攻击RS256=>HS256)

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
这里可以使用专门的js ide打开相关源码文件,看的比较清楚
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
RS256算法改为HS256(非对称密码算法=>对称密码算法)
HS256算法使用密钥为所有消息进行签名和验证。
而RS256算法则使用私钥对消息进行签名并使用公钥进行身份验证。
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
test.js

var jwt = require('jsonwebtoken');
var fs = require('fs');
var privateKey = fs.readFileSync('./public.key');
var token = jwt.sign({ user: 'admin' }, privateKey, { algorithm: 'HS256' });
console.log(token)

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid
WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权,# WEB安全篇,java,JWT,swagger,druid

黑盒JWT测试

首先找到需要JWT鉴权后才能访问的页面,如个人资料页面,将该请求包重放

测试:文章来源地址https://www.toymoban.com/news/detail-761862.html

1、未授权访问:删除Token后仍然可以正常响应对应页面

2、敏感信息泄露:通过在线平台JWt.io解密出Payload后查看其中是否包含敏感信息,如弱加密的密码等

3、破解密钥+越权访问:通过JWT.io解密出Payload部分内容,通过空加密算法或密钥爆破等方式实现重新签发Token并修改Payload部分内容,重放请求包,观察响应包是否能够越权查看其他用户资料

4、检查Token时效性:解密查看payload中是否有exp字段键值对(Token过期时间),等待过期时间后再次使用该Token发送请求,若正常响应则存在Token不过期

5、通过页面回显进行探测:如修改Payload中键值对后页面报错信息是否存在注入,payload中kid字段的目录遍历问题与sql注入问题

到了这里,关于WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 智安网络|攻防演练对抗:网络边界自动化防御的关键

    在当今高度互联的数字世界中,网络安全的重要性日益凸显。为了应对不断增长的网络威胁,组织和企业需要采取主动的防御策略,其中攻防演练对抗和自动化防御在保护网络边界方面扮演着重要的角色。本文将探讨攻防演练对抗的意义,并介绍如何通过自动化防御技术来增

    2024年02月11日
    浏览(45)
  • swagger 接口测试,用 python 写自动化时该如何处理?

    在使用Python进行Swagger接口测试时,可以使用requests库来发送HTTP请求,并使用json库和yaml库来处理响应数据。以下是一个简单的示例代码: 在以上代码中,我们首先通过Swagger API文档地址获取接口信息,包括请求方法、请求参数和请求头等信息。然后使用requests.get()方法发送G

    2024年02月10日
    浏览(39)
  • 如何使用蚂蚁集团自动化混沌工程 ChaosMeta 做 OceanBase 攻防演练?

    当前,业界主流的混沌工程项目基本只关注如何制造故障的问题,而经常做演练相关工作的工程师应该明白,每次演练时还会遇到以下痛点: 检测当前环境是否符合演练预设条件(演练准入); 业务流量是否满足(流量注入); 注入后判断故障效果是否符合预期(故障度量

    2024年02月09日
    浏览(37)
  • 【Java万花筒】代码安全护航:Java自动化测试与BDD

    在当今软件开发领域,自动化测试和行为驱动开发(BDD)已经成为确保软件质量和可维护性的不可或缺的一部分。Java开发者可以借助多种库和框架来实现自动化测试,并通过BDD方法更清晰地表达软件的行为规范。本文将深入探讨一些在Java环境中广泛使用的自动化测试和BDD库

    2024年01月22日
    浏览(41)
  • selenium-java web自动化测试工具抓取百度搜索结果实例

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! selenium-java web自动化测试工具抓取百度搜索结果实例 这种方式抓百度

    2024年03月14日
    浏览(65)
  • 软件测试——功能测试,使用Java,IDEA,Selenium进行web自动化测试

    视频地址:03-web元素定位ID_哔哩哔哩_bilibili p1.下载jdk,maven,idea p2.配置java-selenium环境正式开始: (1)创建代码: (2)第一次运行会报错:要下载东西  (3) Windows系统的输入如下:  (4)完成如下:(这个用的是Linux系统的) p3:web元素定位ID (1)先改一下之前的代码  (

    2024年02月08日
    浏览(80)
  • 自动化工具 WEB 自动化工具

    使用自动化测试框架编写用例的时候,维护元素信息以及脚本较为麻烦。对应新手来说,编写脚本的能力有限,使用工具会更容易入手。最重要的是可视化操作让我觉得体验舒服。 地址:hippo 账号:test 密码:A123456. 首次访问稍慢一些 已有 demo 例子,由于部署在服务器,只能

    2024年02月01日
    浏览(39)
  • Web自动化测试简介及web自动化测试实战交教程

    1.什么是自动化测试? 自动化测试的概念: 软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能

    2024年02月08日
    浏览(52)
  • 自动化测试 - Web自动化测试原理

    目前市面上有很多Web UI自动化测试框架,比如WatiN, Selinimu,WebDriver,还有VS2010中的Coded UI等等. 这些框架都可以操作Web中的控件,模拟用户输入,点击等操作,实现Web自动化测试。其实这些工具的原理都一样,都是通过调用IE COM接口和HTML DOM 对IE浏览器以及WEB测试对象的操作。

    2024年01月16日
    浏览(42)
  • 自动化测试之web自动化(Selenium)

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! yycnblog 自动化测试概念:让程序代替人为去验证程序功能的过程,本

    2024年03月15日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包