Background

填玄武ssrfme的坑

原理

然后因为redis采用的resp协议的验证非常简洁,所以可以采用python模拟一个redis服务的交互,并且将备份的rdb数据库备份文件内容替换为恶意的so文件,然后就会自动在节点redis中生成exp.so,再用module load命令加载so文件即可完成rce,这就是前段时间非常火的基于主从复制的redisrce的原理

网鼎杯玄武SSRFMe

1C534BD6-1061-4279-B5B4-D05549839BF7.png
redis密码是root
需要的工具是
https://github.com/xmsec/redis-ssrf
https://github.com/n0b0dyCN/redis-rogue-server
下载即可
开启rogue-server.py 启动之后用于伪装为主redis,因为容易断开所以使用死循环跑
要加一个test.sh
内容为

while [ "1" = "1" ]
do
    python rogue-server.py
done

先用ssrf-redis生成gopher 然后在服务器建立主从,打过去即可
注意修改的点
CF4CA793-0BB2-4D38-BAAC-04CA7D4F0B4C.png
注意gopher要再进行编码一次 因为curl会两次解码
运行sh test.sh 打payload等着建立主从
打payload可以获得flag
rouge-server.py会接受完然后提示welldone

后记

在buu复现没成功,但是明白大致思路了,留下这种脚本