常用縮寫詞

HTML:超文本標(biāo)記語言

SQL:結(jié)構(gòu)化查詢語言

URL:統(tǒng)一資源定位器

要想編寫出安全的代碼,您必須首先獲悉您的程序所面臨的威脅有哪些。本文考察了一些非常流行的漏洞,諸如跨站點(diǎn)腳本攻擊和SQL注射,同時(shí)還介紹了可以一些安全工具。這些工具不僅可以幫我們保護(hù)自己的網(wǎng)站,還能幫我們保護(hù)數(shù)據(jù)和網(wǎng)絡(luò)。本文無法替代安全專業(yè)人員,也不會(huì)教授艱深的安全技巧。相反地,我們主要介紹如何發(fā)現(xiàn)代碼中潛在的漏洞,以及如何修復(fù)它們。

常見安全漏洞

開始之前,我們需要對(duì)要查找的漏洞本身有所了解。我們先來看一下最流行的一個(gè)漏洞,即跨站點(diǎn)腳本攻擊(XSS)。XSS是網(wǎng)站被注入惡意腳本而導(dǎo)致的,舉例來說,Mallory編寫了一段腳本,它能夠?qū)⒂脩艮D(zhuǎn)至一個(gè)受信任的網(wǎng)站上,而該站點(diǎn)則是由Alice創(chuàng)建的。 Mallory把這個(gè)腳本插入一個(gè)流行的論壇上后,Bob在論壇中看到并點(diǎn)擊了這個(gè)鏈接,并在Alice的站點(diǎn)上創(chuàng)建了一個(gè)帳號(hào)。 這時(shí),這個(gè)腳本利用Alice的網(wǎng)站上的一個(gè)XSS漏洞將Bob的cookie發(fā)送給了Mallory,這樣一來,Mallory就可以冒充Bob并竊取其信息了。

SQL注入是第二大流行的安全漏洞,這主要是拜網(wǎng)站對(duì)數(shù)據(jù)庫的依賴性日益增強(qiáng)所賜。SQL注入實(shí)際上非常簡(jiǎn)單:發(fā)現(xiàn)一個(gè)連接數(shù)據(jù)庫的網(wǎng)站后,心懷叵測(cè)的黑客可以執(zhí)行一個(gè)SQL查詢來實(shí)現(xiàn)開發(fā)人員始料未及的功能:繞過身份驗(yàn)證或者操縱數(shù)據(jù)。這種類型的攻擊,正是Albert Gonzalez竊取13000萬信用卡號(hào)的作案手法。在發(fā)動(dòng)SQL注入攻擊過程中,Mallory發(fā)現(xiàn)了Alice用于銷售電子產(chǎn)品的網(wǎng)站。這次,Mallory并沒有像平常那樣輸入用戶名和密碼,而是在用戶名字段中輸入了‘) OR 1=1- 。雖然她它的輸入中包含了連字符(-),但是其它部分就無所謂了,因?yàn)?=1總是成立,所以她將成功登錄。現(xiàn)在,她可以操縱數(shù)據(jù)庫以竊取Bob的客戶信息。這個(gè)例子以最簡(jiǎn)單的方式對(duì)SQL注入進(jìn)行了演示,您可以從中看到利用這種攻擊對(duì)于攻擊者而言是多么簡(jiǎn)單。

如果沒有專業(yè)的安全人員團(tuán)隊(duì),普通的Web開發(fā)者看起來很難跟這些漏洞相抗衡。幸運(yùn)的是,事實(shí)并非如此。許多工具可以幫助我們查找網(wǎng)站中潛在的漏洞,如果據(jù)此采取必要的措施的話,我們就能夠有效的防御這些漏洞導(dǎo)致的攻擊。為了幫我們識(shí)別潛在危險(xiǎn),像WebScarab 和Paros 之類的工具能夠捕捉瀏覽器和服務(wù)器之間的會(huì)話,并能爬行網(wǎng)站。掌握這些信息后,您就可以檢測(cè)這些漏洞并采取防御措施了。

WebScarab

OWASP開發(fā)的WebScarab是分析瀏覽器請(qǐng)求和服務(wù)器應(yīng)答的首選代理。WebScarab除了提供數(shù)據(jù)包分析功能外,還可以對(duì)站點(diǎn)進(jìn)行Fuzz測(cè)試,以尋找上述的漏洞。

分享到

kuangmin

相關(guān)推薦