目录

  1. 1. 前言
  2. 2. 数据安全
    1. 2.1. ez_upload
    2. 2.2. ocr智能训练平台(Unsolved)
    3. 2.3. api接口认证(Unsolved)

LOADING

第一次加载文章图片可能会花费较长时间

要不挂个梯子试试?(x

加载过慢请开启缓存 浏览器默认开启

2025 数字中国创新大赛数字安全赛道数据安全产业积分争夺赛初赛-东区

2025/3/30 CTF线上赛 jwt 文件上传
  |     |   总文章阅读量:

前言

参考:

https://mp.weixin.qq.com/s/eAoSvsrs_sigbuO4eaVocw


数据安全

ez_upload

某服务器上存放着加密数据使用的RSA密钥文件,管理员在进行服务器站点维护时没有及时对存在漏洞的测试站点进行修复,请提交RSA密钥所在的路径

一个文件上传,尝试传马,过滤了 .php 后缀

测试发现 .phtml 后缀能正常上传

image-20250330101407911

蚁剑连上去找到 rsa 文件路径

image-20250330101436601

flag:/var/www/rssss4a


ocr智能训练平台(Unsolved)

某管理员在使用pytesseract开发ocr智能训练平台时,误将数据库相关目录与web应用目录混用,导致了严重的安全漏洞,从而使得该系统面临源代码泄露、系统被攻陷、数据丢失等重大风险,请获取系统中纪录的root密码,并作为答案提交。

本地 txt 写一个语句,然后截图传上去识别

尝试传一个 1'or 1=1#的图片进去 sql 注入,发现会报错

image-20250330104420107

但是用--会返回训练集重复

尝试其他注入语句

1' and sqlite_version()--

image-20250330105130917

得到部分 sql 语句,搜索得知这是 clickhouse 数据库

SELECT text FROM ocr_text WHERE text = '1' AND sqlite_version()

那么可以尝试 clickhouse 报错注入了,参考:https://blog.csdn.net/weixin_39997829/article/details/142877033

1' and 1=cast((select path from system.disks) AS String) --

测试发现 ban 了 system,limit,绕不过去

正常查询没有回显,要盲注的话也太逆天了,思路应该是利用file方法报错搞出当前路径

tmd,谁想的用 ocr 解析图片的语句进行 sql 注入,1'识别起来都费劲


api接口认证(Unsolved)

某数据安全公司开发的人员管理系统API在认证过程中可能存在安全漏洞,导致员工敏感信息可能面临泄露风险。请获取左淑英的手机号作为答案提交。

给了三个接口

image-20250330150741382

/api/v1/get_jwt 直接访问会返回 403,用//api/v1/get_jwt即可绕过

image-20250330150610765

返回了 PS256 的 jwt 串,是 guest 组的

带着这串 jwt 访问 /api/v1/data/{id}

image-20250330151045174

然后 /api/v1/admin 需要管理员才能访问,测试只支持 PS256 的 jwt

image-20250330152048054

emm,伪造PS256么


好吧又是 CVE-2022-39227 ,有想过但没去试