SQL注入畢業(yè)設(shè)計(jì)參考論文_第1頁(yè)
SQL注入畢業(yè)設(shè)計(jì)參考論文_第2頁(yè)
SQL注入畢業(yè)設(shè)計(jì)參考論文_第3頁(yè)
SQL注入畢業(yè)設(shè)計(jì)參考論文_第4頁(yè)
SQL注入畢業(yè)設(shè)計(jì)參考論文_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余4頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、SQL注入演示與預(yù)防大學(xué)畢業(yè)設(shè)計(jì)(論文)SQL注入的演示與預(yù)防學(xué)生姓名指導(dǎo)教師專(zhuān)業(yè)學(xué)院摘要本論文是針對(duì)企事業(yè)單位管理系統(tǒng)平時(shí)預(yù)防SQL注入攻擊而進(jìn)行研究的,基于ASP.NET、Access2003開(kāi)發(fā)而成的攻防軟件,它提供了后臺(tái)注入SQL演示模塊、防止模塊、前臺(tái)網(wǎng)站顯示模塊、前臺(tái)注入模塊、前臺(tái)預(yù)防模塊。本演示做的主要是觀看靈活、易懂、是有效的防止SQL注入的手段。關(guān)鍵詞:SQL注入,ASP.NETSQL注入演示與預(yù)防AbstractThispaperisaimedatthebusinessunitmanagementsystemusuallypreventSQLinjectionattacks

2、andresearch,ASP.NET,andAccess2003softwaredevelopmentbasedondefense,itprovidesthebackgroundintotheSQLdemonstrationmodule,preventingmodule,displaymodule,frontdeskreceptionsiteintothemodule,thepreventionofmodule.Thispresentationisflexible,easytowatch,iseffectivetopreventSQLinjectionmethod.itprovidesthe

3、backgroundintotheSQLdemonstrationmodule,preventingmodule,displaymodule,frontdeskreceptionsiteintothemodule,thepreventionofmodule.Thispresentationisflexible,easytowatch,iseffectivetopreventSQLinjectionmethod.itprovidesthebackgroundintotheSQLdemonstrationmodule,preventingmodule,displaymodule,frontdesk

4、receptionsiteintothemodule,thepreventionofmodule.Thispresentationisflexible,easytowatch,iseffectivetopreventSQLinjectionmethod.itprovidesthebackgroundintotheSQLdemonstrationmodule,preventingmodule,displaymodule,frontdeskreceptionsiteintothemodule,thepreventionofmodule.Thispresentationisflexible,easy

5、towatch,iseffectivetopreventSQLinjectionmethod.KeyWords:SQLinjection,ASP.NETIISQL注入演示與預(yù)防目錄摘要I.AbstractII1 緒論41.1 課題設(shè)計(jì)的背景和特點(diǎn)41.2 需求分析41.2.1 需求分析的必要性41.2.2 功能劃分51.2.3 演示描述51.2.4 理解需求51.2.6 環(huán)境的選擇52數(shù)據(jù)庫(kù)概論62.1 數(shù)據(jù)庫(kù)技術(shù)的概述62.2 數(shù)據(jù)庫(kù)理論基礎(chǔ)62.2.1 數(shù)據(jù)庫(kù)管理系統(tǒng)SQL語(yǔ)言介紹73系統(tǒng)開(kāi)發(fā)工具93.1 vs2010組件的體系結(jié)構(gòu)93.2 數(shù)據(jù)庫(kù)組件介紹錯(cuò)誤!未定義書(shū)簽。3

6、.3 MSAccess2003簡(jiǎn)介錯(cuò)誤!未定義書(shū)簽。3.4 MSAccess2003與SQLServer區(qū)別錯(cuò)誤!未定義書(shū)簽。4概要設(shè)計(jì)第誤!未定義書(shū)簽。4.6 系統(tǒng)中所用數(shù)據(jù)控件錯(cuò)誤!未定義書(shū)簽。4.7.1數(shù)據(jù)庫(kù)描述錯(cuò)誤!未定義書(shū)簽。4.7.3數(shù)據(jù)表結(jié)構(gòu)錯(cuò)誤!未定義書(shū)簽。6.2軟件測(cè)試錯(cuò)誤!未定義書(shū)簽。6.2.1測(cè)試的實(shí)現(xiàn)錯(cuò)誤!未定義書(shū)簽。結(jié)論錯(cuò)誤!未定義書(shū)簽。參考文獻(xiàn)錯(cuò)誤!未定義書(shū)簽。致謝錯(cuò)誤!未定義書(shū)簽。SQL注入的攻防演示1.1 課題設(shè)計(jì)的背景和特點(diǎn)最近在做的項(xiàng)目是網(wǎng)絡(luò)安全評(píng)估的內(nèi)容,其中包含滲透測(cè)試,而SQL注入往往是滲透測(cè)試中最為有效的手段之一,本文中將會(huì)就SQL注入的原理和方法進(jìn)

