【文章內(nèi)容簡介】
QL SERVER 數(shù)據(jù)庫注入簡介所謂的SQL(結(jié)構(gòu)化查詢語言)注入,簡單來說就是利用SQL語句在外部隊SQL數(shù)據(jù)庫進行查詢,更新等動作。首先,數(shù)據(jù)庫作為一個網(wǎng)站最重要的組件之一(如果這個網(wǎng)站有數(shù)據(jù)庫的話),里面是儲存著各種各樣的內(nèi)容,包括管理員的賬號密碼, 網(wǎng)站的配備內(nèi)容等,一旦里面的數(shù)據(jù)被某人獲得或者是被修改,那么那個人就可能獲得整個網(wǎng)站的控制權(quán)。至于怎么獲得這些數(shù)據(jù),那些MSSQL弱口令的就不說,剩下的最有可能就是利用注入漏洞。 當用戶在網(wǎng)站外部提交一個參數(shù)進入數(shù)據(jù)庫處理,然后把處理后的結(jié)果發(fā)給用戶,這個時動態(tài)網(wǎng)頁最常見的,但是這個參數(shù)一旦沒有被過濾,使得我們自己構(gòu)造的sql語句也可以和參數(shù)一起參與數(shù)據(jù)庫操作的,那么SQL注入漏洞就會產(chǎn)生 SQL SERVER 數(shù)據(jù)庫防注入 可通過注入點隱藏關(guān)鍵字過濾等。 代碼 見附錄(3) 關(guān)鍵字段數(shù)據(jù)加密技術(shù) 數(shù)據(jù)加密介紹數(shù)據(jù)加密,即以加密格式存儲和傳輸敏感數(shù)據(jù)。 數(shù)據(jù)加密的術(shù)語有:明文,即原始的或未加密的數(shù)據(jù)。通過加密算法對其進行加密,加密算法的輸入信息為明文和 密鑰;密文,明文加密后的格式,是加密算法的輸出信息。加密算法是公開的,而密鑰則是不公開的。密文,不應(yīng)為無 密鑰的用戶理解,用于數(shù)據(jù)的存儲以及傳輸。本系統(tǒng)采用獨有的數(shù)據(jù)加密算法能夠有效的對數(shù)據(jù)庫內(nèi)關(guān)鍵數(shù)據(jù)進行加密。有效的保障了數(shù)據(jù)安全如果圖6—1和圖6—2所示:加密前數(shù)據(jù)庫user表密碼字段:圖61加密后數(shù)據(jù)庫user表中密碼字段:圖62具體程序代碼: 見附錄(3)第7章 系統(tǒng)編碼實現(xiàn) 頁面設(shè)計如圖7為新聞發(fā)布系統(tǒng)首頁,主要顯示新聞,文章搜索、新聞評論、新聞排行、圖文排行、友情連接、和網(wǎng)站的基本信息版權(quán)申明等。圖71. ,本頁面主要用于用戶發(fā)表對新聞的評論和顯示用戶評論。,本頁面主要用于用戶發(fā)表流言和顯示用戶流言。 后臺管理界面的設(shè)計后臺的設(shè)計主要分為7大塊:系統(tǒng)管理、欄目信息管理、新聞管理、留言管理、友情連接管理、版權(quán)信息等如圖72所示圖72(1)系統(tǒng)管理主要包括用戶管理和基本信息管理。用戶管理可管理用戶的信息對其信息進行增、刪、改、查。基本信息管理可添加本網(wǎng)站的基本信息并對他做出相應(yīng)的管理。、。(2) 欄目信息管理主要管理新聞網(wǎng)站的欄目可添加欄目并管理。、。(3) 新聞管理包括文章管理和圖文管理,此乃網(wǎng)站的核心部分。能夠發(fā)布新聞和圖片新聞并對他進行增、刪、改、查操作。并能分內(nèi)顯示在前臺頁面中。、。(4) 留言管理管理員能審核用戶的評論和留言,并看其內(nèi)容性質(zhì)看是否發(fā)布。杜絕不良、惡意的信息發(fā)布。(5) 友情連接管理可添加網(wǎng)站的友情連接,并做出相應(yīng)的管理。(7) 版權(quán)聲明,對本站點的所有權(quán)做出說明。 BBS設(shè)計BBS管理包括精華帖子、發(fā)表帖子、管理用戶、管理模塊、管理帖子、幫助、返回首頁 、 退出系統(tǒng)等模塊能夠進行帖子的發(fā)表、優(yōu)秀帖的推薦管理用戶和帖子并對帖子做出相應(yīng)的管理,還有幫助設(shè)計給那些新手提供幫助實現(xiàn)人性化的管理。并能一鍵退出系統(tǒng)并返回網(wǎng)站首頁。如圖73圖73用戶登錄后可以發(fā)帖或?qū)λ说奶M行評論。、管理員登錄后能對BBS全面管理。 編碼詳細代碼見附錄第8章 總結(jié)短短10天畢業(yè)設(shè)計,每天忙忙碌碌,一步一步走來,今天終于迎來了自己的成果。在這期間,經(jīng)常遇到各種各樣的問題,時常為不能解決的問題而一籌莫展,但這并未因此打消我的信心,而是使我更加專著的去解決問題,也因此這相對短暫的時間卻是三年來過得最為充實的日子,充滿了挑戰(zhàn)的艱辛與樂趣。在老師的指導(dǎo)和督促下,經(jīng)過10天的緊張設(shè)計與開發(fā),我的畢業(yè)設(shè)計基于 。 通過本系統(tǒng)的開發(fā)使我所學(xué)的專業(yè)知識得到了綜合的運用,對以前很多抽象、枯燥的理論知識加深了理解,同時也使我學(xué)會了利用結(jié)構(gòu)化程序設(shè)計思想開發(fā)管理信息系統(tǒng),加深了解了基于B/S的開發(fā)模式,并用模塊化方法加以實現(xiàn)。 通過本次的系統(tǒng)開發(fā),我深刻地認識到信息系統(tǒng)開發(fā)的每一步都是以上一步為基礎(chǔ)的。因此每一步文檔的編寫都必須正確、完整,否則就會給下一步的工作帶來不必要的麻煩,加大工作量。因為系統(tǒng)是為用戶服務(wù)的,所以要充分了解用戶的需求,考慮用戶的特點和使用方面的習(xí)慣,以協(xié)調(diào)人機關(guān)系。在系統(tǒng)實施中應(yīng)結(jié)合各方面的要求,盡可能選擇自己熟悉的程序設(shè)計語言。系統(tǒng)測試中要根據(jù)實際情況設(shè)計有效的測試方法。 在系統(tǒng)設(shè)計過程中,從用戶的角度出發(fā),在系統(tǒng)的可用性和易用性上做了很多功夫,力求能達到最好的效果。但由于我的編程實現(xiàn)能力和畢業(yè)設(shè)計的時間都有限,我對學(xué)生檔案管理這一系列工作的具體內(nèi)容也不是特別地了解,所以目前我還不能把網(wǎng)上系統(tǒng)這個系統(tǒng)較為完善地實現(xiàn)出來,希望以后有機會能夠彌補這個遺憾。能夠順利的完成這次畢業(yè)設(shè)計,也得益于指導(dǎo)教師的幫助,在他們的幫助下,通過到網(wǎng)上查資料,借閱圖書等一些途徑,使困難很快的得到解決。短短的10天,終于按照設(shè)計說明書的要求完成了自己的畢業(yè)設(shè)計,由于時間有限、自身知識水平不足,我的設(shè)計還難免存在著很多不足的地方,請各位老師給予指正和提出寶貴的建議,我堅信在今后的工作中我會做得更好。致謝大學(xué)3年的學(xué)習(xí)生活即將結(jié)束,在這3年的學(xué)習(xí)生涯中得到了許多人的關(guān)心和幫助,在此,我要衷心感謝所有曾經(jīng)教導(dǎo)過我的老師和關(guān)心過我的同學(xué),他們在我成長的過程中給予了我很大的幫助。經(jīng)過近幾個月的忙碌,本次畢業(yè)設(shè)計已經(jīng)接近尾聲,作為一個專科生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及同學(xué)們的支持,想要完成這個設(shè)計是難以想象的。這次做畢業(yè)設(shè)計的經(jīng)歷也會使我受益良多,我感受到做畢業(yè)設(shè)計是要真真正正用心去做的一件事情,是真正的自己學(xué)習(xí)的過程和研究的過程,沒有學(xué)習(xí)就不可能有研究的能力,沒有自己的研究,就不會有所突破。希望這次的經(jīng)歷能讓我在以后學(xué)習(xí)中激勵我繼續(xù)進步。不積跬步何以至千里。本設(shè)計能夠順利的完成,要特別感謝幫助我完成畢業(yè)設(shè)計的指導(dǎo)老師的關(guān)懷和教導(dǎo),她對我的畢業(yè)設(shè)計提出了很多的建議,還給我提供了大量的資料。她嚴謹?shù)闹螌W(xué)態(tài)度、誨人不倦的教學(xué)作風(fēng)給我留下了深刻的印象。此外還要感謝各位任課老師,正是他們平時的認真負責,使我能夠很好的掌握和運用專業(yè)知識,并在設(shè)計中得以體現(xiàn)。正是有了他們的悉心幫助和支持,才使我的畢業(yè)設(shè)計工作順利完成,在此向全體老師表示由衷的謝意,感謝他們?nèi)陙淼男燎谠耘唷⒖嘉墨I《》 Microsoft編著 高等教育出版社《數(shù)據(jù)庫訪問技術(shù)》 Microsoft編著 高等教育出版社《數(shù)據(jù)庫程序設(shè)計》 Microsoft編著 高等教育出版社附錄(1)數(shù)據(jù)字典文章信息表網(wǎng)站基本信息表欄目表用戶留言表友情連接表滾動新聞表圖文新聞表新聞評論表管理員表論壇發(fā)帖表幫助表論壇欄目表論壇評論表用戶信息表附錄(2)數(shù)據(jù)庫建庫腳本:create database CompanyGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。[dbo].[c_column]39。) AND type in (N39。U39。))BEGINCREATE TABLE [dbo].[c_column]( [ID] [uniqueidentifier] NOT NULL, [c_name] [varchar](20) NOT NULL, [c_type] [tinyint] NOT NULL CONSTRAINT [DF_c_type_c_type] DEFAULT (0), [c_sort] [int] NOT NULL CONSTRAINT [DF_c_type_c_sort] DEFAULT (1), CONSTRAINT [PK_c_type] PRIMARY KEY CLUSTERED ( [ID] ASC)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。[dbo].[c_reply]39。) AND type in (N39。U39。))BEGINCREATE TABLE [dbo].[c_reply]( [id] [uniqueidentifier] NOT NULL, [aid] [uniqueidentifier] NOT NULL, [title] [char](50) NOT NULL, [content] [varchar](200) NOT NULL, [datetime] [datetime] NOT NULL, CONSTRAINT [PK_c_reply] PRIMARY KEY CLUSTERED ( [id] ASC)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。[dbo].[c_guestbook]39。) AND type in (N39。U39。))BEGINCREATE TABLE [dbo].[c_guestbook]( [id] [uniqueidentifier] NOT NULL, [g_title] [varchar](50) NOT NULL, [g_content] [varchar](500) NOT NULL, [g_datetime] [datetime] NOT NULL, [g_sh] [char](2) NOT NULL CONSTRAINT [DF_guestbook_g_sh] DEFAULT (39。否39。), CONSTRAINT [PK_guestbook] PRIMARY KEY CLUSTERED ( [id] ASC)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。[dbo].[c_link]39。) AND type in (N39。U39。))BEGINCREATE TABLE [dbo].[c_link]( [id] [uniqueidentifier] NOT NULL, [title] [varchar](50) NOT NULL, [url] [varchar](100) NOT NULL, [sort] [tinyint] NOT NULL CONSTRAINT [DF_c_link_sort] DEFAULT (0), CONSTRAINT [PK_c_link] PRIMARY KEY CLUSTERED ( [id] ASC)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。[dbo].[c_msg]39。) AND type in (N39。U39。))BEGINCREATE TABLE [dbo].[c_msg]( [ID] [uniqueidentifier] NOT NULL, [title] [varchar](50) NOT NULL, [url] [varchar](100) NOT NULL, [datetime] [datetime] NOT NULL, CONSTRAINT [PK_c_msg] PRIMARY KEY CLUSTERED ( [ID] ASC)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。[dbo].[c_user]39。) AND type in (N39。U39。))BEGINCREATE TABLE [dbo].[c_user]( [id] [uniqueidentifier] NOT NULL, [u_name] [varchar](20) NOT NULL, [u_pass] [varchar](20) NOT NULL, [u_qx] [tinyint] NOT NULL,