furryCTF2025

MICS

签到题

找出flag
flag

WEB

ezmd5

题目
利用公开的MD5碰撞对成功获取flag
flag

PyEditor

观察到题目的黑名单

1
2
3
4
5
6
7
banned_modules = ['os', 'sys', 'subprocess', 'shlex', 'pty', 'popen', 'shutil', 'platform', 'ctypes', 'cffi', 'io', 'importlib']

banned_functions = ['eval', 'exec', 'compile', 'input', '__import__', 'open', 'file', 'execfile', 'reload']

banned_methods = ['system', 'popen', 'spawn', 'execv', 'execl', 'execve', 'execlp', 'execvp', 'chdir', 'kill', 'remove', 'unlink', 'rmdir', 'mkdir', 'makedirs', 'removedirs', 'read', 'write', 'readlines', 'writelines', 'load', 'loads', 'dump', 'dumps', 'get_data', 'get_source', 'get_code', 'load_module', 'exec_module']

dangerous_attributes = ['__class__', '__base__', '__bases__', '__mro__', '__subclasses__', '__globals__', '__builtins__', '__getattribute__', '__getattr__', '__setattr__', '__delattr__', '__call__']

获取flag
flag
为什么这个payload能绕过所有检查?

  • 避开了模块导入检查:使用import builtins而不是import os
  • 避开了直接函数调用检查:使用getattr间接获取__import__
  • 避开了危险属性访问检查:没有直接访问__builtins__
  • 避开了方法调用检查:'get'不在banned_methods

下一代有下一代的问题

在控制台中发现关键信息
Welcome to the Feedback System Next Generation!
根据CVE-2025-55182漏洞构造请求获得flag
flag

PPC

flagReader

利用脚本快速阅览网页
脚本
最后根据题干提示base16解码2次获得flag
flag


furryCTF2025
https://linsport.github.io/2026/01/30/ctf/furryCTF2025/
作者
sport lin
发布于
2026年1月30日
许可协议