跨站指令碼攻擊(XSS)

餘二五發表於2017-11-02
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
事件背景:
定期對各個應用進行安全檢測,當然,其中的一種檢測方式是通過webscan360,發現多個網站存在跨站指令碼攻擊漏洞。下面是360的描述:
漏洞型別:跨站指令碼攻擊(XSS)
所屬程式語言:php
描述:
目標存在跨站指令碼攻擊。
1.跨站指令碼攻擊就是指惡意攻擊者向網頁中插入一段惡意程式碼,當使用者瀏覽該網頁時,嵌入到網頁中的惡意程式碼就會被執行。一般用來盜取瀏覽器cookie
2.跨站指令碼攻擊漏洞,英文名稱Cross Site Scripting,簡稱CSS又叫XSS。它指的是惡意攻擊者向Web頁面中插入一段惡意程式碼,當使用者瀏覽該頁面時,嵌入到Web頁面中的惡意程式碼就會被執行,從而達到惡意攻擊者的特殊目的。
危害:
1.惡意使用者可以使用該漏洞來盜取使用者賬戶資訊、模擬其他使用者身份登入,更甚至可以修改網頁呈現給其他使用者的內容。
2.比如有一天你開啟一個網站,突然彈出一個視窗 提示叫你登陸 你以為是這個網站讓你登陸 當你輸入賬戶密碼以後你的所有操作都被黑客記錄了,還有小白問“盜取瀏覽器cookie有什麼用” 黑客盜取你的瀏覽器cookies以後 可以利用你的cookie登陸你在特定網站或者論壇的賬戶。
3.網站常見的存在跨站的地方多半都在留言本,搜尋,評論。這些地方, 特別是有留言和評論的地方要注意,你網站這兩個地方存在跨站,黑客可以直接在這兩個地方提交跨站攻擊指令碼,你登陸後臺檢視留言和評論以後就被攻擊了。
解決:
在這裡,我舉其中一個網站漏洞,經360指出存在漏洞的頁面看到包含漏洞的程式碼為(‘<?php echo$_GET["url"];?>’),$_GET變數用於收集來自 method="get"的表單中的值,所以對於不法使用者如果輸入非法url而我們又沒有對輸入的內容做過濾,那麼就容易被人利用此漏洞達到不可告人的目的。
360給出的解決方法:
避免XSS的方法之一主要是將使用者所提供的內容輸入輸出進行過濾,許多語言都有提供對HTML的過濾,因為我的網站為php,所以用htmlentities()或是htmlspecialchars()對使用者的輸入進行過濾,這樣來保證使用者輸入的url合法性。
本文轉自 baiying 51CTO部落格,原文連結:http://blog.51cto.com/baiying/1308694,如需轉載請自行聯絡原作者


相關文章