7、行敘述,使普通軟件開(kāi)發(fā)者對(duì)SQL注入有所了解。如果有需要更詳細(xì)畢業(yè)設(shè)計(jì)資料的,各種畢業(yè)設(shè)計(jì)參考資料供大家學(xué)習(xí),聯(lián)系我SQL注入攻擊是黑客對(duì)數(shù)據(jù)庫(kù)進(jìn)行攻擊的常用手段之一。隨著B(niǎo)/S模式應(yīng)用開(kāi)發(fā)的發(fā)展,使用這種模式編寫(xiě)應(yīng)用程序的程序員也越來(lái)越多。但是由于程序員的水平及經(jīng)驗(yàn)也參差不齊,相當(dāng)大一部分程序員在編寫(xiě)代碼的時(shí)候,沒(méi)有對(duì)用戶(hù)輸入數(shù)據(jù)的合法性進(jìn)行判斷,使應(yīng)用程序存在安全隱患。用戶(hù)可以提交一段數(shù)據(jù)庫(kù)查詢(xún)代碼,根據(jù)程序返回的結(jié)果,獲得某些他想得知的數(shù)據(jù),這就是所謂的SQLInjection,即SQL注入。SQL注入是從正常的WWW端口訪問(wèn),而且表面看起來(lái)跟一般的Web頁(yè)面訪問(wèn)沒(méi)什么區(qū)別,如果有需要本

8、文的全部資料,請(qǐng)加我騰訊企鵝6526558所以目前市面的防火墻都不會(huì)對(duì)SQL注入發(fā)出警報(bào),如果管理員沒(méi)查看IIS日志的習(xí)慣,可能被入侵很長(zhǎng)時(shí)間都不會(huì)發(fā)覺(jué)。但是,SQL注入的手法相當(dāng)靈活,在注入的時(shí)候會(huì)碰到很多意外的情況,需要構(gòu)造巧妙的SQL語(yǔ)句,從而成功獲取想要的數(shù)據(jù)。SQL注入測(cè)試就是通過(guò)利用目標(biāo)網(wǎng)站的某個(gè)頁(yè)面缺少對(duì)用戶(hù)傳遞參數(shù)控制或者控制的不夠好的情況下出現(xiàn)的漏洞,從而達(dá)到獲取、修改、刪除數(shù)據(jù),甚至控制數(shù)據(jù)庫(kù)服務(wù)器、Web服務(wù)器的目的的測(cè)試方法。1.2 需求分析1.2.1 需求分析的必要性需求分析是數(shù)據(jù)庫(kù)管理系統(tǒng)開(kāi)發(fā)的第一步,如果有需要本文的全部資料,請(qǐng)加我騰訊企鵝6526558也是最重要

9、的一步SQL注入的攻防演示也不例外。只有通過(guò)軟件需求分析,才能把軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說(shuō)明,從而奠定軟件開(kāi)發(fā)的基礎(chǔ)。軟件需求的分析和說(shuō)明對(duì)于軟件開(kāi)發(fā)工作的成功與否是至關(guān)重要的,如果有需要更詳細(xì)畢業(yè)設(shè)計(jì)資料的、規(guī)范的過(guò)程。它有益于提高軟件開(kāi)發(fā)過(guò)程中的能見(jiàn)度,便于對(duì)軟件開(kāi)發(fā)過(guò)程中的控制與管理,便于采用工程方法開(kāi)發(fā)軟件,提高軟件的質(zhì)量,便于開(kāi)發(fā)人員、測(cè)試人員之間的交流、協(xié)作,并作為工作成果的原始依據(jù),并且在向潛在用戶(hù)傳遞軟件功能、性能需求,使其能夠判斷該軟件是否與自己的需求相關(guān)。SQL注入的攻防演示1.2.2 功能劃分該系統(tǒng)是采用目前比較流行的數(shù)據(jù)庫(kù)開(kāi)發(fā)工具開(kāi)發(fā)的基于win

10、dows操作臺(tái)下運(yùn)行的SQL攻防演示。這套軟件簡(jiǎn)單易懂,能有效的防止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)用戶(hù)名和密碼三個(gè)文本框以及登陸和退出兩個(gè)按鈕,演示者可以先用常用的破解方法,在沒(méi)有輸入用戶(hù)名和密碼的情況下登陸到系統(tǒng)的后臺(tái)。(2)后臺(tái)預(yù)防演示讓攻擊者采用同樣的攻擊方式,但是卻不能成功進(jìn)入后臺(tái),此方案有2種預(yù)防方式,都會(huì)展示。(3)后臺(tái)管理模塊后臺(tái)管理模塊采用正常的主流的ASP.NET進(jìn)行開(kāi)發(fā),完全模擬

