位置: 編程技術(shù) - 正文
推薦整理分享Python 模板引擎的注入問題分析(python模板引擎開發(fā)),希望有所幫助,僅作參考,歡迎閱讀內(nèi)容。
文章相關(guān)熱門搜索詞:python html模板引擎,python模板引擎有那些,python模板引擎有那些,python模板引擎有那些,python 模板引擎 對比,python模板引擎有那些,python模板引擎有那些,python模板引擎有那些,內(nèi)容如對您有幫助,希望把文章鏈接給更多的朋友!
這幾年比較火的一個漏洞就是jinjia2之類的模板引擎的注入,通過注入模板引擎的一些特定的指令格式,比如 {{1+1}} 而返回了 2 得知漏洞存在。實際類似的問題在Python原生字符串中就存在,尤其是Python 3.6新增 f 字符串后,雖然利用還不明確,但是應(yīng)該引起注意。
最原始的 %
如果用戶輸入 %(password)s 那就可以獲取用戶的真實密碼了。
format方法相關(guān)
print ("Password " + passwd + " is wrong for user {user}").format(**userdata) 之外,還可以
會先把 0 替換為 format 中的參數(shù),然后繼續(xù)獲取相關(guān)的屬性。
但是貌似只能獲取屬性,不能執(zhí)行方法?但是也可以獲取一些敏感信息了。
例子: format_string 為 {event.__init__.__globals__[CONFIG][SECRET_KEY]} 就可以泄露敏感信息。
Python 3.6中的 f 字符串
這個字符串非常厲害,和Javascript ES6中的模板字符串類似,有了獲取當(dāng)前context下變量的能力。
沒有 把一個普通字符串轉(zhuǎn)換為 f 字符串的方法,也就是說用戶很可能無法控制一個 f 字符串,可能無法利用,還需要繼續(xù)查一下。
python 實現(xiàn)紅包隨機(jī)生成算法的簡單實例 實例如下:/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模塊及加權(quán)隨機(jī)算法的python實現(xiàn)方法 random是用于生成隨機(jī)數(shù)的,我們可以利用它隨機(jī)生成數(shù)字或者選擇字符串。random.seed(x)改變隨機(jī)數(shù)生成器的種子seed。一般不必特別去設(shè)定seed,Python會自
python對json的相關(guān)操作實例詳解 本文實例分析了python對json的相關(guān)操作。分享給大家供大家參考,具體如下:什么是json:JSON(JavaScriptObjectNotation)是一種輕量級的數(shù)據(jù)交換格式。易于人閱
標(biāo)簽: python模板引擎開發(fā)
本文鏈接地址:http://esstyw.cn/biancheng/382397.html 轉(zhuǎn)載請保留說明!上一篇:python getopt詳解及簡單實例(python的get)
網(wǎng)站地圖: 企業(yè)信息 工商信息 財稅知識 網(wǎng)絡(luò)常識 編程技術(shù)
友情鏈接: 武漢網(wǎng)站建設(shè)