蘇麗
摘要 本文在SQL注射攻擊和Web環境之間關系的基礎上,講述了Web工作原理、Web程序的通信方式等,為理解SQL注入的生成過程提供一些背景知識。
【關鍵詞】Web 工作機制 POST請求 GET 請求流程
1 引言
在網絡技術與信息技術飛速發展的科技時代,Web應用程序具備界面統一、容易維護、操作簡潔、共享度高、擴展性良好等優點。Web應用程序被運用到生活中的各個方面,由于Web應用是建立在廣域網的基礎上,對安全的管控行為力度較弱,攻擊者趁機運用這個機會提交一段數據庫查詢代碼,依據程序返回的內容,就可以獲取一些數據庫信息。
2 Web結構與工作機制分析
2.1 Web結構
Web是一個由文檔組成的超大規模集合,其中使用鏈接互相聯系。這些文檔是由Web服務器提供,能夠通過瀏覽器進行訪問。Web是一組軟件協議的集合。Web應用是一種用Web瀏覽器并經過intemet或內部往來訪問的程序,Web應用程序通常是須要Web瀏覽器,Web服務器,是基于客戶機/服務器的配置而運行的,即B/S結構。
當用戶在客戶端點擊相應的鏈接發出頁面請求的時候,Web服務器接到這個請求并按照請求處理邏輯進行處理,如果用戶的請求頁面存儲在數據庫中,處理邏輯會連接后臺數據庫,檢索用戶所需要的原始數據并將其加工成網頁的形勢,最后由Web服務器軟件將頁面返回給用戶。
2.2 Web工作機制
由于本文研究是基于SQL注入攻擊進行Web研究與分析,所以只討論超文本傳輸協議。超文本傳輸協議包含兩個階段:請求階段和響應階段。瀏覽器和Web服務器之間的每一次http通信都包含這兩個部分:頭部和主體。頭部里面含有與通信有關消息,主體里面是通信的數據,當然前提是存在這樣的數據。
此次研究只討論在Web應用中SQL注入常見的HTTP方法:GET、POST。它們各自的特點如下:
2.2.1 GET請求
發起GET請求時服務器使用的HTTP方法是顯示在URL中。一般Web瀏覽器發起GET請求,發送到Web服務器,然后會在瀏覽器中出現結果,GET請求對用戶來說是可見的,但發送給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中發送參數,格式如下:
?paramenterl=valuel&patamenter2=value2
上面的示例中包含三個參數:text、cat和num。遠程應用將檢索這些參數值,將他們用于實現設計好的目的。對于GET請求來說,只需要在瀏覽器的導航欄中稍加修改就可以操縱這些參數。
2.2.2 POST請求
POST請求是一種用于向Web服務器發送信息的HTTP方法。服務器執行的操作取決于目標URL。在瀏覽器中填寫表單并單擊提交按鈕時通常使用這個方法。下面的示例給出了瀏覽器發送給遠程Web服務器的內容:
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 總結
本文主要論述了Web系統的工作原理,POST請求過程及其對數據的處理過程,同時也介紹了GET請求,對于網絡系統管理人員,應用開發人員來說理解知道對于Web應用安全有一個系統、清楚的框架認知。對SQL注入在Web上防范起到一定的了解和幫助。
參考文獻
[1]劉文生,樂德廣,劉偉.SQL注入攻擊與防御技術研究[J].信息網絡安全,2015 (09).
[2]王云,郭外萍,陳承歡.Web項目中的SQL注入問題研究與防范方法[J].計算機工程與設計,2010 (05).