web安全性測試---跨網站指令碼測試

來源:互聯網
上載者:User

標籤: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的警示框,都表明存在跨站指令碼漏洞。

預期結果

不存在跨站指令碼漏洞

備忘

需要對頁面上所有可以提交參數的地方進行測試。

測試結果

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.