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