11、了網(wǎng)站后臺(tái)的開(kāi)發(fā)。(4)前臺(tái)展示模塊模擬了一個(gè)小公司的網(wǎng)站,有新聞?wù)故竞彤a(chǎn)品添加等模塊。1.2.4 理解需求SQL注入攻擊的總體思路發(fā)現(xiàn)SQL注入位置;判斷后臺(tái)數(shù)據(jù)庫(kù)類(lèi)型;猜測(cè)賬號(hào)模擬進(jìn)攻1.2.6 環(huán)境的選擇本系統(tǒng)采用ASP.NET編程工具、MicrosoftAccess開(kāi)發(fā)而成。因?yàn)镸icrosoft公司的ASP.NET是對(duì)于開(kāi)發(fā)數(shù)據(jù)庫(kù)系統(tǒng)很方便,易學(xué)易用,它提供了大量的組件,SQL注入的攻防演示來(lái)支持對(duì)數(shù)據(jù)庫(kù)的編程;它簡(jiǎn)化了界面設(shè)計(jì)過(guò)程,減少了編程人員的工作量,從而有效的提高了應(yīng)用程序的運(yùn)行效率和可靠性,縮短了開(kāi)發(fā)時(shí)間。故而,選擇了ASP.NET。選擇一個(gè)合適的數(shù)據(jù)庫(kù)系統(tǒng),是非常必要的。

12、當(dāng)前流行的小型數(shù)據(jù)系統(tǒng)一般有Access,VisualFoxPro等。因?yàn)楸鞠到y(tǒng)數(shù)據(jù)庫(kù)不是很大,所以選擇了MicrosoftAccess2數(shù)據(jù)庫(kù)概論2.1 數(shù)據(jù)庫(kù)技術(shù)的概述數(shù)據(jù)庫(kù)技術(shù)在計(jì)算機(jī)軟件領(lǐng)域研究中一直是非常重要的主題,產(chǎn)生于60年代,30多年來(lái)數(shù)據(jù)庫(kù)技術(shù)得到了迅速發(fā)展,并已形成較為完整的理論體系和一大批實(shí)用系統(tǒng),如SQLServer,Access等。近年來(lái),隨著WorldWideWeb的猛增及Internet技術(shù)的迅速發(fā)展,使得數(shù)據(jù)庫(kù)技術(shù)成為最熱門(mén)技術(shù)之一。2.2 數(shù)據(jù)庫(kù)理論基礎(chǔ)一個(gè)成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫(kù)是其中一個(gè)非常重要的條件和關(guān)鍵技術(shù)40信息管理系統(tǒng)所

13、涉及的數(shù)據(jù)庫(kù)設(shè)計(jì)分五個(gè)步驟:數(shù)據(jù)庫(kù)需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)與加載測(cè)試。(1)數(shù)據(jù)庫(kù)需求分析的任務(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圖與對(duì)應(yīng)的綱要表出發(fā),確定各個(gè)實(shí)體及關(guān)系的表名屬性。(4)物理設(shè)計(jì)的任務(wù)是:確定所有屬性的類(lèi)型、寬度與取值范圍,設(shè)計(jì)出基本表的主鍵,將所有的表名與字段名英文化,實(shí)現(xiàn)物理建庫(kù),完成數(shù)據(jù)庫(kù)物理設(shè)計(jì)字典。(5)加載測(cè)試工作貫穿于程序測(cè)試工作的全過(guò)程,整個(gè)錄入、修改、查詢(xún)、處理工作

14、均可視為對(duì)數(shù)據(jù)庫(kù)的加載測(cè)試工作。要設(shè)計(jì)出一個(gè)好的信息管理系統(tǒng)數(shù)據(jù)庫(kù),除滿(mǎn)足系統(tǒng)所要求的功能外,還必須遵守下列原則:(1)基本表的個(gè)數(shù)越少越好。(2)主鍵的個(gè)數(shù)越少越好。鍵是表間連接的工具,主鍵越少,表問(wèn)的連接就越簡(jiǎn)SQL注入的攻防演示單。(3)字段的個(gè)數(shù)越少越好。(4)所有基本表的設(shè)計(jì)均應(yīng)盡量符合第三范式。2.2.1數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是指數(shù)據(jù)庫(kù)系統(tǒng)中管理數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫(kù)系統(tǒng)的核心組成部分。對(duì)數(shù)據(jù)庫(kù)的一切操作,包括定義、更新及各種控制都是通過(guò)DBMS進(jìn)行的。DBMS總是基于某種數(shù)據(jù)模型,可以把DBMS看成是某種數(shù)據(jù)模型在計(jì)算機(jī)系統(tǒng)上的具體實(shí)現(xiàn)。根據(jù)數(shù)據(jù)模型的

15、不同,DBMS可以分成層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮偷?。MSAccess2000就是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)5。.2.2.2SQL語(yǔ)言介紹(1)SQL基礎(chǔ)SQL(StructuredQueryLanguage結(jié)構(gòu)查詢(xún)語(yǔ)言)是一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)語(yǔ)言。SQL通常使用于數(shù)據(jù)庫(kù)的通訊。ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì))聲稱(chēng),SQL是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言。SQL語(yǔ)句通常用于完成一些數(shù)據(jù)庫(kù)的操作任務(wù),比如在數(shù)據(jù)庫(kù)中更新數(shù)據(jù),或者從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)。使用SQL的常見(jiàn)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)有:Oracle、SybaseMicrosoftSQLServer、Access等等。標(biāo)準(zhǔn)的SQL命令,比如"

