亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

SQL Server安全之加密術和SQL注入攻擊

2024-08-31 01:05:36
字體:
來源:轉載
供稿:網友

SQL Server上內置了加密術用來保護各種類型的敏感數據。在很多時候,這個加密術對于你來說是完全透明的;當數據被存儲時候被加密,它們被使用的時候就會自動加密。在其他的情況下,你可以選擇數據是否要被加密。SQL Server可以加密下列這些組件:

?密碼

?存儲過程,視圖,觸發器,用戶自定義函數,默認值,和規則。

?在服務器和用戶之間傳輸的數據

密碼加密術

SQL Server自動將你分配給登陸和應用角色的密碼加密。盡管當你可以從主數據庫中直接察看系統表格而不需要密碼。你不能給對這種情況作出任何修改,事實上,你根本不能破壞它。

定義加密術

在有些時候,如果對對象進行加密是防止將一些信息分享給他人。例如,一個存儲進程可能包含所有者的商業信息,但是這個信息不能和讓其他的人看到,即使他們公開的系統表格并可以看到對象的定義。這就是為什么SQL Server允許你在創建一個對象的時候進行加密。為了加密一個存儲進程,使用下面形式的CREAT PROCEDURE 語句:

CREATE PROCEDURE procedurename [;number][@parameter datatype[VARYING][ = defaultvalue][OUTPUT]][, …][WITH RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION]

我們關心的僅僅是可選的WITH參數。你可以詳細說明ARECOMPILE或者ENCRYPTION,或者你可以同時說明它們。ENCRYPTION關鍵字保護SQL Server它不被公開在進程中。結果,如果ENCRYPTION在激活的時候系統存儲進程sp_helptext就會被忽視,這個存儲進程將被存儲在用戶創建進程的文本中。如果你不想要加密,你可以使用ALTER PROCEDURE,忽略WITH ENCRYPTION子句來重新創建一個進程。

為了能夠使用加密術。用戶和服務器都應該使用TCP/IP NetworkLibraries用來連接。運行適當的Network Utility和檢查Force protocol encryption,看下表,用戶和服務器之間的連接將不會被加密。

加密也不能完全自由。當連接確定后,要繼續其他的構造,并且用戶和服務器必須運行代碼來解釋加密和解釋的包裹。這里將需要一些開銷并且當在編譯碼的時候會使進程慢下來。如果網絡包裹在你控制范圍之外,使用這種做法是非常好的。

加密術中缺少什么?

你可以注意到在這個列表中缺少一些被加密的東西:你表格中的數據。在你存儲數據之前,SQL Server不會提供任何內置的工具來加密你的數據。如果你需要保護存儲在SQL Server上的數據,我們給你兩條建議:第一,你可以利用GRANT 和DENY關鍵字來控制你想哪個用戶可以在SQL Server中讀取的數據。

第二.如果你真的想對數據加密,不要設法加密碼。你可以利用被測試過的商業產品的算法。

SQL 注入攻擊

SQL 注入攻擊是一個常規性的攻擊,它可以允許一些不法用戶檢索你的數據,改變服務器的設置,或者在你不小心的時候黑掉你的服務器。SQL 注入攻擊不是SQL Server問題,而是不適當的程序。如果你想要運行這些程序的話,你必須明白這冒著一定的風險。

測點定位弱點

SQL 注入的脆弱點發生在程序開發員構造一個WHERE 子句伴隨著用戶的輸入的時候。比如,一個簡單的ASP程序允許用戶輸入一個顧客的ID然后檢索公司的全部人員的名字,如果顧客ID如果作為ASP頁面的請求串的一部分返回,那么開發員可以編寫下面的代碼獲得數據:

strConn = "Provider=SQLOLEDB;Data Source=(local);" & _"Database=Northwind;Integrated Security=SSPI"Set cnn = Server.CreateObject("ADODB.Connection")cnn.Open strConnstrQuery = "SELECT ContactName FROM Customers " & _“WHERE CustomerID = '" & Request.Form("CustID") & "'"Set rstResults = cnn.Execute(strQuery)Response.Write(rstResults.Fields("ContactName").Value)

現在你知道什么地方有問題了吧?如果用戶知道一個用戶的ID,他可以通過檢索來獲得全部的相應的名字?,F在明白了?

獲得額外的數據

