標籤:style http java os 檔案 資料 ar div
1.1 跨站指令碼測試1.1.1 GET方式跨站指令碼測試
編號 |
SEC_Web_XSS_01 |
測試案例名稱 |
GET方式跨站指令碼測試 |
測試目的 |
由於跨站指令碼會導致會話被劫持、敏感資訊洩漏、賬戶被盜,嚴重時甚至造成資料修改、刪除,從而導致業務中斷,因此需檢測跨站指令碼是否存在 |
用例層級 |
1 |
測試條件 |
1、 Web業務運行正常 2、 已知待測目標URL,假設為http://www.exmaple.com/page.xxx 3、 待測目標存在參數輸入,假設為name=value 4、 在某種情況下,使用者輸入被重新顯示在網頁上,包括名字、帳號、檢索結果等等(說明目標網站伺服器並沒有對使用者提交資料檢測) |
執行步驟 |
1、 在輸入的參數後逐條添加以下語句,以第一條為例,輸入http://www.exmaple.com/page.xxx?name=<script>alert(123456)</script>只要其中一條彈出顯示123456的警示框,就說明存在跨站漏洞,記錄漏洞,停止測試。 2、 如果沒有彈出顯示123456的警示框,則在返回的頁面上單擊滑鼠右鍵,選擇“查看源檔案” 3、 尋找網頁源檔案中是否包含完整的字串<script>alert(123456)</script>,則不管有沒有彈出顯示123456的警示框,都表明存在跨站指令碼漏洞。 4、 由於有些HTML元素(比如<textarea>或”)會影響指令碼的執行,所以不一定能夠正確彈出123456警示框,需要根據返回網頁源檔案的內容,構造value的值,比如 </textarea><script>alert(123456)</script> ‘><script>alert(123456)</script> "><script>alert(123456)</script> </title><script>alert(123456)</script> --><script>alert(123456)</script> [img]javascript:alert(123456)[/img] <scrip<script>t>alert(123456)</scrip</script>t> </div><Script>alert(123456)</script> |
預期結果 |
不存在跨站指令碼漏洞 |
備忘 |
需要對頁面上所有可以提交參數的地方進行測試。具體跨站指令碼的測試語句根據實際情況的不同而不同,這裡列出了一些最常見構造語句。 AppScan可以找出掃描到的頁面的絕大部分跨站指令碼漏洞,但對沒有掃描到的網頁就無能為力了。 |
測試結果 |
|
1.1.2 POST方式跨站指令碼測試
編號 |
SEC_Web_ XSS_02 |
測試案例名稱 |
POST方式跨站指令碼測試 |
測試目的 |
由於跨站指令碼會導致會話被劫持、敏感資訊洩漏、賬戶被盜,嚴重時甚至造成資料修改、刪除,從而導致業務中斷,因此需檢測跨站指令碼是否存在 |
用例層級 |
1 |
測試條件 |
1、 Web業務運行正常 2、 已知待測目標URL,假設為http://www.exmaple.com/page.xxx 3、 待測目標以POST方式提交參數,顯示為表單方式 4、 在某種情況下,使用者輸入被重新顯示在網頁上,包括名字、帳號、檢索結果等等(說明目標網站伺服器並沒有對使用者提交資料檢測) |
執行步驟 |
1、 在POST表單中逐條輸入以下語句,只要其中一條彈出顯示123456的對話方塊,就說明存在跨站漏洞,記錄漏洞,停止測試。 <script>alert(123456)</script> 2、 如果沒有彈出顯示123456的警示框,則在返回的頁面上單擊滑鼠右鍵,選擇“查看源檔案” 3、 尋找網頁源檔案中是否包含完整的字串<script>alert(123456)</script>,則不管有沒有彈出顯示123456的警示框,都表明存在跨站指令碼漏洞。 4、 由於有些HTML元素(比如<textarea>或”)會影響指令碼的執行,所以不一定能夠正確彈出123456警示框,需要根據返回網頁源檔案的內容,構造value的值,比如 </textarea><script>alert(123456)</script> ‘><script>alert(123456)</script> "><script>alert(123456)</script> </title><script>alert(123456)</script> --><script>alert(123456)</script> [img]javascript:alert(123456)[/img] <scrip<script>t>alert(123456)</scrip</script>t> </div><Script>alert(123456)</script> |
預期結果 |
不存在跨站指令碼漏洞 |
備忘 |
需要對頁面上所有可以提交參數的地方進行測試。 |
測試結果 |
|
1.1.3 URL跨站指令碼測試
編號 |
SEC_Web_ XSS_03 |
測試案例名稱 |
URL跨站指令碼測試 |
測試目的 |
由於跨站指令碼會導致會話被劫持、敏感資訊洩漏、賬戶被盜,嚴重時甚至造成資料修改、刪除,從而導致業務中斷,因此需檢測跨站指令碼是否存在 |
用例層級 |
1 |
測試條件 |
1、 Web業務運行正常 2、 已知待測目標URL,假設為http://www.exmaple.com/page.xxx |
執行步驟 |
1、 在瀏覽器地址欄中輸入http://www.exmaple.com/<script>alert(123456)</script> .xxx,只要其中一條彈出顯示123456的對話方塊,就說明存在跨站漏洞,記錄漏洞,停止測試。 2、 如果沒有彈出顯示123456的警示框,則在返回的頁面上單擊滑鼠右鍵,選擇“查看源檔案” 3、 尋找網頁源檔案中是否包含完整的字串<script>alert(123456)</script>,則不管有沒有彈出顯示123456的警示框,都表明存在跨站指令碼漏洞。 |
預期結果 |
不存在跨站指令碼漏洞 |
備忘 |
需要對頁面上所有可以提交參數的地方進行測試。 |
測試結果 |
|