Web應用進行XSS漏洞測試(3)

發表于:2015-01-09來源:uml.org.cn作者:seiitsu點擊數: 標簽:web測試
1. 當再度將表單提交時,存儲的內容將會變成轉義后的值。 2. 當使用 JavaScript 操作表單元素,需要使用到表單元素的值時,必須考慮到值可能已經被轉義

  1. 當再度將表單提交時,存儲的內容將會變成轉義后的值。

  2. 當使用 JavaScript 操作表單元素,需要使用到表單元素的值時,必須考慮到值可能已經被轉義。

  HTML文本為動態內容

  例子

<b> 歡迎:<?= $welcome_msg?></b>
攻擊XSS輸入
<script>evil_script()</script>
將動態內容替換
將$welcome_msg 替換為惡意 XSS 輸入:
<b>歡迎:<script>evil_script()</script></b>

  分析

  在 HTML 正文背景下,< > 字符會引入 HTML 標記,& 可能會認為字符實體編碼的開始,所以需要將 < > & 轉義

  解決方案

  為簡潔起見,直接使用 htmlspecialchars()將 5 種 HTML 特殊字符轉義,如:

&lt;b&gt;歡迎:&lt;?= htmlspecialchars($welcome_msg,, ENT_NOQUOTES)?&gt;&lt;/b&gt;

  URL的值為動態內容

  Script/Style/Img/ActiveX/Applet/Frameset… 等標記的 src 或 href 屬性如果為動態內容,必須確保這些 URL 沒有指向惡意鏈接。

  例子1

&lt;script src=&lt;?= "$script_url&gt;"&gt;
攻擊XSS輸入
http://evil.org/evil.js
將動態內容替換
將$script_url替換為惡意 XSS 輸入:
&lt;script src="http://evil.org/evil.js"&gt;

  例子2

&lt;img src=”&lt;?= $img_url&gt;”&gt;
攻擊XSS輸入
javascript:evil_script()
將動態內容替換
將$img_url替換為惡意XSS輸入:
&lt;img src=” javascript:evil_script()”&gt;

  分析

  一般情況下盡量不要讓 URL 的值被用戶控制。如果用戶需要自己定義自己的風格及顯示效果,也不能讓用戶直接控制整個 URL 的內容,而是提供預定義好的風格供用戶設置、裝配,然后由后臺程序根據用戶的選擇組合成安全的 URL 輸出。

  字符集編碼

  瀏覽器需要知道字符集編碼才能正確地顯示網頁。如果字符集編碼沒有顯式在 content-type 或meta 中定義,瀏覽器會有算法猜測網頁的字符集編碼。譬如<script>alert(document.cookie)</script> 的 UTF-7 編碼為:

+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-

  如果+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-作為動態內容位于網頁的頂端并傳送到瀏覽器端,IE 會認為此網頁是 UTF-7 編碼,從而使網頁不能正常顯示。

  解決方案

  顯式定義網頁的字符集編碼,譬如

&lt;meta http-equiv=content-type content="text/html; charset=UTF-8"&gt;

  動態內容為JavaScript事件處理函數的參數

  JavaScript 事件處理函數如 onClick/onLoad/onError/onMouseOver/ 的參數可能包含動態內容。

  例子

&lt;input type="button" value="go to" onClick='goto_url("&lt;?= $target_url&gt;");'&gt;
攻擊XSS輸入
foo&amp;quot;);evil_script(&amp;quot;
將動態內容替換
HTML 解析器會先于 JavaScript 解析器解析網頁,將$target_url 替換為惡意 XSS 輸入:
&lt;input type="button" value="go to" onClick='goto_url("foo");evil_script("");'&gt;
動態內容位于 JavaScript 代碼段中

原文轉自:http://www.uml.org.cn/Test/201407161.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97