| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Web(Confusion1) -> 正文阅读 |
|
[Python知识库]Web(Confusion1) |
某天,Bob说:PHP是最好的语言,但是Alice不赞同。所以Alice编写了这个网站证明。在她还没有写完的时候,我发现其存在问题。(请不要使用扫描器) 题目场景: (1)在登陆页面出现flag字段。 ?本题目可能存在Python SSTI漏洞,类似于web(easytornado)。 SSTI知识:python-flask-ssti(模版注入漏洞)_新博客www.husins.cn的博客-CSDN博客_flask注入 (2)测试是否存在模板注入。 (3) 构造常规的payload读取flag文件。
读取失败,说明系统经过了过滤,经过尝试,发现系统过滤了常用的class、subclass、read等关键方法,但是并未过滤request。 request 是 Flask 框架的一个全局对象 , 表示 " 当前请求的对象( flask.request ) " 。 所以我们可以利用request.args绕过输入黑名单,进行沙箱逃逸。 沙箱逃逸,就是在给我们的一个代码执行环境下(Oj或使用socat生成的交互式终端),脱离种种过滤和限制,最终成功拿到shell权限的过程。其实就是闯过重重黑名单,最终拿到系统命令执行权限的过程。沙箱逃逸:SSTI/沙盒逃逸详细总结 - 安全客,安全资讯平台 将前面构造的payload,按照request.args置换之前会过滤的字段,以后遇到类似的情况,可以按照这个方法构造:{{request.args.a,request.args.b}}?a=xxxx&b=xxxxx a=__class__ b=__mro__ c=__subclasses__ d=read
flag出现!!!! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 21:04:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |