欧美激情网,国产欧美亚洲高清,欧美屁股xxxxx,欧美群妇大交群,欧美人与物ⅴideos另类,区二区三区在线 | 欧洲

知識學堂
  • ·聯(lián)系電話:+86.023-75585550
  • ·聯(lián)系傳真:+86.023-75585550
  • ·24小時手機:13896886023
  • ·QQ 咨 詢:361652718 513960520
當前位置 > 首頁 > 知識學堂 > 網(wǎng)站建設(shè)知識
ASP、Request對象與SQL注入
更新時間:2011-12-15 | 發(fā)布人:本站 | 點擊率:668

Request對象探討

Request是ASP里的一個內(nèi)部對象,用于獲取HTTP請求中傳遞的任意信息(如頭信息、表單數(shù)據(jù)、cookies等等)。所以這是在ASP里面最常用的內(nèi)部對象,常用來獲得GET方式提交的數(shù)據(jù)(Request.QueryString)、表單POST提交的數(shù)據(jù)(Request. Form)和Cookies(Request.Cookies)。

我們用Request對象可以指定獲取某個特定方式提交的數(shù)據(jù)。比如我們用這段代碼獲得通過POST提交的數(shù)據(jù)lake2的值:request.Form("lake2");而request.queryString("CSDN")獲得GET方式提交的CSDN的值。

對于獲取HTTP數(shù)據(jù),ASP還給了我們一個更簡單的方法:request(key),即直接使用request而不指定數(shù)據(jù)集合。此時ASP會依次在QueryString、From、Cookies、ServerVariables、ClientCertificate、Browser中檢查匹配的數(shù)據(jù),若發(fā)現(xiàn)則返回數(shù)據(jù)。

上面6個集合中,ServerVariables、ClientCertificate和Browser的變量是固定了的;而QueryString、From、Cookies的變量可以任意指定。想不到Cookies可以拿來傳遞任意數(shù)據(jù),以前倒沒有注意。

OK,test一下先。在本地web目錄新建test.asp文件,內(nèi)容為:<%=request("b")%>

Step 1:直接訪問http://127.0.0.1/test.asp?b=la<b>k</b>e2,瀏覽器顯示lake2

Step 2:構(gòu)造表單提交結(jié)果也如step 1

Step 3: 構(gòu)造表單,GET傳遞b值為"He",同時POST的b為"She",瀏覽器顯示為"He"。呵呵,按前面的排序有個優(yōu)先級的

Step 4:Telnet到本地80端口,構(gòu)造HTTP請求如下(注意Cookies哦):

GET /test.asp HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; TencentTraveler ; .NET CLR 1.1.4322)
Host: 127.0.0.1
Connection: Keep-Alive
Cookie: b=lake2 , Success !

在一堆服務(wù)器響應(yīng)數(shù)據(jù)之后,我們看到了"lake2,Success!"(Q:為什么空格不見了?A:因為未對提交的空格進行URL編碼)。

到此,我們已理論和實際相結(jié)合的證明了Cookies可以拿來傳遞數(shù)據(jù)。

Request對象與SQL注入

現(xiàn)在把話題轉(zhuǎn)一下,我們來說說SQL Injection。

SQL注入攻擊是由于Web應(yīng)用程序沒有過濾用戶所提交的有害數(shù)據(jù)而導致危害服務(wù)器的一種攻擊手法。注意咯,這里涉及到提交數(shù)據(jù),自然要跟剛才說了一大堆的request聯(lián)系上啊。

歸根結(jié)底,ASP下面的SQL注入都是由于request的參數(shù)沒有過濾或者過濾不嚴。當然,程序員不是安全專家,他們可能不知道如何過濾。

于是,網(wǎng)絡(luò)上就出現(xiàn)了通用的防注入ASP程序——"SQL注入關(guān)鍵字(如and、select)就停止正常文件執(zhí)行。

嘿嘿,它遍歷GET和POST,也就是Request對象的QueryString和From集合,忽略了Cookies。

現(xiàn)在,我們假設(shè)有一個SQL Injection漏洞百出的ASP程序,具備網(wǎng)絡(luò)安全知識的管理員同學在網(wǎng)上下載并使用了傳說中的"

這里僅僅是假設(shè)而已,至于實際中到底有多少ASP程序員喜歡用request(key) 來獲取數(shù)據(jù)就不得而知咯。