自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

防止緩沖區(qū)溢出攻擊的策略

安全
編程語言通常都要帶有庫文件。如果一個庫文件具有某些漏洞,任何包括該庫文件的應(yīng)用程序就都會有這些漏洞。因此,黑客往往會先試圖利用常用的庫文件中已知的漏洞來達(dá)到攻擊本地應(yīng)用程序的目的。

了解了緩沖區(qū)溢出是如何發(fā)生的以后,如何防止黑客利用緩沖區(qū)溢出攻擊并控制你的本地應(yīng)用程序就是一個很重要的問題了。

避免使用編譯器中自帶的庫文件

編程語言通常都要帶有庫文件。如果一個庫文件具有某些漏洞,任何包括該庫文件的應(yīng)用程序就都會有這些漏洞。因此,黑客往往會先試圖利用常用的庫文件中已知的漏洞來達(dá)到攻擊本地應(yīng)用程序的目的。

庫文件本身也不可靠。雖然最新的編譯器都開始加入大量可靠的庫文件,但長期以來庫文件為了提供了快速、簡單的方式來完成任務(wù),幾乎沒有考慮到安全編碼的問題。C + +編程語言就是這種形式的最典型代表。而用C + +編寫的程序中依賴的標(biāo)準(zhǔn)庫就很容易在運行時產(chǎn)生錯誤,這也為希望利用緩沖區(qū)溢出進行攻擊的黑客們提供了實現(xiàn)他們想法的機會。

驗證所有的用戶輸入

要在本地應(yīng)用程序上驗證所有的用戶輸入,首先要確保輸入字符串的長度是有效長度。舉個例子,假設(shè)你的程序設(shè)計的是接受50個文本字符的輸入,并將它們添加到數(shù)據(jù)庫里。如果用戶輸入75個字符,那么他們就輸入了超出數(shù)據(jù)庫可以容納的字符,這樣以來誰都不能預(yù)測程序接下來的運行狀況。因此,用戶的輸入應(yīng)該這樣設(shè)計:在用戶輸入文本字符串時,先將該字符串的長度同最大允許長度進行比較,在字符串超過最大允許長度時能對其進行必要的攔截。

過濾掉潛在的惡意輸入

過濾是另一個很好的防御措施。先看下面例子中的ASP代碼:

這是從用戶的輸入中過濾掉HTML代碼,撇號和引號的代碼。

strNewString = Request.Form("Review")

strNewString = Replace(strNewString, "&", "& amp;")

strNewString = Replace(strNewString, "<", "& lt;")

strNewString = Replace(strNewString, ">", "& gt;")

strNewString = Replace(strNewString, "'", "`")

strNewString = Replace(strNewString, chr(34), "``")

上面的代碼用于目前我正在開發(fā)的電子商務(wù)網(wǎng)站中。這樣做的目的是為了過濾掉可能會導(dǎo)致數(shù)據(jù)庫出現(xiàn)問題的HTML代碼和符號。在HTML代碼中,使用"<"和">"的符號來命名一個HTML標(biāo)簽。為了防止用戶可能會在他們的輸入里嵌入HTML代碼,因此程序過濾掉了"<"和">"符號。

在ASP代碼中,撇號,引號和連字符都是保留符號。這些保留的符號不可以包括在用戶的輸入中,否則它們會導(dǎo)致應(yīng)用程序崩潰。例如,如果用戶輸入一個文本行中只使用了一個撇號,之后登陸數(shù)據(jù)庫時,這個命令將會失敗,因為ASP需要利用成對的撇號將文本括起來提交到數(shù)據(jù)庫里;ASP不知道如何處理用戶的輸入中的撇號。為了防止這種情況發(fā)生,以上的代碼可以尋找到輸入字符串中的撇號,并以“'“替代它。

測試應(yīng)用程序

為了保護程序免受緩沖區(qū)溢出的攻擊,驗證和過濾用戶的輸入已經(jīng)實施很久了。但在部署應(yīng)用程序之前,你仍然需要對它進行全面徹底的測試。應(yīng)當(dāng)有專門的人來仔細(xì)地審查應(yīng)用程序,并試圖使它們崩潰。讓他們嘗試輸入長的字符串或保留字符。如果你的應(yīng)用程序在編寫中已經(jīng)做了足夠的工作,它應(yīng)該能應(yīng)付各種各樣的情況。如果程序崩潰了,最好馬上把問題找出來,而不要等到已經(jīng)應(yīng)用之后。

【編輯推薦】

  1. 如何防范Linux操作系統(tǒng)下緩沖區(qū)溢出攻擊
  2. 本地緩沖區(qū)溢出攻擊的防護
  3. SunOS dtspcd緩沖區(qū)溢出攻擊的防護
責(zé)任編輯:趙寧寧 來源: TechTarget
相關(guān)推薦

2014-07-30 11:21:46

2010-10-09 14:45:48

2019-02-27 13:58:29

漏洞緩沖區(qū)溢出系統(tǒng)安全

2017-01-09 17:03:34

2022-05-07 08:27:42

緩沖區(qū)溢出堆棧

2010-09-29 15:10:58

2011-11-15 16:00:42

2019-01-11 09:00:00

2018-01-26 14:52:43

2009-05-13 09:21:48

2019-03-06 09:00:38

ASLRLinux命令

2010-12-27 10:21:21

2015-03-06 17:09:10

2010-09-08 15:43:18

2011-03-23 12:39:44

2012-07-26 09:39:01

2011-03-23 11:35:00

2015-09-02 09:01:03

2020-08-10 08:37:32

漏洞安全數(shù)據(jù)

2018-11-01 08:31:05

點贊
收藏

51CTO技術(shù)棧公眾號