SQL注入畢業(yè)設(shè)計(jì)參考論文.doc_第1頁
SQL注入畢業(yè)設(shè)計(jì)參考論文.doc_第2頁
SQL注入畢業(yè)設(shè)計(jì)參考論文.doc_第3頁
SQL注入畢業(yè)設(shè)計(jì)參考論文.doc_第4頁
SQL注入畢業(yè)設(shè)計(jì)參考論文.doc_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

SQL注入演示與預(yù)防大學(xué)畢業(yè)設(shè)計(jì)(論文)SQL注入的演示與預(yù)防學(xué) 生 姓 名 指 導(dǎo) 教 師 專 業(yè) 學(xué) 院 摘 要 本論文是針對企事業(yè)單位管理系統(tǒng)平時(shí)預(yù)防SQL注入攻擊而進(jìn)行研究的,基于ASP.NET、Access 2003開發(fā)而成的攻防軟件,它提供了后臺(tái)注入SQL演示模塊、防止模塊、前臺(tái)網(wǎng)站顯示模塊、前臺(tái)注入模塊、前臺(tái)預(yù)防模塊。本演示做的主要是觀看靈活、易懂、是有效的防止SQL注入的手段。 關(guān)鍵詞: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注入演示與預(yù)防目錄摘 要IAbstractII1緒 論11.1課題設(shè)計(jì)的背景和特點(diǎn)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ù)庫技術(shù)的概述32.2 數(shù)據(jù)庫理論基礎(chǔ)32.2.1 數(shù)據(jù)庫管理系統(tǒng) SQL語言介紹43 系統(tǒng)開發(fā)工具63.1 vs2010組件的體系結(jié)構(gòu)63.2 數(shù)據(jù)庫組件介紹63.3 MS Access 2003簡介73.4 MS Access 2003與SQL Server 區(qū)別74 概要設(shè)計(jì)94.6 系統(tǒng)中所用數(shù)據(jù)控件94.7.1 數(shù)據(jù)庫描述94.7.3 數(shù)據(jù)表結(jié)構(gòu)96.2 軟件測試106.2.1 測試的實(shí)現(xiàn)10結(jié) 論14參考文獻(xiàn)14致 謝16SQL注入的攻防演示1 緒 論1.1 課題設(shè)計(jì)的背景和特點(diǎn) 最近在做的項(xiàng)目是網(wǎng)絡(luò)安全評估的內(nèi)容,其中包含滲透測試,而SQL注入往往是滲透測試中最為有效的手段之一,本文中將會(huì)就SQL注入的原理和方法進(jìn)行敘述,使普通軟件開發(fā)者對SQL注入有所了解。如果有需要更詳細(xì)畢業(yè)設(shè)計(jì)資料的,各種畢業(yè)設(shè)計(jì)參考資料供大家學(xué)習(xí),聯(lián)系我SQL注入攻擊是黑客對數(shù)據(jù)庫進(jìn)行攻擊的常用手段之一。隨著B/S模式應(yīng)用開發(fā)的發(fā)展,使用這種模式編寫應(yīng)用程序的程序員也越來越多。但是由于程序員的水 平及經(jīng)驗(yàn)也參差不齊,相當(dāng)大一部分程序員在編寫代碼的時(shí)候,沒有對用戶輸入數(shù)據(jù)的合法性進(jìn)行判斷,使應(yīng)用程序存在安全隱患。用戶可以提交一段數(shù)據(jù)庫查詢代 碼,根據(jù)程序返回的結(jié)果,獲得某些他想得知的數(shù)據(jù),這就是所謂的SQL Injection,即SQL注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,如果有需要本文的全部資料,請加我騰訊企鵝6526558所以目前市面的防火墻都不會(huì) 對SQL注入發(fā)出警報(bào),如果管理員沒查看IIS日志的習(xí)慣,可能被入侵很長時(shí)間都不會(huì)發(fā)覺。但是,SQL注入的手法相當(dāng)靈活,在注入的時(shí)候會(huì)碰到很多意外 的情況,需要構(gòu)造巧妙的SQL語句,從而成功獲取想要的數(shù)據(jù)。SQL注入測試就是通過利用目標(biāo)網(wǎng)站的某個(gè)頁面缺少對用戶傳遞參數(shù)控制或者控制的不夠好的情 況下出現(xiàn)的漏洞,從而達(dá)到獲取、修改、刪除數(shù)據(jù),甚至控制數(shù)據(jù)庫服務(wù)器、Web服務(wù)器的目的的測試方法。1.2 需求分析1.2.1 需求分析的必要性需求分析是數(shù)據(jù)庫管理系統(tǒng)開發(fā)的第一步,如果有需要本文的全部資料,請加我騰訊企鵝6526558也是最重要的一步SQL注入的攻防演示也不例外。只有通過軟件需求分析,才能把軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說明,從而奠定軟件開發(fā)的基礎(chǔ)。軟件需求的分析和說明對于軟件開發(fā)工作的成功與否是至關(guān)重要的,如果有需要更詳細(xì)畢業(yè)設(shè)計(jì)資料的、規(guī)范的過程。它有益于提高軟件開發(fā)過程中的能見度,便于對軟件開發(fā)過程中的控制與管理,便于采用工程方法開發(fā)軟件,提高軟件的質(zhì)量,便于開發(fā)人員、測試人員之間的交流、協(xié)作,并作為工作成果的原始依據(jù),并且在向潛在用戶傳遞軟件功能、性能需求,使其能夠判斷該軟件是否與自己的需求相關(guān)。1.2.2 功能劃分該系統(tǒng)是采用目前比較流行的數(shù)據(jù)庫開發(fā)工具開發(fā)的基于windows操作臺(tái)下運(yùn)行的SQL攻防演示。這套軟件簡單易懂,能有效的防止SQL注入。(1) 外部功能:一個(gè)普通網(wǎng)站的前臺(tái)展示功能。 (2) 內(nèi)部功能:一個(gè)完整的后臺(tái)添加功能。(3) 系統(tǒng)構(gòu)成描述:其中包括前臺(tái)注入和后臺(tái)注入2個(gè)模塊,也包括了各自的預(yù)防功能。1.2.3 演示描述 (1) 后臺(tái)注入演示登陸界面會(huì)出現(xiàn)用戶名和密碼三個(gè)文本框以及登陸和退出兩個(gè)按鈕,演示者可以先用常用的破解方法,在沒有輸入用戶名和密碼的情況下登陸到系統(tǒng)的后臺(tái)。 (2) 后臺(tái)預(yù)防演示讓攻擊者采用同樣的攻擊方式,但是卻不能成功進(jìn)入后臺(tái),此方案有2種預(yù)防方式,都會(huì)展示。(3) 后臺(tái)管理模塊后臺(tái)管理模塊采用正常的主流的ASP.NET進(jìn)行開發(fā),完全模擬了網(wǎng)站后臺(tái)的開發(fā)。 (4)前臺(tái)展示模塊模擬了一個(gè)小公司的網(wǎng)站,有新聞?wù)故竞彤a(chǎn)品添加等模塊。1.2.4 理解需求SQL注入攻擊的總體思路發(fā)現(xiàn)SQL注入位置; 判斷后臺(tái)數(shù)據(jù)庫類型; 猜測賬號(hào)模擬進(jìn)攻1.2.6 環(huán)境的選擇本系統(tǒng)采用ASP.NET編程工具、Microsoft Access開發(fā)而成。因?yàn)镸icrosoft公司的ASP.NET是對于開發(fā)數(shù)據(jù)庫系統(tǒng)很方便,易學(xué)易用,它提供了大量的組件,來支持對數(shù)據(jù)庫的編程;它簡化了界面設(shè)計(jì)過程,減少了編程人員的工作量,從而有效的提高了應(yīng)用程序的運(yùn)行效率和可靠性,縮短了開發(fā)時(shí)間。故而,選擇了ASP.NET。選擇一個(gè)合適的數(shù)據(jù)庫系統(tǒng),是非常必要的。當(dāng)前流行的小型數(shù)據(jù)系統(tǒng)一般有Access,Visual FoxPro等。因?yàn)楸鞠到y(tǒng)數(shù)據(jù)庫不是很大,所以選擇了Microsoft Access。 2 數(shù)據(jù)庫概論2.1 數(shù)據(jù)庫技術(shù)的概述數(shù)據(jù)庫技術(shù)在計(jì)算機(jī)軟件領(lǐng)域研究中一直是非常重要的主題,產(chǎn)生于60年代,30多年來數(shù)據(jù)庫技術(shù)得到了迅速發(fā)展,并已形成較為完整的理論體系和一大批實(shí)用系統(tǒng),如SQL Server,Access等。近年來,隨著World Wide Web的猛增及Internet技術(shù)的迅速發(fā)展,使得數(shù)據(jù)庫技術(shù)成為最熱門技術(shù)之一。2.2 數(shù)據(jù)庫理論基礎(chǔ)一個(gè)成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫是其中一個(gè)非常重要的條件和關(guān)鍵技術(shù)4。 信息管理系統(tǒng)所涉及的數(shù)據(jù)庫設(shè)計(jì)分五個(gè)步驟:數(shù)據(jù)庫需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)與加載測試。(1) 數(shù)據(jù)庫需求分析的任務(wù)是:將業(yè)務(wù)管理單證流化為數(shù)據(jù)流,劃分主題之間的邊界,繪制出DFD圖,并完成相應(yīng)的數(shù)據(jù)字典。(2) 概念設(shè)計(jì)的任務(wù)是:從DFD出發(fā),繪制出主題的實(shí)體關(guān)系圖,并列出各個(gè)實(shí)體與關(guān)系的綱要表。(3) 邏輯設(shè)計(jì)的任務(wù)是:從E-R圖與對應(yīng)的綱要表出發(fā),確定各個(gè)實(shí)體及關(guān)系的表名屬性。(4) 物理設(shè)計(jì)的任務(wù)是:確定所有屬性的類型、寬度與取值范圍,設(shè)計(jì)出基本表的主鍵,將所有的表名與字段名英文化,實(shí)現(xiàn)物理建庫,完成數(shù)據(jù)庫物理設(shè)計(jì)字典。(5) 加載測試工作貫穿于程序測試工作的全過程,整個(gè)錄入、修改、查詢、處理工作均可視為對數(shù)據(jù)庫的加載測試工作。要設(shè)計(jì)出一個(gè)好的信息管理系統(tǒng)數(shù)據(jù)庫,除滿足系統(tǒng)所要求的功能外,還必須遵守下列原則: (1) 基本表的個(gè)數(shù)越少越好。(2) 主鍵的個(gè)數(shù)越少越好。鍵是表間連接的工具,主鍵越少,表間的連接就越簡單。(3) 字段的個(gè)數(shù)越少越好。(4) 所有基本表的設(shè)計(jì)均應(yīng)盡量符合第三范式。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進(jìn)行的。DBMS總是基于某種數(shù)據(jù)模型,可以把DBMS看成是某種數(shù)據(jù)模型在計(jì)算機(jī)系統(tǒng)上的具體實(shí)現(xiàn)。根據(jù)數(shù)據(jù)模型的不同,DBMS可以分成層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮偷?。MS Access 2000就是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)5。.2.2.2 SQL語言介紹(1) SQL 基礎(chǔ)SQL (Structured Query Language,結(jié)構(gòu)查詢語言)是一個(gè)功能強(qiáng)大的數(shù)據(jù)庫語言。SQL通常使用于數(shù)據(jù)庫的通訊。ANSI(美國國家標(biāo)準(zhǔn)學(xué)會(huì))聲稱,SQL是關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句通常用于完成一些數(shù)據(jù)庫的操作任務(wù),比如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)。使用SQL的常見關(guān)系數(shù)據(jù)庫管理系統(tǒng)有:Oracle、 Sybase、 Microsoft SQL Server、 Access等等。標(biāo)準(zhǔn)的SQL命令,比如Select、 Insert、 Update、 Delete、 Create和 Drop常常被用于完成絕大多數(shù)數(shù)據(jù)庫的操作6。SQL語言有著非常突出的優(yōu)點(diǎn),主要是:非過程化語言,統(tǒng)一的語言和所有關(guān)系數(shù)據(jù)庫的公共語言7。非過程化語言:SQL是一個(gè)非過程化的語言,因?yàn)樗淮翁幚硪粋€(gè)記錄,對數(shù)據(jù)提供自動(dòng)導(dǎo)航。SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,可操作記錄集,而不對單個(gè)記錄進(jìn)行操作,所有SQL 語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結(jié)果作為另一條SQL語句的輸入。SQL不要求用戶指定對數(shù)據(jù)的存放方法,這種特性使用戶更易集中精力于要得到的結(jié)果。所有SQL語句使用查詢優(yōu)化器,它是RDBMS(關(guān)系數(shù)據(jù)庫管理系統(tǒng))的一部分,由它決定對指定數(shù)據(jù)存取的最快速度的手段,查詢優(yōu)化器就知道存在什么索引,在哪兒使用索引合適,而用戶則從不需要知道表是否有索引、有什么類型的索引。 統(tǒng)一的語言:SQL可用于所有用戶的DB活動(dòng)模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。SQL為許多任務(wù)提供了命令,其中包括:查詢數(shù)據(jù);在表中插入、修改和刪除記錄;建立、修改和刪除數(shù)據(jù)對象;控制對數(shù)據(jù)和數(shù)據(jù)對象的存取,保證數(shù)據(jù)庫一致性和完整性。所有關(guān)系數(shù)據(jù)庫的公共語言:以前的數(shù)據(jù)庫管理系統(tǒng)只為上述各類操作提供單獨(dú)的語言,而SQL 將全部任務(wù)統(tǒng)一在一種語言中。由于所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,用戶可將使用SQL的技能從一個(gè)RDBMS轉(zhuǎn)到另一個(gè),所有用SQL編寫的程序都是可以移植的。(2) SQL 語句SQL功能強(qiáng)大,是一種完備的數(shù)據(jù)處理語言,不僅用于數(shù)據(jù)庫查詢,而且用于數(shù)據(jù)庫中的數(shù)據(jù)修改和更新,概括起來,它可以分成以下幾組8:DML(Data Manipulation Language,數(shù)據(jù)操作語言):用于檢索或者修改數(shù)據(jù); DML組可以細(xì)分為以下的幾個(gè)語句:SELECT用于檢索數(shù)據(jù);INSERT用于增加數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論