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

python flask ssti学习笔记

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

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

几个例子

绕过过滤

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

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

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

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

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

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

分享给朋友:

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

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

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

天猫双十一活动什么时候开始华流

以前提到双十一那都是光棍才过的节日,而现在双十一摇身一变成了全民购物狂欢节。在双十一期间以淘宝天猫为主的购物平台都会推出各种优惠活动以及满减折扣,可以算得上是全年最便宜的时候了。那么天猫双十一活动什么时候开始呢?下面就跟百思特小编来详细了解一下2020年天猫双十一开始时间吧!...

华流年京东618怎么买便宜

京东618活动已经在火热进行中的哦,各位有买什么东西了吗?很多小伙伴在活动一开始的时候就迫不及待的买了很多东西了,还有些小伙伴还很犹豫不知道买啥,接下来百思特小编就来教教大家2020年京东618怎么便宜吧~ 京东618怎么买便宜 活动时...

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

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

黑客了解,中国黑客越南网络apt,黑客网站密码破解工具

6.42 · hxxp[://]offlineearthquake[.]com/file//?id=&n=000 进程三:使命履行及实时数据剖析10.61 2019年6月19日,FireEye Endpoint Security设备上收到了缝隙检测警报。 违规应用程序被辨认为Microso...

奶牛多少钱一头2021年奶牛价格,2021年奶牛市场行情

字体:大中小,一般不超过200斤重的奶牛,怀孕母牛价格要稍贵一些,一般小点的,优质纯种荷斯坦奶牛,见效慢,关闭窗口,通常3-8个月小。 月的奶牛奶牛,花色、请问一头一头半成年奶牛多少钱!但我家不像你那个样子.荷斯坦奶牛、年龄大小。 来源、厘米,他的特点是投资巨大,理性回归2005-09-1511:5...

评论列表

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

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

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

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

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

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

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

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

发表评论

访客

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