1. 程式人生 > >關於xss攻擊

關於xss攻擊

訪問者 登錄 pan 文章 數據 參數 innerhtml 興趣 成功

關於xss攻擊

網上相關的介紹很多,一搜索也是一大堆,這裏我就對自己感興趣的一些內容做個總結。

成因:xss是將惡意代碼(多是JavaScript)插入html代碼中。

分類:

1、 反射型

2、 存儲型

3、 DOM型

1、 什麽是反射型?

攻擊者構造可執行JavaScript的攻擊鏈接,發送給受害者,多用於獲取cookie,因為cookie可以使你偽裝成受害者來登錄。還可以定向到別的網站,下載病毒鏈接等等。

2、 DOM型xss、反射型xss和存儲型xss的區別?

反射型xss是向鏈接傳入參數時發生的,需要誘騙受害者點擊。而存儲型是存在服務器中的,比如發表的文章,供訪問者瀏覽的信息等等,危害更大。

DOM型xss屬於反射型xss的一種,只是不通過服務器,DOM跨站是純頁面腳本的輸出,只有規範使用JAVASCRIPT,才可以防禦。

因為DOM型比較難理解,所以找了一些鏈接有興趣,可以在深入了解一下。

關於DOM型XSS漏洞的學習筆記

DOM-based XSS 與存儲性 XSS、反射型 XSS 有什麽區別?

GitHub - jackmasa/XSS.png: A XSS mind map ;)

基於 DOM 的第三類跨站腳本

3、 如何對網站進行測試?

如果彈窗成功,說明存在xss漏洞

"/><script>alert(document.cookie)</script><!--
<script>alert(document.cookie)</script><!--
"onclick="alert(document.cookie)

4、 如何防xss?

1) 對特殊字符進行轉義

2) 直接將標簽過濾掉

3) 對cookie設置httponly

之前一直不了解到底是幹什麽用的,我理解是限定對cookie的訪問只能走http協議,而不能通過JavaScript獲取到cookie。

關於如何設置httponly?

百度的(全) http://jingyan.baidu.com/article/5553fa82a8248c65a3393442.html

java的 http://zhenghaoju700.blog.163.com/blog/static/13585951820138267195385/

4) 對用戶的輸入內容做限制

可以用正則對出入格式進行匹配。

5) 對數據進行在編碼處理

參考:

反射型XSS攻擊 http:[email protected]/blog/static/376791602014718103941487/

關於xxs的一些利用案例

背景:後臺對以下字符進行轉義:<、>、’、”。

可以通過 u003cu003e來代替<>

實際案例:

後臺輸出JSON格式數據時,一般都會在前面添加轉義符進行轉義。

理想情況:u003cimg src=1 onerror=alert(/xss/)u003e

實際情況:

document.getElementById("test").innerHTML =" \u003cimg src=1 onerror=alert(/xss/)\u003e";

因為昵稱被轉義,u003c同樣被轉義了。

針對於此情況,可以利用半字節

[0xc0]u003cimg src=1 onerror=alert(/xss/) [0xc0]u003e

參考:新辦法繞過xss過濾-讓xss來的更猛烈些吧

關於xss攻擊