當然,對于一個攻擊程序,盡管它不知道任何顧客的ID,甚至不用去猜,它也可以獲得數據。為了完成這個工作,它將下面的文本輸入到應用程序調用顧客ID的textbox中:

customer ID:'UNION ALL SELECT ContactName FROM CustomersWHERE CustomerID <>'

如果你輸入了這個代碼,你將會看到返回一個詢問語句:

SELECT ContactName FROM CustomersWHERE CustomerID = ''UNION ALL SELECT ContactName FROM CustomersWHERE CustomerID <>''

通過獲得空和非空顧客的ID并集,這個查詢語句會返回數據庫中所有的相關姓名。事實上,這個UNION技術可以被用來獲得你數據庫中大多數信息,看看這個CustomerID的值:

'UNION ALL SELECT FirstName ' ' LastName FROMEmployees WHERE LastName <>'

它將SQL語句變成:

SELECT ContactName FROM CustomersWHERE CustomerID = ''UNION ALL SELECT FirstName ' ' LastName FROMEmployees WHERE LastName <>''

看,那就是攻擊程序從你的數據庫獲得的第一個雇員的名字。

更多的攻擊程序

如果SQL注入僅僅只有數據暴光這個弱點就已經夠糟糕的了,但是,實際上一個良好的攻擊程序可以通過這個弱點獲取你數據庫中所有的資料??聪旅孢@個例子:

';DROP TABLE Customers;--

SQL語句變成:

SELECT ContactName FROM CustomersWHERE CustomerID = ''; DROP TABLE Customers;-- '

這個分號使語句和SQL Server隔離,所以,這里實際上是兩個語句。第一個語句不存在的名字,第二個則撤消的整個Customers表。兩個―SQL Server注釋符,它可以使子句不發生語法錯誤。

使用這個技術的變異,一個攻擊程序可以在任何SQL語句或者存儲過程上運行。通過使用xp_cmdshell擴展存儲過程,一個攻擊程序同樣可以在操作系統命令下運行,顯然,這是一個嚴重的漏洞。

保護自己的數據庫

現在,你知道如何防范SQL注入攻擊了嗎?首先,你不能在用戶輸入中構造WHERE子句,你應該利用參數來使用存儲進程。在最初的ASP頁面下,重新寫的部分將和剛才我們在表中所看到的東西相似。即使你認為在你的應用程序中沒有脆弱點,你應該遵守最小特權原則。使用我們建議的其他安全技術允許你的用戶僅僅訪問他們能夠訪問的。在你沒有發現你數據庫脆弱點的時候,只有這樣,不會使你的數據庫崩潰。

最后的建議

