当前位置:首页 > 黑客技术 > 正文内容

python flask ssti学习笔记

访客4年前 (2021-04-18)黑客技术837

python flask ssti学习笔记

学ssti就像是对python原理的一层深入探索,入口很简单,就是用户输入未经过滤便被服务器模板渲染,将其当作变量解析替换,从而达到读取文件或者执行命令等目的

简单示范

漏洞代码:

以上代码存在ssti漏洞点在于render_template_string函数在渲染模板的时候使用了%s来动态的替换字符串,我们知道Flask 中使用了Jinja2 作为模板渲染引擎,{{}}在Jinja2中作为变量包裹标识符,Jinja2在渲染的时候会把{{}}包裹的内容当做变量解析替换。

简单验证

服务器将{{}}的内容直接执行后返回了结果

直接返回出配置变量值,存在敏感信息

入门操作

爆全局变量

任意文件读取

ctf题目中大多数是需要读取flag或者读取其他源码的

接下来利用一些骚操作读取文件吧

python中,不用引入直接使用的内置函数称为 builtin 函数,例如我们通常用的open,chr,ord等等

利用关键字寻找与读文件有关的类

Python2

这不是我们很熟悉的file吗,直接用就好了

或者让我们更加深入一点

python2没有ipython,输出比较混乱我们用python3的相同类替代分析下

Python3

同上,可以找出不少读取文件的类,只是这里file变成了open函数

随便找一个

命令执行

利用函数导入os库执行命令

利用本身已经导入os库的类执行命令

利用执行命令

利用执行命令

Python2

利用eavl函数执行命令

先寻找含有eval函数的类

利用本身导入os库的类执行命令

寻找含有os库的类

剩下的两个方法

查看方法的位置

查看的位置

查找模块的位置

查找方法的位置(在这里使用可以实现一样的效果,步骤一样,不再复述)

调用方法

利用commands 进行命令执行

Python3

利用eavl函数执行命令

先寻找含有eval函数的类

利用本身导入os库的类执行命令

寻找含有os库的类

过滤绕过方法

过滤中括号

过滤引号,过滤class等关键字

是flask中的一个属性,为返回请求的参数,这里把当作变量名,将后面的路径传值进来,进而绕过了引号的过滤

过滤或或

过滤关键字

base64编码绕过

使用实例访问属性时,调用该方法

例如被过滤掉关键词

字符串拼接绕过

利用hex编码,base64编码,[::-1]等绕过关键词过滤

过滤花括号

使用{% if ... %}1{% endif %}

利用声明变量和内置过滤器

以下方法仅在jinja2中实验成功

声明变量

在模板中添加变量,可以使用(set)语句。

语句来创建一个内部的作用域,将语句放在其中,这样创建的变量只在代码块中才有效

变量可以用链接

内置过滤器

变量可以通过 过滤器修改。过滤器与变量用管道符号分割,并且也 可以用圆括号传递可选参数。多个过滤器可以链式调用,前一个过滤器的输出会被作为 后一个过滤器的输入。

例如会移除 name 中的所有 HTML 标签并且改写 为标题样式的大小写格式。

过滤器接受带圆括号的参数,如同函数调用。这个例子会 把一个列表用逗号连接起来:。

类似于php中的过滤器,过滤器种类太多,具体项目我复制到另一个文档里了

https://jinja.palletsprojects.com/en/master/templates/#builtin-filters

几个例子

绕过过滤

我们可以利用过滤器构造任意的字符

首先利用属性弄出字符来(没有可以用别的)

结合一些普通方法,截取字符,例如单引号:

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:http://therlest.com/105267.html

分享给朋友:

“python flask ssti学习笔记” 的相关文章

郭碧婷被向佐玩成什么样子了「向佐真的喜欢郭碧婷吗」_郭碧婷

据新快网2021年10月20日03:31:27的新闻报道,微博网友@R卜傲晴 爆料。 平安夜来临之际,事件,在网上炒得沸沸扬扬,引发全网热议! 据悉,郭碧婷被向佐 后来的综艺中才有机会解释去台湾不是简。怀疑向佐和郭碧婷结婚买了热搜。相比向太透露称郭碧婷的妈妈不喜出现在大众面前。 1....

天猫双十一购物津贴使用规则

每年的双十一玩法都有更新,玩法是越来越多,但仍保留了一些经典玩法,比如购物津贴。那么购物津贴是什么意思呢?天猫双十一购物津贴使用规则是什么?双十一购物津贴可以与哪些优惠叠加?双11购物津贴面值多少元?一起来了解一下吧!    ...

美团暗语「美团暗语2021」

 昨天,很多网友问小编美团暗语最好的方法是什么?有关美团暗语2021最好的方法是哪种?最新美团暗语2020?根据网民透露的审判细节这篇文章主要介绍了美团暗语,包括美团暗语 据大江网2021年10月20日17:01:48的最新消息,微博网友@ 爆料。 平安夜来临之际,事件,在网上炒得沸沸扬扬,引发全...

接单的黑客_可以找黑客黑美团吗

有在网络安全范畴中,猜测网络违法和歹意软件发展趋势好像现已成为了各大网络安全公司的传统了。 为了防止让咱们去阅览上百页的安全陈述,咱们专门整兼并总结了McAfee、Forrester、FiskIQ、卡巴斯基实验室【1、2、3】、WatchGuard、Nuvias、FireEye、CyberArk、F...

Webshell安全检测篇

0x00 依据流量的检测办法 1.概述 笔者一直在重视webshell的安全剖析,最近就这段时刻的心得体会和咱们做个共享。 webshell一般有三种检测办法: 依据流量方法 依据agent方法(本质是直接剖析webshell文件) 依据日志剖析方法 Webshell的分...

如何寻找黑客微信号(只有一个微信号,黑客可以查到对方吗)

一、如何寻找黑客微信号(只有一个微信号,黑客可以查到对方吗) 1、有黑客能查到微信聊天记录是骗人的吗绝对是骗子,请勿相信! 微信聊天信息保存在本地 一般聊天信息都是保存在本地的,除非开通会员可以将聊天信息存储。 黑客查找出来的微信聊天截图是真的吗在手机端启动微信,在微信主界面底部导航中点击“微信”...

评论列表

馥妴温人
2年前 (2022-05-29)

表用逗号连接起来:。类似于php中的过滤器,过滤器种类太多,具体项目我复制到另一个文档里了https://jinja.palletsprojects.com/en/master/templa

离鸢一镜
2年前 (2022-05-29)

键词字符串拼接绕过利用hex编码,base64编码,[::-1]等绕过关键词过滤过滤花括号使用{% if ... %}1{% endif %}利用声明变量和内置过滤器以下方法仅在ji

囤梦眼趣
2年前 (2022-05-28)

导入os库执行命令利用本身已经导入os库的类执行命令利用执行命令利用执行命令Python2利用eavl函数执行命令先寻找含有eval函数的类利用本身导入os库的类执行命令寻找含有os库的类剩下的两个方法查看方法的位置查看的位置查找模块的位置查找方法的位置(在这里使用可以实现一样的

萌懂鸠魁
2年前 (2022-05-29)

一个内部的作用域,将语句放在其中,这样创建的变量只在代码块中才有效变量可以用链接内置过滤器变量可以通过 过滤器修改。过滤器与变量用管道符号分割,并且也 可以用圆括号传递可选参数。多个过滤器可以链式调用,前一个

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。