利用Python生成器对象完成栈帧逃逸详解

2026-04-11 11:440阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

栈帧逃逸

直接上个题目示例

2025 mini-L pybox

import multiprocessing import sys import io import ast class SandboxVisitor(ast.NodeVisitor): forbidden_attrs = { "__class__", "__dict__", "__bases__", "__mro__", "__subclasses__", "__globals__", "__code__", "__closure__", "__func__", "__self__", "__module__", "__import__", "__builtins__", "__base__" } def visit_Attribute(self, node): if isinstance(node.attr, str) and node.attr in self.forbidden_attrs: raise ValueError self.generic_visit(node) def visit_GeneratorExp(self, node): raise ValueError def sandbox_executor(code, result_queue): safe_builtins = { "print": print, "filter": filter, "list": list, "len": len, "addaudithook": sys.addaudithook, "Exception": Exception, } safe_globals = {"__builtins__": safe_builtins} sys.stdout = io.St

阅读全文
标签:网络安全
问题描述:

栈帧逃逸

直接上个题目示例

2025 mini-L pybox

import multiprocessing import sys import io import ast class SandboxVisitor(ast.NodeVisitor): forbidden_attrs = { "__class__", "__dict__", "__bases__", "__mro__", "__subclasses__", "__globals__", "__code__", "__closure__", "__func__", "__self__", "__module__", "__import__", "__builtins__", "__base__" } def visit_Attribute(self, node): if isinstance(node.attr, str) and node.attr in self.forbidden_attrs: raise ValueError self.generic_visit(node) def visit_GeneratorExp(self, node): raise ValueError def sandbox_executor(code, result_queue): safe_builtins = { "print": print, "filter": filter, "list": list, "len": len, "addaudithook": sys.addaudithook, "Exception": Exception, } safe_globals = {"__builtins__": safe_builtins} sys.stdout = io.St

阅读全文
标签:网络安全