16、;Select"、"Insert"、"Update"、"Delete"、"Create"和"Drop"常常被用于完成絕大多數(shù)數(shù)據(jù)庫(kù)的操作。SQL語(yǔ)言有著非常突出的優(yōu)點(diǎn),主要是:非過(guò)程化語(yǔ)言,統(tǒng)一的語(yǔ)言和所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言口。非過(guò)程化語(yǔ)言:SQL是一個(gè)非過(guò)程化的語(yǔ)言,因?yàn)樗淮翁幚硪粋€(gè)記錄,對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)航。SQL允許用戶(hù)在高層的數(shù)據(jù)結(jié)構(gòu)上工作,可操作記錄集,而不對(duì)單個(gè)記錄進(jìn)行操作,所有SQL語(yǔ)句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語(yǔ)句的結(jié)果作為另一

17、條SQL語(yǔ)句的輸入。SQL不要求用戶(hù)指定對(duì)數(shù)據(jù)的存放方法,這種特性使用戶(hù)更易集中精力于要得到的結(jié)果。所有SQL語(yǔ)句使用查詢(xún)優(yōu)化器,它是RDBMS(關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))的一部分,由它決定對(duì)指定數(shù)據(jù)存取的最快速度的手段,查詢(xún)優(yōu)化器就知道存在什么索引,在哪兒使用索引合適,而用戶(hù)則從不需要知道表是否有索引、有什么類(lèi)型的索引。SQL注入的攻防演示統(tǒng)一的語(yǔ)言:SQL可用于所有用戶(hù)的DB活動(dòng)模型,包括系統(tǒng)管理員、數(shù)據(jù)庫(kù)管理員、應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類(lèi)型的終端用戶(hù)。SQL為許多任務(wù)提供了命令,其中包括:查詢(xún)數(shù)據(jù);在表中插入、修改和刪除記錄;建立、修改和刪除數(shù)據(jù)對(duì)象;控制對(duì)數(shù)據(jù)和數(shù)據(jù)對(duì)象的存取,

18、保證數(shù)據(jù)庫(kù)一致性和完整性。所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言:以前的數(shù)據(jù)庫(kù)管理系統(tǒng)只為上述各類(lèi)操作提供單獨(dú)的語(yǔ)言,而SQL將全部任務(wù)統(tǒng)一在一種語(yǔ)言中。由于所有主要的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)都支持SQL語(yǔ)言,用戶(hù)可將使用SQL的技能從一個(gè)RDBMS轉(zhuǎn)到另一個(gè),所有用SQL編寫(xiě)的程序都是可以移植的。SQL語(yǔ)句SQL功能強(qiáng)大,是一種完備的數(shù)據(jù)處理語(yǔ)言,不僅用于數(shù)據(jù)庫(kù)查詢(xún),而且用于數(shù)據(jù)庫(kù)中的數(shù)據(jù)修改和更新,概括起來(lái),它可以分成以下幾組8:DML(DataManipulationLanguage,數(shù)據(jù)操作語(yǔ)言):用于檢索或者修改數(shù)據(jù);DML組可以細(xì)分為以下的幾個(gè)語(yǔ)句:SELECT-用于檢索數(shù)據(jù);INSERJ用于增加數(shù)據(jù)到數(shù)據(jù)庫(kù);UP

溫馨提示

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

評(píng)論

0/150

提交評(píng)論