XSS-Protection未配置漏洞

0x00 背景

HTTP XSS-Protection響應標頭是Internet Explorer,Chrome和Safari的功能,當頁面檢測到反射的跨站點腳本(XSS)攻擊時,該頁面將阻止加載頁面。 儘管當站點實施強大的Content-Security-Policy禁止使用內JavaScript(“不安全內聯”)時。

在現代瀏覽器中這些保護在很大程度上是不必要的,但它們仍可以爲尚未使用舊版Web瀏覽器的用戶提供保護 支持CSP。

0x01 修復思路

配置XSS-Protection響應標頭值

X-XSS-Protection: 0 #禁用XSS過濾。

X-XSS-Protection: 1 #啓用XSS過濾(通常是瀏覽器中的默認設置)。 如果檢測到跨站點腳本攻擊,則瀏覽器將對頁面進行清理(刪除不安全的部分)。

X-XSS-Protection: 1; mode=block #模式=阻止

啓用XSS過濾。 如果檢測到攻擊,瀏覽器將不呈現頁面,而不會清除頁面。

X-XSS-Protection: 1; report=<reporting-uri>

1; report = <reporting-URI>(僅支持Chrome瀏覽器),啓用XSS過濾。 如果檢測到跨站點腳本攻擊,瀏覽器將清理該頁面並報告違規行爲。 這使用CSP report-uri指令的功能來發送報告。

0x02 代碼修復

推薦配置:X-XSS-Protection: 1; mode=block

Nginx

add_header "X-XSS-Protection" "1; mode=block";

Apache (.htaccess)

<IfModule mod_headers.c>

  Header set X-XSS-Protection "1; mode=block"

</IfModule>

PHP

header("X-XSS-Protection: 1; mode=block");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章