《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序
讀書(shū)筆記第一部分對(duì)應(yīng)原書(shū)的第一章,主要介紹了Web應(yīng)用程序的發(fā)展,功能,安全狀況。
Web應(yīng)用程序的發(fā)展歷程
早期的萬(wàn)維網(wǎng)僅由Web站點(diǎn)構(gòu)成,只是包含靜態(tài)文檔的信息庫(kù),隨后人們發(fā)明了Web瀏覽器用來(lái)檢索和顯示那些文檔,但這些信息只是由服務(wù)器單向傳送給瀏覽器,并不需要驗(yàn)證用戶的合法性,所有用戶同等,提供同樣的信息。
所以當(dāng)時(shí)一個(gè)Web站點(diǎn)的安全威脅主要來(lái)自于Web服務(wù)器系統(tǒng)與相關(guān)軟件的(諸多)漏洞。攻擊者入侵站點(diǎn)后并不能得到敏感信息,至多修改一下服務(wù)器上的靜態(tài)文件,歪曲站點(diǎn)的內(nèi)容,或者利用服務(wù)器本身做一些“非法的事情”。
經(jīng)過(guò)幾十年的發(fā)展,而今的萬(wàn)維網(wǎng)和早期的萬(wàn)維網(wǎng)早已不可同日而語(yǔ),Web上的大多數(shù)站點(diǎn)實(shí)際上就是應(yīng)用程序,它們功能強(qiáng)大,在服務(wù)器與瀏覽器之間進(jìn)行雙向信息傳送?!白?cè),登錄,金融交易,搜索,內(nèi)容創(chuàng)作”等等這些內(nèi)容以動(dòng)態(tài)的方式成為解決用戶特殊需求的方案,它們處理諸多信息包括私密和高度敏感的信息,因此,安全問(wèn)題變的至關(guān)重要:如果人們認(rèn)為Web應(yīng)用程序會(huì)將他們的信息泄露給未授權(quán)的訪問(wèn)者,他們就會(huì)拒絕這個(gè)Web應(yīng)用程序。
Web應(yīng)用程序的常見(jiàn)功能
創(chuàng)建Web應(yīng)用程序的目的是執(zhí)行可以在線完成的任何有用功能:
企業(yè)內(nèi)部已廣泛使用Web應(yīng)用程序來(lái)支持關(guān)鍵業(yè)務(wù)功能,這類應(yīng)用程序可以訪問(wèn)各種高度敏感的數(shù)據(jù)和功能:
為降低成本,企業(yè)圈內(nèi)開(kāi)始推崇所謂“云計(jì)算”業(yè)務(wù),并將此業(yè)務(wù)開(kāi)發(fā)交于外包企業(yè)實(shí)施和托管,將ERP搬至網(wǎng)上。在這些所謂的“云”解決方案中,業(yè)務(wù)關(guān)鍵功能和數(shù)據(jù)向數(shù)目更龐大的潛在攻擊者開(kāi)發(fā),而組織卻越來(lái)越多地依賴于不受其控制的安全防御。
Web應(yīng)用程序的優(yōu)點(diǎn)
Web應(yīng)用程序安全
應(yīng)用程序各不相同,所包含的漏洞也各不相同,許多應(yīng)用程序是由開(kāi)發(fā)人員獨(dú)立開(kāi)發(fā),還有許多開(kāi)發(fā)人員對(duì)自己所編寫(xiě)的代碼可能引起的安全問(wèn)題略知一二,于是一些開(kāi)發(fā)人員從未在開(kāi)發(fā)應(yīng)用時(shí)未曾考慮到的攻擊方式在使用過(guò)程當(dāng)中相繼出現(xiàn)了,而新技術(shù)的開(kāi)發(fā)也會(huì)引入新的漏洞。
針對(duì)Web應(yīng)用程序最嚴(yán)重的攻擊,是那些能夠繞到后端系統(tǒng)的無(wú)限訪問(wèn)權(quán)限的攻擊。
在Web應(yīng)用程序的整個(gè)發(fā)展過(guò)程中,直到今天,甚至可預(yù)見(jiàn)的未來(lái),攻擊者與防御者的戰(zhàn)斗仍然在繼續(xù),且沒(méi)有解決的跡象。
“本站點(diǎn)是安全的”
大多數(shù)網(wǎng)站聲稱自己使用128位安全套接層(Secure Socket Layer, SSL)技術(shù)設(shè)計(jì),遵循支付卡行業(yè)(PCI)標(biāo)準(zhǔn),來(lái)證明自己的加密協(xié)議是無(wú)懈可擊的。
但實(shí)際上,大多數(shù)Web應(yīng)用程序不安全,不僅僅是技術(shù)應(yīng)用上的,還有開(kāi)發(fā)人員在基礎(chǔ)設(shè)計(jì)上的漏洞:
SSL在機(jī)密性與安全性上是出色的技術(shù),但它的問(wèn)題在于它并不能抵御直接針對(duì)某個(gè)應(yīng)用程序的服務(wù)器或客戶端組件的攻擊,而許多成功的攻擊都恰恰屬于這種類型。
所以SSL并不能阻止上述任何漏洞或許多其他使應(yīng)用程序受到威脅的漏洞。
核心安全問(wèn)題:用戶可提交任意輸入
Web應(yīng)用程序有個(gè)根本性問(wèn)題,即無(wú)法控制客戶端,所以用戶幾乎可向服務(wù)器端提交任意輸入。所以應(yīng)用程序必須假設(shè)用戶輸入的都是惡意信息。
這個(gè)核心問(wèn)題表現(xiàn)在多個(gè)方面:
絕大多數(shù)針對(duì)Web應(yīng)用程序的攻擊都涉及向服務(wù)器提交信息:
關(guān)鍵問(wèn)題因素
開(kāi)發(fā)人員的技術(shù)能力,開(kāi)發(fā)時(shí)間的限制,開(kāi)發(fā)資源的有限利用,單一框架多程序開(kāi)發(fā)使用,大量增加第三方插件,為實(shí)現(xiàn)功能對(duì)數(shù)據(jù)庫(kù)或程序直接進(jìn)行二次開(kāi)發(fā)而忽視二開(kāi)的安全措施,以上這些種種行為大大增加了安全問(wèn)題的出現(xiàn)率。
新的安全邊界
Web應(yīng)用程序的廣泛應(yīng)用使得典型組織的安全邊界發(fā)生了變化,以往我們關(guān)注防火墻與防御主機(jī),而現(xiàn)在我們應(yīng)該更關(guān)注Web應(yīng)用程序本身。
Web應(yīng)用程序接收用戶輸入的方式多式多樣,數(shù)據(jù)傳輸?shù)姆绞揭捕嗍蕉鄻?#xff0c;這每一步都是潛在攻擊的關(guān)口,尤其是PHP,Java,JS這些語(yǔ)言和平臺(tái)的“聚合”,每一個(gè)連接方式都成為了攻擊關(guān)口。
于是站點(diǎn)的安全邊界從服務(wù)器本身延伸到了第三方插件,聚合接口,API,某一行代碼,跨域連接方式。
Web應(yīng)用程序安全邊界發(fā)生變化的另一原因,在于惡意攻擊者利用一個(gè)良性的易受攻擊的應(yīng)用程序攻擊任何訪問(wèn)它的用戶,并控制用戶的瀏覽器,如果用戶位于企業(yè)內(nèi)部,那么從用戶的可信位置攻擊者可向本網(wǎng)絡(luò)改動(dòng)攻擊。
Web應(yīng)用程序安全的未來(lái)
目前網(wǎng)絡(luò)上的Web應(yīng)用程序仍然充滿了漏洞,整個(gè)行業(yè)也沒(méi)有統(tǒng)一而成熟的意識(shí)。
但隨意著行業(yè)的發(fā)展,各種漏洞也在被不斷的修復(fù),現(xiàn)有的漏洞也變得更難以發(fā)現(xiàn)和利用。
而攻擊目標(biāo)也由傳統(tǒng)的服務(wù)器端應(yīng)用程序轉(zhuǎn)向用戶應(yīng)用程序。
?
?
版權(quán)所有,轉(zhuǎn)載請(qǐng)注明出處。
轉(zhuǎn)載自?《黑客攻防技術(shù)寶典Web實(shí)戰(zhàn)篇@第2版》讀書(shū)筆記1:了解Web應(yīng)用程序 | XDY.ME@Dy大叔的日常
更多專業(yè)前端知識(shí),請(qǐng)上 【猿2048】www.mk2048.com
總結(jié)
以上是生活随笔為你收集整理的《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 3分钟简单了解 prototype 和
- 下一篇: ionic3 自动创建启动背景splas