色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ecology相關(guān)的挖掘思路

哆啦安全 ? 來源:哆啦安全 ? 2023-09-14 16:49 ? 次閱讀

前段時間 ecology 密集發(fā)布了一系列補丁,修復(fù)幾個筆者之前儲備的 0day,本文就來介紹其中一個列比較有意思的,以及分享一下相關(guān)的挖掘思路。


背景

最近幾個月筆者都在研究 Java Web 方向,一方面是工作職責(zé)的調(diào)整,另一方面也想挑戰(zhàn)一下新的領(lǐng)域。對于漏洞挖掘而言,選擇一個具體目標(biāo)是非常重要的,經(jīng)過一段時間供應(yīng)鏈和生態(tài)的學(xué)習(xí)以及同事建議,兼顧漏洞挖掘難度和實戰(zhàn)效果選擇了 ecology OA作為第一個漏洞挖掘的目標(biāo)。

代碼審計

雖然本文介紹的是 Fuzzing,但之前也說過很多次,自動化漏洞挖掘只能作為一種輔助手段,是基于自身對代碼結(jié)構(gòu)的理解基礎(chǔ)上的提效方式。

在真正開始挖漏洞之前,筆者花了好幾周的時間去熟悉目標(biāo)的代碼,并且對一些不清晰的動態(tài)調(diào)用去進(jìn)行運行時分析,最終才能在 20G 代碼之中梳理出大致的鑒權(quán)和路由流程。

通過分析 JavaEE 應(yīng)用注冊的路由,注意到其中一個映射:

