2021-长安杯-部分Web题解

soeasy

fastjson反序列化,正常打即可。

ezpy

比较有意思的一道题,登录框随意账号密码登录,进去访问的是/flag,但是提示你不是admin权限,看不了flag。

Cookie中有token字段,用的是jwt。

由于不知道secret,所以想到使用工具爆破一下。

工具地址:

https://github.com/brendan-rius/c-jwt-cracker

爆破得secret为:CTf4r

然后就去jwt.io构造,将权限从guest改成admin,替换token后发现也不行,页面没有显示flag,不过倒是显示了用户名,所以想到这里会不会用户名处存在SSTI漏洞,说干就干。

构造用户名为

1
{{2*2}}

页面显示用户名为4,所以说存在SSTI漏洞。Jinja2默认是Flask的模板引擎,直接构造可以命令执行的Payload,本以为很顺利,但是却卡在这里了,因为涉及命令执行的点都需要单引号或者双引号构造,但是这里只要一加上单双引号就会报错500。

想到使用chr()函数进行拼接也是可以的,但是这里却不行。

最终通过request.args.cmd将要执行的命令以参数传递进去,达到了命令执行的效果。

Payload

1
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoie3t1cmxfZm9yLl9fZ2xvYmFsc19fLm9zLnBvcGVuKHJlcXVlc3QuYXJncy5jbWQpLnJlYWQoKX19IiwicGFzc3dkIjoiMTIzIiwicm9sZSI6ImFkbWluIiwidWlkIjoiIn0.KWHbwpGOiRZvRZxbdibiqK5C636QHuVnhUHVz_CDYD0

Old But A Little New

上来一个Jboss,管理员登录框随手一输admin/admin,竟然进去了。。。

本来以为得有啥坑,结果。。。

将冰蝎shell打包成war部署拿shell。

asuka

题目提示,jboss不甘心…

然而,解法同Old But A Little New。

文章作者: Linuz
文章链接: https://linuz.me/2021/09/24/2021-CABCTF-Web-Writeup/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Linuz's Blog
敢不敢赏脸一次