记录一次JWT的越权渗透测试

文章讲述了在OracleWebCenter系统中,由于SSO与JWT认证结合的不完善,导致了一个简单的越权漏洞。攻击者可以通过修改JWTtoken中的账户信息,绕过权限检查,实现对子业务系统的非法访问。修复方案包括加强authorizationToken的校验和对比用户信息的一致性。渗透测试时需仔细检查每个网络包,以发现潜在的安全问题。

简单介绍:

在一次某行动暂停之后,某单位重新对自身的业务进行了评估,系统业务使用SSO进行登录,而这个SSO登录后的子系统访问采用JWT进行认证,因此有了这一个漏洞的发生,漏洞利用较为简单,各位师傅请见谅。

Oracle WebCenter
 在这个业务中,登陆口的校验是采用Oracle WebCenter进行认证的,也就是说在系统最初的登录,流量是走到Oracle WebCenter中进行认证的。
  Oracle WebCenter是面向社交业务的用户参与平台。其上下文相关的协作工具可优化人员、信息和管理软件间连接,帮助员工更高效地协作,并可确保用户在其所处的业务流程环境下访问适当的信息。简单的来说它有点像一个简单的OA系统。

JWT
 JTW全程是Json Web Token,是目前最流行的跨域认证解决方案。之前遇到的JWT漏洞情况,可能大多数都是在一开始的登录验证下,通过修改token字段以三个点分割的BASE64字符串。
第一个字符串为JWT头,一般base64解码后长这样

{“kid”:”keys/3c3c2ea1c3f213f649dc9389dd71b851",”typ”:”JWT”,”alg”:”RS256"}  

第二个字符串为账户

{"sub":"admin"}  

第三个字符串为签名
签名一般不能直接用base64解出来,因为它可能常带有下划线,签名获取的过程稍微比较复杂,不过我们可以知道签名是为了防止数据被篡改,而签名使用的算法就是我们的哥字符串JWT头的Json字段alg。

大部分JWT常用的三种关于利用Token的攻击方式:未校验签名,禁用hash,爆破弱秘钥
此部分内容可以参考https://xz.aliyun.com/t/2338
其中,未校验签名的情况,我们可以直接修改的那个账户字符串,既

{"sub":"x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值