前言:
刚打完hvv就碰上这个比赛了,累的我根本不想看题目,一共就看了1个小时的题。最后一天的时候9分钟做了三题,做第四题的时候刚找到点就结束了。感觉难度中等还是挺不错的。
JavaSeri
描述:路由带上login.jsp
考点:shiro反序列化
打开界面一眼shiro(太幽默了)
直接拿工具一把梭
上马(其实这里直接执行env也行,flag在环境变量里)
哥斯拉连接
env拿flag
RevengeGooGooVVVY
描述:稍微模拟一下real环境。题目不出网,没有给出完整jar,请根据题目环境和信息思考附件关联性并进行进一步探索。 有人指示我来复仇了 好想成为人类🐧🐧🐧好想成为人类🐧🐧🐧好想成为人类🐧🐧🐧好想成为人类🐧🐧🐧好想成为人类🐧🐧🐧好想成为人类🐧🐧🐧好想成为人类🐧🐧🐧好想成为人类🐧🐧🐧好想成为人类🐧🐧🐧好想成为人类🐧🐧🐧
考点:Groovy命令注入
直接网上搜payload直接Java沙盒绕过执行
1 | java.lang.Math.class.forName("java.lang.Runtime").getRuntime().exec("env").getText() |
easyGooGooVVVY
描述:高松灯是一名java安全初学者,最近她在看groovy表达式注入。。。
考点:Groovy命令注入
先打的复仇再打基础的,直接一样的payload执行
1 | java.lang.Math.class.forName("java.lang.Runtime").getRuntime().exec("env").getText() |
safe_bank
描述:欢迎来到全世界最安全的银行系统!我们采用了最先进的安保系统来保护您的账户。但最近有传言说,即使是最安全的系统也可能存在漏洞。你能绕过我们的安全措施,进入金库获取宝藏吗?
考点:
刚进去发现可以注册,随便注册一个号登录看看
发现需要管理员才能访问保险库,退出尝试爆破admin用户密码,但是没爆破出来
查看关于发现可能存在cookie伪造
重新登录普通用户,base64解码cookie
接着篡改用户名为admin并且重新加密
用篡改后的cookie访问/panel
成功登录admin用户
查看保险库得到fake flag
重新查看关于,发现是flask框架,那么应该有可能存在SSTI注入
找了半天注入点,最后发现应该是在用户名那,但是存在黑名单
1 | {"py/object":"__main__.Session","meta": {"user":“(%print(7*7)%“ts': 1753612931}} |
当时打到这里比赛就结束了,唉。。。