Connexion API内存马植入研究
一、前言 Connexion 是一个现代 Python Web 框架, 使用 OpenAPI 规范直接驱动 Python Web API 开发,兼容同步(WSGI)和异步(ASGI)场景。本文将通过一个Connexion框架下一个代码执行的例子,探索这2种场景的内存马植入方式。 二、一个简单的Connexion API应用 Connexion API可以通过FlaskApp(同步)和AsyncApp(异步)两种方式创建,通过FlaskApp创建的代码如下: from connexion import FlaskApp app = FlaskApp(__name__) app.add_api('openapi.yml') if __name__ == '__main__': app.run(host='0.0.0.0', port=8888) 或者通过AsyncApp创建(官方推荐): from connexion import AsyncApp app = AsyncApp(__name__) app.add_api('openapi.yml') if __name__ == '__main__': app.run(host='0.0.0.0', port=8888) 启动前需要编写一个openapi.yml来定义API 的结构,包括接口对应的处理方法 openapi: 3.0.0 info: title: Simple Connexion API version: 1.0.0 paths: /eval: post: operationId: api.eval.run requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - data properties: data: type: string responses: '200': description: OK content: text/plain: schema: type: string operationId定义的是api....