ServletMapping[url-pattern=/services/*,name=XFireServlet]^/services(?=/)|^/servicesz]

其對應(yīng)的類為org.codehaus.xfire.transport.http.XFireConfigurableServlet:

<servlet>
<servlet-name>XFireServletservlet-name>
<display-name>XFireServletdisplay-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServletservlet-class>
servlet>
<servlet-mapping>
<servlet-name>XFireServletservlet-name>
<url-pattern>/services/*url-pattern>
servlet-mapping>

XFire 考古

XFire[1]并不是 ecology 自己的業(yè)務(wù)代碼,而是一個 SOAP Web 服務(wù)框架,它是作為 Apache Axis 的有效替代方案而開發(fā)的。除了通過使用 StAX 實現(xiàn)良好性能的目標(biāo)外,XFire 的目標(biāo)還包括通過各種插件機制實現(xiàn)靈活性,API 的直觀操作以及與通用標(biāo)準(zhǔn)的兼容性。此外 XFire 非常適合集成到基于 Spring Framework 的項目中。

值得一提的是,XFire 目前已經(jīng)不再進(jìn)行開發(fā),其官方繼任者是Apache CXF[2]

XFire 的用法比較簡單,首先在META-INF/xfire/services.xml中定義需要導(dǎo)出的服務(wù),比如:

"1.0"encoding="UTF-8"?>

<beansxmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>WorkflowServicename>
<namespace>webservices.services.weaver.com.cnnamespace>
<serviceClass>weaver.workflow.webservices.WorkflowServiceserviceClass>
<implementationClass>weaver.workflow.webservices.WorkflowServiceImplimplementationClass>
<serviceFactory>org.codehaus.xfire.annotations.AnnotationServiceFactoryserviceFactory>
service>
beans>

這樣weaver.workflow.webservices.WorkflowService就被認(rèn)為是導(dǎo)出服務(wù)。

可以直接被客戶端進(jìn)行調(diào)用。調(diào)用方式主要是通過 SOAP 請求到 XFireServlet,例如調(diào)用上述服務(wù)可以發(fā)送 POST 請求到/services/WorkflowService:

"1.0"encoding="UTF-8"?>
<Body>
<getUserId>
 <p>evilpanp>
 <p>2333p>
getUserId>
Body>

表示以指定參數(shù)調(diào)用服務(wù)的getUserId方法。

SQL 注入

接下來回到漏洞本身,WorkflowService 服務(wù)的具體實現(xiàn)為WorkflowServiceImpl,例如其中的 getUserId 就是服務(wù)導(dǎo)出的一個方法,其具體實現(xiàn)為:

@Override
publicStringgetUserId(Stringvar1,Stringvar2){
if(Util.null2String(var2).equals("")){
return"-1";
}elseif(Util.null2String(var1).equals("")){
return"-2";
}else{
RecordSetvar3=newRecordSet();
var3.executeQuery("selectidfromHrmResourcewhere"+var1+"=?andstatus<4?",var2);
return!var3.next()?"0":Util.null2s(var3.getString("id"),"0");
}
}

可以看到,一個教科書式的 SQL 注入就已經(jīng)找到了。

Service 鑒權(quán)

現(xiàn)在漏洞點找到了,觸發(fā)路徑也找到了,可實際測試的時候發(fā)現(xiàn)這個接口有些特殊的鑒權(quán),其鑒權(quán)邏輯為判斷請求地址是否是內(nèi)網(wǎng)地址,如果是的話就放行。

考慮到很多系統(tǒng)是集群部署的,且前面有一層或者多層負(fù)載均衡,因此實際請求服務(wù)的可能是經(jīng)過反向代理的請求,此時客戶端的真實 IP 只能通過X-Forward-For等頭部獲取。

這本來無可厚非,但是 HTTP 請求頭是可以被攻擊者任意設(shè)置的,因此 ecology 在此基礎(chǔ)上進(jìn)行了復(fù)雜的過濾,精簡后的偽代碼如下:

privateStringgetRemoteAddrProxy(){
Stringip=null;
StringtmpIp=null;
tmpIp=this.getRealIp(this.request.getHeaders("RemoteIp"),ipList);
if(ip==null||ip.length()==0||"unknown".equalsIgnoreCase(ip)){
ip=tmpIp;
}
booleanisInternalIp=IpUtils.internalIp(ip);
if(isInternalIp){
ipList.add(this.request.getRemoteAddr());
tmpIp=IpUtils.getRealIp(ipList);
if(!IpUtils.internalIp(tmpIp)){
ip=tmpIp;
}
}

returnip!=null&&ip.length()!=0&&!"unknown".equalsIgnoreCase(ip)?ip:null;
}

IpUtils#internalIp的判斷更為復(fù)雜,連byte[]都出來了:

publicstaticbooleaninternalIp(Stringip){
if(ip!=null&&!ip.equals("127.0.0.1")&&!ip.equals("::1")&&!ip.equals("0000:1")){
if(ip.indexOf(":")!=-1&&ip.indexOf(":")==ip.lastIndexOf(":")){
ip=ip.substring(0,ip.indexOf(":"));
}

byte[]addr=(byte[])null;
if(isIpV4(ip)){
addr=textToNumericFormatV4(ip.trim());
}else{
addr=textToNumericFormatV6(ip.trim());
}

returnaddr==null?false:internalIp(addr);
}else{
returntrue;
}
}

publicstaticbooleaninternalIp(byte[]addr){
byteb0=addr[0];
byteb1=addr[1];
byteSECTION_1=true;
byteSECTION_2=true;
byteSECTION_3=true;
byteSECTION_4=true;
byteSECTION_5=true;
byteSECTION_6=true;
switch(b0){
case-84:
if(b1>=16&&b1<=?31){
returntrue;
}
case-64:
switch(b1){
case-88:
returntrue;
}
default:
returnfalse;
case10:
returntrue;
}
}

其邏輯是對 getRemoteAddrProxy 取出來的 IP,如果路徑匹配webserviceList且 IP 匹配webserviceIpList前綴,就認(rèn)為是內(nèi)網(wǎng)地址的請求從而進(jìn)行放過:

webserviceList=[
"/online/syncOnlineData.jsp",
"/services/",
"/system/MobileLicenseOperation.jsp",
"/system/PluginLicenseOperation.jsp",
"/system/InPluginLicense.jsp",
"/system/InMobileLicense.jsp"
];

webserviceIpList=[
"localhost",
"127.0.0.1",
"192.168.",
"10.",
"172.16.",
"172.17.",
"172.18.",
"172.19.",
"172.20.",
"172.21.",
"172.22.",
"172.23.",
"172.24.",
"172.25.",
"172.26.",
"172.27.",
"172.28.",
"172.29.",
"172.30.",
"172.31."
]

根據(jù)上面的代碼,你能發(fā)現(xiàn)鑒權(quán)繞過的漏洞嗎?

Fuzzing

也許對代碼比較敏感的審計人員可以通過上述鑒權(quán)代碼很快發(fā)現(xiàn)問題,但說實話我一開始并沒有找到漏洞。于是我想到這個鑒權(quán)邏輯是否能單獨抽離出來使用 Fuzzing 的思路去進(jìn)行自動化測試。

之前發(fā)現(xiàn) Java 也有一個基于 libFuzzer 的模糊測試框架Jazzer[3],但是試用之后發(fā)現(xiàn)比較雞肋,因為和二進(jìn)制程序會自動 Crash 不同,Java 的 fuzz 需要自己指定 Sink,令其在觸達(dá)的時候拋出異常來構(gòu)造崩潰。

雖然說沒法發(fā)現(xiàn)通用的漏洞,但是對于現(xiàn)在這個場景來說正好是絕配,我們可以將目標(biāo)原始的鑒權(quán)代碼摳出來,然后在未授權(quán)通過的時候拋出一個異常即可。構(gòu)建的 Test Harness 代碼如下:

publicstaticvoidfuzzerTestOneInput(FuzzedDataProviderdata){
Stringpoc=data.consumeRemainingAsString();
fuzzIP(poc);
}

publicstaticvoidfuzzIP(Stringpoc){
if(containsNonPrintable(poc))return;
XssRequestWeblogicx=newXssRequestWeblogic();
Stringout=x.getRemoteAddr(poc);
booleancheck2=check2(out);
if(check2){
thrownewFuzzerSecurityIssueHigh("FoundIP["+poc+"]");
}
}

publicstaticbooleancheck2(Stringipstr){
for(Stringip:webserviceIpList){
if(ipstr.startsWith(ip)){
returntrue;
}
}
returnfalse;
}

其中精簡了一些 ecology 代碼中讀取配置相關(guān)的依賴,將無關(guān)的邏輯進(jìn)行手動剔除。

編譯好代碼后,使用以下命令開始進(jìn)行 fuzz:

$./jazzer--cp=target/Test-1.0-SNAPSHOT.jar--target_class=org.example.App

不多一會兒,就已經(jīng)有了一個成功的結(jié)果!

aaffd0a0-5292-11ee-a25d-92fbcf53809c.pngfuzz.png

可以看到圖中給出了127.0.0.10這個 payload,可以觸發(fā) IP 鑒權(quán)的繞過!反過來分析這個 PoC,可以發(fā)現(xiàn)之所以能繞過是因為webserviceIpList只檢查了前綴,而127.0.0.10可以在internalIp返回False,即認(rèn)為不是內(nèi)部 IP,但實際上 webserviceIpList 卻認(rèn)為是內(nèi)部 IP,從而導(dǎo)致了繞過。

如果只是從代碼上去分析的話,可能一時半會并不一定能發(fā)現(xiàn)這個問題,可是通過 Fuzzing 在覆蓋率反饋的加持下,卻可以在幾秒鐘之內(nèi)找到正解,這也是人工審計無法比擬的。

漏洞補丁

通過 IP 的鑒權(quán)繞過和 XFire 組件的 SQL 注入,筆者實現(xiàn)了多套前臺的攻擊路徑,并且在 HW 中成功打入多個目標(biāo)。因為當(dāng)時提交的報告中帶了漏洞細(xì)節(jié),因此這個漏洞自然也就被官方修補了。如果沒有公開的話這個洞短期也不太會被撞到。

漏洞修復(fù)的關(guān)鍵補丁如下:

diff--gita/src/weaver/security/webcontainer/IpUtils.javab/src/weaver/security/webcontainer/IpUtils.java
index6b3d8efc..e7482511100644
---a/src/weaver/security/webcontainer/IpUtils.java
+++b/src/weaver/security/webcontainer/IpUtils.java
@@-48,12+48,16@@publicclassIpUtils{
}

publicstaticbooleaninternalIp(Stringip){
-if(ip!=null&&!ip.equals("127.0.0.1")&&!ip.equals("::1")&&!ip.equals("0000:1")){
+if(ip==null||ip.equals("127.0.0.1")||ip.equals("::1")||ip.equals("0000:1")){
+returntrue;
+}elseif(ip.startsWith("127.0.0.")){
+returntrue;
+}else{
if(ip.indexOf(":")!=-1&&ip.indexOf(":")==ip.lastIndexOf(":")){
ip=ip.substring(0,ip.indexOf(":"));
}

其中把 equals 換成了 startsWith,并且還過濾了我們之前使用的 WorkflowService 組件。當(dāng)然還是沿襲 ecology 一貫的漏洞修復(fù)原則,不改業(yè)務(wù)代碼,只增加安全校驗,這也是對歷史遺留問題的一種妥協(xié)吧。

總結(jié)

  • ?對于 Java 這樣的內(nèi)存安全編程語言也是可以 fuzz 的,只不過目的是找出邏輯漏洞而不是內(nèi)存破壞;

  • ?漏洞挖掘初期花時間投入到代碼審計中是有必要的,有助于理解項目整體結(jié)構(gòu)并在后期進(jìn)行針對性覆蓋;

  • ?漏洞挖掘的時候重點關(guān)注邊界的系統(tǒng)和服務(wù),處于信任邊界之外的組件更有可能過于信任外部輸入導(dǎo)致安全問題;

  • ?對于看起來很復(fù)雜的數(shù)據(jù)處理模塊,可以充分利用 Fuzzing 的優(yōu)勢,幫助我們快速找出畸形的 payload;

  • ?模塊化 Fuzzing 的難點在于抽離代碼并構(gòu)建可編譯或者可以獨立運行的程序,即構(gòu)建 Test Harness,跑起來測試用例你就已經(jīng)成功了 90%;

  • ?軟件開發(fā)和漏洞挖掘正好相反。開發(fā)者會出于厭惡情緒刻意避開復(fù)雜的歷史遺留代碼,而這些代碼卻是更可能出現(xiàn)問題的地方。因此安全研究員要學(xué)會克服自己的厭惡情緒,做到 —— “明知山有屎,偏向屎山行”。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 自動化
    +關(guān)注

    關(guān)注

    29

    文章

    5620

    瀏覽量

    79526
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1950

    瀏覽量

    34900
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4821

    瀏覽量

    68893

原文標(biāo)題:總結(jié)

文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    云計算數(shù)據(jù)挖掘

    想要自學(xué)云計算和數(shù)據(jù)挖掘想問下這些方面有哪些內(nèi)容該從何開始求大神們指教謝謝
    發(fā)表于 04-19 00:07

    靈玖軟件:NLPIR智能挖掘系統(tǒng)專注中文處理

    ,C#等各類開發(fā)語言使用。  隨著云計算、移動互聯(lián)網(wǎng)以及物聯(lián)網(wǎng)等技術(shù)的發(fā)展和完善,相信大數(shù)據(jù)在各個領(lǐng)域的應(yīng)用會越來越廣泛和深入,相關(guān)的研究也會越來越全面和深入,在信息管理領(lǐng)域,綜合應(yīng)用數(shù)據(jù)挖掘技術(shù)和人工智能技術(shù),獲取用戶知識、文獻(xiàn)知識等各類知識,將是實現(xiàn)知識檢索和知識管理
    發(fā)表于 01-21 11:39

    AlphaFuzzer漏洞挖掘工具的使用

    AlphaFuzzer是一款多功能的漏洞挖掘工具,到現(xiàn)在為止,該程序以文件格式為主。1.0版本主要包含了:一個智能文件格式的漏洞挖掘框架。一個通用文件格式的fuzz模塊。此外,他還包含了一個ftp服務(wù)器程序的fuzz模塊。一個程序參數(shù)的fuzz模塊。一些shellcode
    發(fā)表于 07-15 06:44

    數(shù)據(jù)挖掘算法有哪幾種?

    針對現(xiàn)有數(shù)據(jù)挖掘體系結(jié)構(gòu)松散揭合、算法運行效率不高的問題,提出了嵌入式數(shù)據(jù)挖掘模型。該模型實現(xiàn)了算法的組件化管理,并將整個數(shù)據(jù)挖掘流程控制在數(shù)據(jù)庫、數(shù)據(jù)倉庫中,在簡化數(shù)據(jù)挖掘過程的同時
    發(fā)表于 03-11 06:36

    數(shù)據(jù)挖掘之基于關(guān)聯(lián)挖掘的商品銷售分析

    數(shù)據(jù)挖掘:基于關(guān)聯(lián)挖掘的商品銷售分析
    發(fā)表于 06-09 08:32

    機器學(xué)習(xí)與數(shù)據(jù)挖掘方法和應(yīng)用

    機器學(xué)習(xí)與數(shù)據(jù)挖掘方法和應(yīng)用(經(jīng)典)
    發(fā)表于 09-26 07:56

    數(shù)據(jù)挖掘淺析

    摘要:主要介紹了數(shù)據(jù)挖掘的產(chǎn)生、發(fā)展、定義和任務(wù),討論了常用的挖掘方法和工具,最后舉例介紹了數(shù)據(jù)挖掘的一些應(yīng)用.關(guān)鍵詞:數(shù)據(jù)挖掘;知識發(fā)現(xiàn);決策樹 Abstract:Th is
    發(fā)表于 01-08 21:23 ?12次下載

    關(guān)聯(lián)規(guī)則挖掘在數(shù)據(jù)錄入、校對系統(tǒng)中的應(yīng)用

    本文介紹了關(guān)聯(lián)規(guī)則挖掘在數(shù)據(jù)錄入、校對系統(tǒng)的設(shè)計思路、體系結(jié)構(gòu)和實現(xiàn)要點。關(guān)鍵詞:數(shù)據(jù)挖掘;關(guān)聯(lián)規(guī)則;關(guān)聯(lián)規(guī)則參照表數(shù)據(jù)的準(zhǔn)確錄入和高效的校對是各行業(yè)的產(chǎn)
    發(fā)表于 09-03 11:55 ?6次下載

    怎么學(xué)習(xí)數(shù)據(jù)挖掘_如何系統(tǒng)地學(xué)習(xí)數(shù)據(jù)挖掘

    數(shù)據(jù)挖掘工程師多是通過對海量數(shù)據(jù)進(jìn)行挖掘,尋找數(shù)據(jù)的存在模式,從而通過數(shù)據(jù)挖掘來解決具體問題。其更多是針對某一個具體的問題,是以解決具體問題為導(dǎo)向的。
    發(fā)表于 12-31 12:41 ?4809次閱讀

    代碼實例及詳細(xì)資料帶你入門Python數(shù)據(jù)挖掘與機器學(xué)習(xí)

    本文結(jié)合代碼實例待你上手python數(shù)據(jù)挖掘和機器學(xué)習(xí)技術(shù)。 本文包含了五個知識點: 1. 數(shù)據(jù)挖掘與機器學(xué)習(xí)技術(shù)簡介 2. Python數(shù)據(jù)預(yù)處理實戰(zhàn) 3. 常見分類算法介紹 4. 對鳶尾花進(jìn)行分類案例實戰(zhàn) 5. 分類算法
    的頭像 發(fā)表于 03-03 10:10 ?3400次閱讀

    淺析嵌入式數(shù)據(jù)挖掘模型應(yīng)用到銀行卡業(yè)務(wù)中的相關(guān)知識

    數(shù)據(jù)挖掘就是從存放在數(shù)據(jù)庫、數(shù)據(jù)倉庫或者其他信息庫中的大量數(shù)據(jù)中挖掘有趣知識的過程。它是在多種數(shù)據(jù)存儲方式的基礎(chǔ)上,借助有效的分析方法和工具,從傳統(tǒng)的事務(wù)型數(shù)據(jù)庫功能(增加、刪除、修改、查詢、統(tǒng)計等
    發(fā)表于 05-15 16:31 ?983次閱讀
    淺析嵌入式數(shù)據(jù)<b class='flag-5'>挖掘</b>模型應(yīng)用到銀行卡業(yè)務(wù)中的<b class='flag-5'>相關(guān)</b>知識

    成為數(shù)據(jù)挖掘工程師有哪些要求

    計算機、統(tǒng)計學(xué)等相關(guān)專業(yè),具有深厚的統(tǒng)計學(xué)、數(shù)學(xué)、數(shù)據(jù)挖掘知識,熟悉數(shù)據(jù)倉庫和數(shù)據(jù)挖掘相關(guān)技術(shù);
    的頭像 發(fā)表于 06-09 17:24 ?5833次閱讀

    某CMS的命令執(zhí)行漏洞通用挖掘思路分享

    大概是在上半年提交了某個CMS的命令執(zhí)行漏洞,現(xiàn)在過了那么久,也想通過這次挖掘通用型漏洞,整理一下挖掘思路,分享給大家。
    的頭像 發(fā)表于 05-18 17:18 ?3421次閱讀
    某CMS的命令執(zhí)行漏洞通用<b class='flag-5'>挖掘</b><b class='flag-5'>思路</b>分享

    數(shù)據(jù)挖掘定義及方法 數(shù)據(jù)挖掘在微電子領(lǐng)域的應(yīng)用

    制造中的數(shù)據(jù)挖掘流程示意圖,并用主成分分析法分析產(chǎn)生異常的原因,最后得出合理的結(jié)論。  數(shù)據(jù)挖掘相關(guān)技術(shù)  1、數(shù)據(jù)挖掘的定義和特點  數(shù)據(jù)挖掘
    發(fā)表于 07-18 15:43 ?0次下載

    機器學(xué)習(xí)與數(shù)據(jù)挖掘的區(qū)別 機器學(xué)習(xí)與數(shù)據(jù)挖掘的關(guān)系

    機器學(xué)習(xí)與數(shù)據(jù)挖掘的區(qū)別 , 機器學(xué)習(xí)與數(shù)據(jù)挖掘的關(guān)系 機器學(xué)習(xí)與數(shù)據(jù)挖掘是如今熱門的領(lǐng)域。隨著數(shù)據(jù)規(guī)模的不斷擴(kuò)大,越來越多的人們認(rèn)識到數(shù)據(jù)分析的重要性。但是,機器學(xué)習(xí)和數(shù)據(jù)挖掘在實踐
    的頭像 發(fā)表于 08-17 16:30 ?2121次閱讀
    主站蜘蛛池模板: 97久久超碰中文字幕| 在线超碰免费视频观看| 洲精品无码高潮喷水A片| 精品久久久亚洲精品中文字幕| 忘忧草在线影院WWW日本动漫| 耻辱の奴隷淑女中文字幕| 暖暖 免费 高清 日本视频5 | 亚洲久久少妇中文字幕| 国产在线精品亚洲第1页| 无码人妻精品一区二区蜜桃在线看| 国产成人v视频在线观看| 污到湿的爽文免费阅读| 国产学生在线播放精品视频| 亚洲精品久久久久中文字幕二区 | 国产偷抇久久精品A片蜜臀AV| 校花在公车上被内射好舒服| 国产无线乱码一区二三区| 亚洲精品一区三区三区在线观看| 果冻传媒2021一二三区| 一品探花论坛| 麻豆影视在线直播观看免费| 99精品中文字幕在线观看| 欧美日韩一级黄色片| 公交车被CAO到合不拢腿| 小护士大pp| 久久伊人青青| XXX国产麻豆HD| 性色少妇AV蜜臀人妻无码| 久久精品亚洲AV高清网站性色| 91免费永久在线地址| 秋霞电影网午夜鲁丝片无码| 大肥婆丰满大肥奶bbw肥| 亚洲AV美女成人网站P站| 久久精品123| YELLOW视频直播在线观看| 无码99久热只有精品视频在线| 精品人妻无码一区二区三区蜜桃臀| 2020无码最新国产在线观看| 肉动漫3D卡通无修在线播放| 国产中文视频无码成人精品| 99RE8国产这里只有精品|