




已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
SQL注入演示與預防大學畢業(yè)設計(論文)SQL注入的演示與預防學 生 姓 名 指 導 教 師 專 業(yè) 學 院 摘 要 本論文是針對企事業(yè)單位管理系統(tǒng)平時預防SQL注入攻擊而進行研究的,基于ASP.NET、Access 2003開發(fā)而成的攻防軟件,它提供了后臺注入SQL演示模塊、防止模塊、前臺網(wǎng)站顯示模塊、前臺注入模塊、前臺預防模塊。本演示做的主要是觀看靈活、易懂、是有效的防止SQL注入的手段。 關鍵詞:SQL注入,ASP.NETIIAbstract This paper is aimed at the business unit management system usually prevent SQL injection attacks and research, ASP.NET, and Access 2003 software development based on defense, it provides the background into the SQL demonstration module, preventing module, display module, front desk reception site into the module, the prevention of module. This presentation is flexible, easy to watch, is effective to prevent SQL injection method.it provides the background into the SQL demonstration module, preventing module, display module, front desk reception site into the module, the prevention of module. This presentation is flexible, easy to watch, is effective to prevent SQL injection method.it provides the background into the SQL demonstration module, preventing module, display module, front desk reception site into the module, the prevention of module. This presentation is flexible, easy to watch, is effective to prevent SQL injection method.it provides the background into the SQL demonstration module, preventing module, display module, front desk reception site into the module, the prevention of module. This presentation is flexible, easy to watch, is effective to prevent SQL injection method.Key Words:SQL injection, ASP.NETSQL注入演示與預防目錄摘 要IAbstractII1緒 論11.1課題設計的背景和特點11.2需求分析11.2.1 需求分析的必要性11.2.2 功能劃分11.2.3 演示描述21.2.4 理解需求21.2.6 環(huán)境的選擇22 數(shù)據(jù)庫概論32.1 數(shù)據(jù)庫技術的概述32.2 數(shù)據(jù)庫理論基礎32.2.1 數(shù)據(jù)庫管理系統(tǒng) SQL語言介紹43 系統(tǒng)開發(fā)工具63.1 vs2010組件的體系結構63.2 數(shù)據(jù)庫組件介紹63.3 MS Access 2003簡介73.4 MS Access 2003與SQL Server 區(qū)別74 概要設計94.6 系統(tǒng)中所用數(shù)據(jù)控件94.7.1 數(shù)據(jù)庫描述94.7.3 數(shù)據(jù)表結構96.2 軟件測試106.2.1 測試的實現(xiàn)10結 論14參考文獻14致 謝16SQL注入的攻防演示1 緒 論1.1 課題設計的背景和特點 最近在做的項目是網(wǎng)絡安全評估的內(nèi)容,其中包含滲透測試,而SQL注入往往是滲透測試中最為有效的手段之一,本文中將會就SQL注入的原理和方法進行敘述,使普通軟件開發(fā)者對SQL注入有所了解。如果有需要更詳細畢業(yè)設計資料的,各種畢業(yè)設計參考資料供大家學習,聯(lián)系我SQL注入攻擊是黑客對數(shù)據(jù)庫進行攻擊的常用手段之一。隨著B/S模式應用開發(fā)的發(fā)展,使用這種模式編寫應用程序的程序員也越來越多。但是由于程序員的水 平及經(jīng)驗也參差不齊,相當大一部分程序員在編寫代碼的時候,沒有對用戶輸入數(shù)據(jù)的合法性進行判斷,使應用程序存在安全隱患。用戶可以提交一段數(shù)據(jù)庫查詢代 碼,根據(jù)程序返回的結果,獲得某些他想得知的數(shù)據(jù),這就是所謂的SQL Injection,即SQL注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,如果有需要本文的全部資料,請加我騰訊企鵝6526558所以目前市面的防火墻都不會 對SQL注入發(fā)出警報,如果管理員沒查看IIS日志的習慣,可能被入侵很長時間都不會發(fā)覺。但是,SQL注入的手法相當靈活,在注入的時候會碰到很多意外 的情況,需要構造巧妙的SQL語句,從而成功獲取想要的數(shù)據(jù)。SQL注入測試就是通過利用目標網(wǎng)站的某個頁面缺少對用戶傳遞參數(shù)控制或者控制的不夠好的情 況下出現(xiàn)的漏洞,從而達到獲取、修改、刪除數(shù)據(jù),甚至控制數(shù)據(jù)庫服務器、Web服務器的目的的測試方法。1.2 需求分析1.2.1 需求分析的必要性需求分析是數(shù)據(jù)庫管理系統(tǒng)開發(fā)的第一步,如果有需要本文的全部資料,請加我騰訊企鵝6526558也是最重要的一步SQL注入的攻防演示也不例外。只有通過軟件需求分析,才能把軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說明,從而奠定軟件開發(fā)的基礎。軟件需求的分析和說明對于軟件開發(fā)工作的成功與否是至關重要的,如果有需要更詳細畢業(yè)設計資料的、規(guī)范的過程。它有益于提高軟件開發(fā)過程中的能見度,便于對軟件開發(fā)過程中的控制與管理,便于采用工程方法開發(fā)軟件,提高軟件的質量,便于開發(fā)人員、測試人員之間的交流、協(xié)作,并作為工作成果的原始依據(jù),并且在向潛在用戶傳遞軟件功能、性能需求,使其能夠判斷該軟件是否與自己的需求相關。1.2.2 功能劃分該系統(tǒng)是采用目前比較流行的數(shù)據(jù)庫開發(fā)工具開發(fā)的基于windows操作臺下運行的SQL攻防演示。這套軟件簡單易懂,能有效的防止SQL注入。(1) 外部功能:一個普通網(wǎng)站的前臺展示功能。 (2) 內(nèi)部功能:一個完整的后臺添加功能。(3) 系統(tǒng)構成描述:其中包括前臺注入和后臺注入2個模塊,也包括了各自的預防功能。1.2.3 演示描述 (1) 后臺注入演示登陸界面會出現(xiàn)用戶名和密碼三個文本框以及登陸和退出兩個按鈕,演示者可以先用常用的破解方法,在沒有輸入用戶名和密碼的情況下登陸到系統(tǒng)的后臺。 (2) 后臺預防演示讓攻擊者采用同樣的攻擊方式,但是卻不能成功進入后臺,此方案有2種預防方式,都會展示。(3) 后臺管理模塊后臺管理模塊采用正常的主流的ASP.NET進行開發(fā),完全模擬了網(wǎng)站后臺的開發(fā)。 (4)前臺展示模塊模擬了一個小公司的網(wǎng)站,有新聞展示和產(chǎn)品添加等模塊。1.2.4 理解需求SQL注入攻擊的總體思路發(fā)現(xiàn)SQL注入位置; 判斷后臺數(shù)據(jù)庫類型; 猜測賬號模擬進攻1.2.6 環(huán)境的選擇本系統(tǒng)采用ASP.NET編程工具、Microsoft Access開發(fā)而成。因為Microsoft公司的ASP.NET是對于開發(fā)數(shù)據(jù)庫系統(tǒng)很方便,易學易用,它提供了大量的組件,來支持對數(shù)據(jù)庫的編程;它簡化了界面設計過程,減少了編程人員的工作量,從而有效的提高了應用程序的運行效率和可靠性,縮短了開發(fā)時間。故而,選擇了ASP.NET。選擇一個合適的數(shù)據(jù)庫系統(tǒng),是非常必要的。當前流行的小型數(shù)據(jù)系統(tǒng)一般有Access,Visual FoxPro等。因為本系統(tǒng)數(shù)據(jù)庫不是很大,所以選擇了Microsoft Access。 2 數(shù)據(jù)庫概論2.1 數(shù)據(jù)庫技術的概述數(shù)據(jù)庫技術在計算機軟件領域研究中一直是非常重要的主題,產(chǎn)生于60年代,30多年來數(shù)據(jù)庫技術得到了迅速發(fā)展,并已形成較為完整的理論體系和一大批實用系統(tǒng),如SQL Server,Access等。近年來,隨著World Wide Web的猛增及Internet技術的迅速發(fā)展,使得數(shù)據(jù)庫技術成為最熱門技術之一。2.2 數(shù)據(jù)庫理論基礎一個成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫是其中一個非常重要的條件和關鍵技術4。 信息管理系統(tǒng)所涉及的數(shù)據(jù)庫設計分五個步驟:數(shù)據(jù)庫需求分析、概念設計、邏輯設計、物理設計與加載測試。(1) 數(shù)據(jù)庫需求分析的任務是:將業(yè)務管理單證流化為數(shù)據(jù)流,劃分主題之間的邊界,繪制出DFD圖,并完成相應的數(shù)據(jù)字典。(2) 概念設計的任務是:從DFD出發(fā),繪制出主題的實體關系圖,并列出各個實體與關系的綱要表。(3) 邏輯設計的任務是:從E-R圖與對應的綱要表出發(fā),確定各個實體及關系的表名屬性。(4) 物理設計的任務是:確定所有屬性的類型、寬度與取值范圍,設計出基本表的主鍵,將所有的表名與字段名英文化,實現(xiàn)物理建庫,完成數(shù)據(jù)庫物理設計字典。(5) 加載測試工作貫穿于程序測試工作的全過程,整個錄入、修改、查詢、處理工作均可視為對數(shù)據(jù)庫的加載測試工作。要設計出一個好的信息管理系統(tǒng)數(shù)據(jù)庫,除滿足系統(tǒng)所要求的功能外,還必須遵守下列原則: (1) 基本表的個數(shù)越少越好。(2) 主鍵的個數(shù)越少越好。鍵是表間連接的工具,主鍵越少,表間的連接就越簡單。(3) 字段的個數(shù)越少越好。(4) 所有基本表的設計均應盡量符合第三范式。2.2.1 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)是指數(shù)據(jù)庫系統(tǒng)中管理數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫系統(tǒng)的核心組成部分。對數(shù)據(jù)庫的一切操作,包括定義、更新及各種控制都是通過DBMS進行的。DBMS總是基于某種數(shù)據(jù)模型,可以把DBMS看成是某種數(shù)據(jù)模型在計算機系統(tǒng)上的具體實現(xiàn)。根據(jù)數(shù)據(jù)模型的不同,DBMS可以分成層次型、網(wǎng)狀型、關系型、面向對象型等。MS Access 2000就是一種關系型數(shù)據(jù)庫管理系統(tǒng)5。.2.2.2 SQL語言介紹(1) SQL 基礎SQL (Structured Query Language,結構查詢語言)是一個功能強大的數(shù)據(jù)庫語言。SQL通常使用于數(shù)據(jù)庫的通訊。ANSI(美國國家標準學會)聲稱,SQL是關系數(shù)據(jù)庫管理系統(tǒng)的標準語言。SQL語句通常用于完成一些數(shù)據(jù)庫的操作任務,比如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)。使用SQL的常見關系數(shù)據(jù)庫管理系統(tǒng)有:Oracle、 Sybase、 Microsoft SQL Server、 Access等等。標準的SQL命令,比如Select、 Insert、 Update、 Delete、 Create和 Drop常常被用于完成絕大多數(shù)數(shù)據(jù)庫的操作6。SQL語言有著非常突出的優(yōu)點,主要是:非過程化語言,統(tǒng)一的語言和所有關系數(shù)據(jù)庫的公共語言7。非過程化語言:SQL是一個非過程化的語言,因為它一次處理一個記錄,對數(shù)據(jù)提供自動導航。SQL允許用戶在高層的數(shù)據(jù)結構上工作,可操作記錄集,而不對單個記錄進行操作,所有SQL 語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結果作為另一條SQL語句的輸入。SQL不要求用戶指定對數(shù)據(jù)的存放方法,這種特性使用戶更易集中精力于要得到的結果。所有SQL語句使用查詢優(yōu)化器,它是RDBMS(關系數(shù)據(jù)庫管理系統(tǒng))的一部分,由它決定對指定數(shù)據(jù)存取的最快速度的手段,查詢優(yōu)化器就知道存在什么索引,在哪兒使用索引合適,而用戶則從不需要知道表是否有索引、有什么類型的索引。 統(tǒng)一的語言:SQL可用于所有用戶的DB活動模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、應用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。SQL為許多任務提供了命令,其中包括:查詢數(shù)據(jù);在表中插入、修改和刪除記錄;建立、修改和刪除數(shù)據(jù)對象;控制對數(shù)據(jù)和數(shù)據(jù)對象的存取,保證數(shù)據(jù)庫一致性和完整性。所有關系數(shù)據(jù)庫的公共語言:以前的數(shù)據(jù)庫管理系統(tǒng)只為上述各類操作提供單獨的語言,而SQL 將全部任務統(tǒng)一在一種語言中。由于所有主要的關系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS轉到另一個,所有用SQL編寫的程序都是可以移植的。(2) SQL 語句SQL功能強大,是一種完備的數(shù)據(jù)處理語言,不僅用于數(shù)據(jù)庫查詢,而且用于數(shù)據(jù)庫中的數(shù)據(jù)修改和更新,概括起來,它可以分成以下幾組8:DML(Data Manipulation Language,數(shù)據(jù)操作語言):用于檢索或者修改數(shù)據(jù); DML組可以細分為以下的幾個語句:SELECT用于檢索數(shù)據(jù);INSERT用于增加數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 紹興電動推拉棚施工方案
- 山東杏林科技職業(yè)學院《商務英語閱讀2》2023-2024學年第二學期期末試卷
- 四平職業(yè)大學《憲法與法理學前沿問題研究》2023-2024學年第二學期期末試卷
- 濟南幼兒師范高等專科學?!兑苿雍笈_設計與開發(fā)》2023-2024學年第一學期期末試卷
- 營口理工學院《藥廠設備及車間工藝設計》2023-2024學年第一學期期末試卷
- 宜春幼兒師范高等專科學?!陡怕收撆c數(shù)理統(tǒng)計II》2023-2024學年第二學期期末試卷
- 吉林交通職業(yè)技術學院《裝飾材料與構造》2023-2024學年第二學期期末試卷
- 洛陽文化旅游職業(yè)學院《農(nóng)業(yè)環(huán)境監(jiān)測》2023-2024學年第二學期期末試卷
- 煙臺鐵皮房防水施工方案
- 2025至2031年中國水晶活性金深層滋養(yǎng)去角質層行業(yè)投資前景及策略咨詢研究報告
- 【經(jīng)典】一次性使用氧氣濕化瓶-一次性使用加濕型鼻氧管介紹教學課件
- 建筑施工企業(yè)預結算制度
- 2023年中央民族大學事業(yè)編制人員招聘(共500題含答案解析)筆試歷年難、易錯考點試題含答案附詳解
- 托管中心消防應急預案
- 故意傷害(致死)罪與(間接)故意殺人罪的司法辨析
- HCCDP 云遷移認證理論題庫
- 2021兒童體格發(fā)育評估與管理臨床實踐專家共識
- 石灰石粉粉檢測報告
- 一般生產(chǎn)經(jīng)營單位主要負責人練習題參考模板范本
- TSTIC 110075-2022 三維心臟電生理標測系統(tǒng)
- 110kV變電站主接線一次接線圖
評論
0/150
提交評論