位置: 编程技术 - 正文

Python 模板引擎的注入问题分析(python模板引擎开发)

编辑:rootadmin

推荐整理分享Python 模板引擎的注入问题分析(python模板引擎开发),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python html模板引擎,python模板引擎有那些,python模板引擎有那些,python模板引擎有那些,python 模板引擎 对比,python模板引擎有那些,python模板引擎有那些,python模板引擎有那些,内容如对您有帮助,希望把文章链接给更多的朋友!

这几年比较火的一个漏洞就是jinjia2之类的模板引擎的注入,通过注入模板引擎的一些特定的指令格式,比如 {{1+1}} 而返回了 2 得知漏洞存在。实际类似的问题在Python原生字符串中就存在,尤其是Python 3.6新增 f 字符串后,虽然利用还不明确,但是应该引起注意。

最原始的 %

如果用户输入 %(password)s 那就可以获取用户的真实密码了。

format方法相关

print ("Password " + passwd + " is wrong for user {user}").format(**userdata) 之外,还可以

Python 模板引擎的注入问题分析(python模板引擎开发)

会先把 0 替换为 format 中的参数,然后继续获取相关的属性。

但是貌似只能获取属性,不能执行方法?但是也可以获取一些敏感信息了。

例子: format_string 为 {event.__init__.__globals__[CONFIG][SECRET_KEY]} 就可以泄露敏感信息。

Python 3.6中的 f 字符串

这个字符串非常厉害,和Javascript ES6中的模板字符串类似,有了获取当前context下变量的能力。

没有 把一个普通字符串转换为 f 字符串的方法,也就是说用户很可能无法控制一个 f 字符串,可能无法利用,还需要继续查一下。

python 实现红包随机生成算法的简单实例 实例如下:/preprename="code"class="python"#!/usr/bin/python#-*-coding:utf-8-*-importrandomclassCDispatch:def__init__(self,sum,count):self.sum=sumself.count=count#print'initheresum=',sum,',count='

python的random模块及加权随机算法的python实现方法 random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串。random.seed(x)改变随机数生成器的种子seed。一般不必特别去设定seed,Python会自

python对json的相关操作实例详解 本文实例分析了python对json的相关操作。分享给大家供大家参考,具体如下:什么是json:JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅

本文链接地址:https://www.jiuchutong.com/biancheng/382397.html 转载请保留说明!

上一篇:python getopt详解及简单实例(python的get)

下一篇:python 实现红包随机生成算法的简单实例(python随机发红包代码)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络