Webgoat XSS




This feature requires account login:



Enter Username:

Enter Password:




Stage 1: Stored XSS

进入tom的编辑页面,将任意输入框中的数据改为并保存,使用jerry的账号登录,访问tom的编辑页面

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。




效果如图:


Webgoat XSS_第1张图片
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)

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

你可能感兴趣的:(Webgoat XSS)