這就是全部的SQL Server安全系列。也許你現在不是一個全面的專家,但是你已經了解了很多反面。下一步就是你要保護你SQL Server數據,記住你在這里所學到的知識,并利用到你的數據庫中保證你的數據不被那些黑客攻擊。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品mp4| 亚洲国产精品美女| 国产精品夜色7777狼人| 国产欧美久久久久久| 亚洲va久久久噜噜噜| 久久久久99精品久久久久| 俺去亚洲欧洲欧美日韩| 国产欧美日韩免费看aⅴ视频| 精品少妇v888av| 一区二区三区高清国产| 久久久人成影片一区二区三区| 88国产精品欧美一区二区三区| 欧美壮男野外gaytube| 色偷偷88888欧美精品久久久| 国产精品视频永久免费播放| 国产精品777| 欧美疯狂xxxx大交乱88av| 91精品国产综合久久香蕉| 国产精品女人网站| 欧美裸身视频免费观看| 国产精品美女网站| 精品在线观看国产| 中文字幕在线成人| 久久久www成人免费精品张筱雨| 亚洲国产精品一区二区三区| 国产女精品视频网站免费| 一本色道久久88综合亚洲精品ⅰ| 中文字幕精品一区久久久久| 91精品国产高清久久久久久91| 久久久久日韩精品久久久男男| 日韩福利视频在线观看| 亚洲天堂2020| 中日韩美女免费视频网站在线观看| 国产一区香蕉久久| 亚洲欧美制服综合另类| 亚洲激情中文字幕| 欧美激情性做爰免费视频| 日韩美女写真福利在线观看| 欧美成人激情视频免费观看| 操日韩av在线电影| 中文字幕av日韩| 色综合伊人色综合网| 国产剧情久久久久久| 亚洲一区二区三区乱码aⅴ蜜桃女| 精品人伦一区二区三区蜜桃网站| 欧美极品美女视频网站在线观看免费| 国产拍精品一二三| 日韩美女写真福利在线观看| 欧美日韩亚洲激情| 欧美视频在线观看免费网址| 亚洲深夜福利在线| 亚洲三级免费看| 国产精品丝袜白浆摸在线| 国产一区二区三区在线播放免费观看| www.欧美精品| zzijzzij亚洲日本成熟少妇| 5566成人精品视频免费| 亚洲成人久久久久| 日韩av在线免费观看一区| 91久久国产精品| 亚洲白拍色综合图区| 日韩欧美中文在线| 狠狠躁夜夜躁人人躁婷婷91| 91久久精品在线| 日韩精品亚洲视频| 日韩国产精品一区| 成人国产精品免费视频| 欧美日韩午夜激情| 91亚洲精品久久久久久久久久久久| 欧美性猛交xxxx免费看| 26uuu日韩精品一区二区| 高清日韩电视剧大全免费播放在线观看| 国产一区玩具在线观看| 亚洲奶大毛多的老太婆| 在线看片第一页欧美| 国产丝袜一区视频在线观看| 日韩中文字幕精品视频| 日韩中文在线中文网三级| 亚洲精品资源美女情侣酒店| 免费不卡欧美自拍视频| 日韩中文视频免费在线观看| 中文字幕视频在线免费欧美日韩综合在线看| 国产日产久久高清欧美一区| 中文字幕日韩欧美精品在线观看| 亚洲缚视频在线观看| 成人午夜在线视频一区| 亚洲一区二区三区四区在线播放| 欧美色欧美亚洲高清在线视频| 欧美人与物videos| 国模精品一区二区三区色天香| 欧美日韩免费区域视频在线观看| 中文字幕亚洲图片| 国产精品夜色7777狼人| 欧美在线一区二区三区四| 91免费视频国产| 91夜夜未满十八勿入爽爽影院| 在线观看国产成人av片| 久久国产精品影视| 久久久精品美女| 欧美成人合集magnet| 97视频在线播放| 国产精品永久免费观看| 一区二区三区日韩在线| 久久99精品久久久久久琪琪| 亚洲精品日产aⅴ| 日韩在线视频观看| 国产欧美在线观看| 日韩欧美在线网址| 国产精品国产三级国产aⅴ9色| 亚洲影视中文字幕| 国产精品欧美在线| 狠狠做深爱婷婷久久综合一区| 国产欧美日韩丝袜精品一区| 综合欧美国产视频二区| 国产a∨精品一区二区三区不卡| 九九热99久久久国产盗摄| 欧美午夜影院在线视频| 国产亚洲精品久久久优势| 欧美精品免费在线观看| 中文字幕视频在线免费欧美日韩综合在线看| 欧美日韩综合视频网址| 久久99国产精品自在自在app| 大量国产精品视频| 国产一区二区在线免费| 91久久国产精品91久久性色| 成人深夜直播免费观看| 久久久噜噜噜久久| 中文亚洲视频在线| 久久免费精品日本久久中文字幕| 亚洲美女精品成人在线视频| 国内外成人免费激情在线视频网站| 26uuu另类亚洲欧美日本一| 亚洲国产精彩中文乱码av| 国产日韩欧美91| 中文字幕国产精品久久| 欧美日韩国产成人| 91性高湖久久久久久久久_久久99| 国产99久久精品一区二区 夜夜躁日日躁| 欧美日韩国产色视频| 久久精品这里热有精品| 国产精品手机播放| 欧美福利在线观看| 中文字幕亚洲欧美日韩在线不卡| 国产亚洲精品激情久久| 日韩中文字幕视频在线| 中文字幕欧美精品日韩中文字幕| 中文字幕亚洲综合久久筱田步美| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产精品午夜国产小视频| 在线观看视频亚洲| 8x拔播拔播x8国产精品| 久久久久成人精品| 欧美一级电影久久| 欧美激情一区二区三区久久久| 久久视频在线直播| 亚洲精品成人久久| 国语对白做受69| 日韩电影网在线| 欧美激情xxxx| 欧美成人激情视频| 欧美成人精品不卡视频在线观看| 国产成人综合亚洲| 中文在线资源观看视频网站免费不卡| 欧美国产日韩二区|