这题算是NepCTF中web赛道最简单的一题了。
相关知识点:
Shiro漏洞(Shiro vulnerability)是指Apache Shiro开源安全框架中的安全漏洞。Shiro是一个用于身份验证、授权、加密和会话管理的Java安全框架,用于保护应用程序免受恶意攻击。
目前已知的Shiro漏洞包括:
1. Session序列化漏洞:当Shiro使用默认的Java序列化机制对会话对象进行序列化时,攻击者可以通过精心构造的序列化数据来执行远程代码,从而获取应用程序的控制权。
2. RememberMe Cookie可预测性漏洞:在Shiro RememberMe功能中,如果攻击者能够预测RememberMe Cookie的值,就有可能通过重放攻击获取用户的身份认证信息。
Apache Shiro框架提供了记住我的功能(RemeberMe),用户登录成功后会生成经过加密并编码的cookie。cookie的key为RemeberMe,cookie的值是经过对相关信息进行序列化,然后使用了aes加密,最后在使用base64编码处理形成的。
在服务端接收cookie值时,可以按照base64解码,AES解密(此处需要公钥)的顺序,然后构造恶意反序列化语句触发反序列漏洞,获得远程控制权。
shiro已经有很多版本了。但是在1.2.4版本之前用的都是默认公钥,base64编码后的值为kPH+bIxk5D2deZiIxcaaaA==,可以很容易的构造出反序列化语句。在高版本的shiro框架中为了解决这个问题,采用了随机密钥的方式。
- 及时更新Shiro库版本:Shiro项目的开发团队会不断修复和更新代码中的漏洞,及时更新Shiro库版本可以确保应用程序具有最新的安全修复。
- 禁用不必要的Shiro功能:对于不需要的功能模块,可以禁用或者移除,以减少攻击面。
- 配置适当的安全策略:在Shiro的配置文件中,可以设置合适的安全策略来限制访问,例如密码强度策略、登录尝试次数限制等。
- 验证输入数据和用户身份:对于用户输入的数据和身份认证信息,进行严格的验证和过滤,以防止恶意输入和注入攻击。
现在说回到题目。做题步骤:
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
Track-魔方 | 200.00 | 0 | 2023-09-07 19:07:16 | 深度 100 普适 100 |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.
Track-魔方
发表于 2023-8-29
如果是同一场赛事的题目WP,建议放到一篇文章当中,并且金币奖励也将合并打赏结算。
评论列表
加载数据中...
Track-魔方
发表于 2023-9-7
金币奖励与文章 “NepCTF-独步天下-镜花水月” 放在一起打赏,期待同学能有更多的实战相关文章产出~
评论列表
加载数据中...