• web安全测试---跨站点脚本测试


    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的告警框,都表明存在跨站脚本漏洞。

    预期结果

    不存在跨站脚本漏洞

    备注

    需要对页面上所有可以提交参数的地方进行测试。

    测试结果

  • 相关阅读:
    HBase MapReduce 一些 ClassNotFoundException 所缺少的jar包
    Eclipse 连接不上 hadoop 的解决办法
    Log4j 2 配置
    mysql 查询结果显示行号
    js刷新页面方法 -- (转)
    python 错误--UnboundLocalError: local variable '**' referenced before assignment
    Webview 中FaultyInfo代码说明
    HTML中设置超链接字体 & 字体颜色
    apache log 按日期记录 格式 <GOOD>-- (转)
    linux 下 /bin /sbin 的区别 -- (转)
  • 原文地址:https://www.cnblogs.com/trhimily/p/3898915.html
Copyright © 2020-2023  润新知