蘇麗
摘要 本文在SQL注射攻擊和Web環(huán)境之間關(guān)系的基礎(chǔ)上,講述了Web工作原理、Web程序的通信方式等,為理解SQL注入的生成過程提供一些背景知識。
【關(guān)鍵詞】Web 工作機制 POST請求 GET 請求流程
1 引言
在網(wǎng)絡技術(shù)與信息技術(shù)飛速發(fā)展的科技時代,Web應用程序具備界面統(tǒng)一、容易維護、操作簡潔、共享度高、擴展性良好等優(yōu)點。Web應用程序被運用到生活中的各個方面,由于Web應用是建立在廣域網(wǎng)的基礎(chǔ)上,對安全的管控行為力度較弱,攻擊者趁機運用這個機會提交一段數(shù)據(jù)庫查詢代碼,依據(jù)程序返回的內(nèi)容,就可以獲取一些數(shù)據(jù)庫信息。
2 Web結(jié)構(gòu)與工作機制分析
2.1 Web結(jié)構(gòu)
Web是一個由文檔組成的超大規(guī)模集合,其中使用鏈接互相聯(lián)系。這些文檔是由Web服務器提供,能夠通過瀏覽器進行訪問。Web是一組軟件協(xié)議的集合。Web應用是一種用Web瀏覽器并經(jīng)過intemet或內(nèi)部往來訪問的程序,Web應用程序通常是須要Web瀏覽器,Web服務器,是基于客戶機/服務器的配置而運行的,即B/S結(jié)構(gòu)。
當用戶在客戶端點擊相應的鏈接發(fā)出頁面請求的時候,Web服務器接到這個請求并按照請求處理邏輯進行處理,如果用戶的請求頁面存儲在數(shù)據(jù)庫中,處理邏輯會連接后臺數(shù)據(jù)庫,檢索用戶所需要的原始數(shù)據(jù)并將其加工成網(wǎng)頁的形勢,最后由Web服務器軟件將頁面返回給用戶。
2.2 Web工作機制
由于本文研究是基于SQL注入攻擊進行Web研究與分析,所以只討論超文本傳輸協(xié)議。超文本傳輸協(xié)議包含兩個階段:請求階段和響應階段。瀏覽器和Web服務器之間的每一次http通信都包含這兩個部分:頭部和主體。頭部里面含有與通信有關(guān)消息,主體里面是通信的數(shù)據(jù),當然前提是存在這樣的數(shù)據(jù)。
此次研究只討論在Web應用中SQL注入常見的HTTP方法:GET、POST。它們各自的特點如下:
2.2.1 GET請求
發(fā)起GET請求時服務器使用的HTTP方法是顯示在URL中。一般Web瀏覽器發(fā)起GET請求,發(fā)送到Web服務器,然后會在瀏覽器中出現(xiàn)結(jié)果,GET請求對用戶來說是可見的,但發(fā)送給Web服務器的GET請求格式如下:
GET/search.aspx?text=lcd%20monitors&cat=l&num=20 HTTP/1.1
Hosr:www.xx.com
User-Agent:Mozilla/5.O(xll;U;Linuxx86_64;en-US;rv:1.8.1.19)
Accept:text/xml,application/xml,applic ation/xhtml+xml,
Text/html; q=0.6,text/plain;q=0.7,image/png.*/*;q=0 8
Accept-Encoding:gzip,deflate
Accept - C,harset:IS0-8 8 5 9-l,utf-8;q=0.5,*;q=0 5
Keep-Alive;300
Proxy-Connection:keep-alive
這條請求在URL中發(fā)送參數(shù),格式如下:
?paramenterl=valuel&patamenter2=value2
上面的示例中包含三個參數(shù):text、cat和num。遠程應用將檢索這些參數(shù)值,將他們用于實現(xiàn)設(shè)計好的目的。對于GET請求來說,只需要在瀏覽器的導航欄中稍加修改就可以操縱這些參數(shù)。
2.2.2 POST請求
POST請求是一種用于向Web服務器發(fā)送信息的HTTP方法。服務器執(zhí)行的操作取決于目標URL。在瀏覽器中填寫表單并單擊提交按鈕時通常使用這個方法。下面的示例給出了瀏覽器發(fā)送給遠程Web服務器的內(nèi)容:
POST/contact/index.asp HTTP/1.1
Host:www.xx.com
User-Agent: Mozilla/5.0 (xll;U;Linuxx86_64,en-US,rv:1.8.1.19)
Gecko/20170511
Ubuntu/8.04(hardy)Firefox/2.0.0.19
Acc ept:text/xml,application/xml,applic ation/xhtml+xml,
Text/html; q=0.6text/plain; q=0.7image/png,*/*;q=0.9
Accept-Encoding:gzip,defiate
Accept-Charset:ISO-8 8 5 9-l,utf-8;q=0.3,*;q=0 3
Keep-Alive;300
Re ferer:http://www.victim.c om/eontact/index.asp
C ontent-type:application/x-www - form-urlencoded
Content-Length:129
First=j ohn&last=Doe&email=j ohn@doe.com&phone=31337 82&title=Mr&contry=US&comment=l%20would%201ike%20to%20request%20information
3 總結(jié)
本文主要論述了Web系統(tǒng)的工作原理,POST請求過程及其對數(shù)據(jù)的處理過程,同時也介紹了GET請求,對于網(wǎng)絡系統(tǒng)管理人員,應用開發(fā)人員來說理解知道對于Web應用安全有一個系統(tǒng)、清楚的框架認知。對SQL注入在Web上防范起到一定的了解和幫助。
參考文獻
[1]劉文生,樂德廣,劉偉.SQL注入攻擊與防御技術(shù)研究[J].信息網(wǎng)絡安全,2015 (09).
[2]王云,郭外萍,陳承歡.Web項目中的SQL注入問題研究與防范方法[J].計算機工程與設(shè)計,2010 (05).