偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

避免使用編譯器中自帶的庫(kù)文件

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

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

驗(yàn)證所有的用戶輸入

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

過濾掉潛在的惡意輸入

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

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

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)站中。這樣做的目的是為了過濾掉可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)出現(xiàn)問題的HTML代碼和符號(hào)。在HTML代碼中,使用"<"和">"的符號(hào)來命名一個(gè)HTML標(biāo)簽。為了防止用戶可能會(huì)在他們的輸入里嵌入HTML代碼,因此程序過濾掉了"<"和">"符號(hào)。

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

測(cè)試應(yīng)用程序

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

【編輯推薦】

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

2014-07-30 11:21:46

2010-10-09 14:45:48

2011-11-15 16:00:42

2022-05-07 08:27:42

緩沖區(qū)溢出堆棧

2010-09-29 15:10:58

2019-02-27 13:58:29

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

2017-01-09 17:03:34

2019-01-11 09:00:00

2018-01-26 14:52:43

2019-03-06 09:00:38

ASLRLinux命令

2009-05-13 09:21:48

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ù)

2022-08-09 08:31:40

C -gets函數(shù)漏洞
點(diǎn)贊
收藏

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