20155220 Exp9 Web安全基础实践

Exp9 Web安全基础实践

实验过程

开启webgoat

  • 输入java -jar webgoat-container-7.1-exec.jar,来运行webgoat
    20155220 Exp9 Web安全基础实践_第1张图片

  • 在浏览器输入localhost:8080/WebGoat,进入WebGoat开始实验
    20155220 Exp9 Web安全基础实践_第2张图片

XSS攻击

1.Phishing with XSS (网路钓鱼)

  • 在搜索框中输入XSS攻击代码,利用XSS可以在已存在的页面中进一步添加元素的特点。我们先创建一个form,让受害人在我们创建的form中填写用户名和密码,再添加一段JavaScript代码,读取受害人输入的用户名和密码,完整的XSS攻击代码如下:





This feature requires account login:



Enter Username:

Enter Password:




  • 将上面的代码输入到输入框中,会出现如下登录框

20155220 Exp9 Web安全基础实践_第3张图片

  • 输入用户名和密码,提示攻击成功

20155220 Exp9 Web安全基础实践_第4张图片

2.Stored XSS Attacks

  • 创建非法的消息内容,可以导致其他用户访问时载入非预期的页面或内容,输入标题,然后在message中输入一串代码,

  • 结果如图:

20155220 Exp9 Web安全基础实践_第5张图片

3.Reflected XSS Attacks

  • 当我们输入错误用户信息后,服务器校验输入有误,返回错误页面并将错误内容展示给我们看:

20155220 Exp9 Web安全基础实践_第6张图片

  • 这时如果我们将带有攻击性的URL作为输入源,例如输入,就会弹出对话框:

20155220 Exp9 Web安全基础实践_第7张图片

CSRF攻击

4.Cross Site Request Forgery(CSRF)

  • 写一个URL诱使其他用户点击,从而触发CSRF攻击,通过图片的的形式将URL放进Message框,这时的URL对其他用户是不可见的,用户一旦点击图片,就会触发一个CSRF事件。我们输入

  • 如图:

20155220 Exp9 Web安全基础实践_第8张图片

  • 由于我点击了发布的文件2次,所以右侧为2。

5.CSRF Prompt By-Pass

  • 内容和前者相似,只不过这次需要确认转账,首先编辑内容

20155220 Exp9 Web安全基础实践_第9张图片

  • 在浏览器中输入URL:localhost:8080/WebGoat/attack?Screen=1471017872&menu=900&transferFunds=20155220

20155220 Exp9 Web安全基础实践_第10张图片

  • 点击CONFIRM按钮,再在浏览器中输入URL:http://localhost:8080/WebGoat/attack?Screen=1471017872&menu=900&transferFunds=CONFIRM,成功转走了20155220元

20155220 Exp9 Web安全基础实践_第11张图片

6.CSRF Token By-Pass

  • 本实验为读取令牌,并把令牌加到伪造的URL中,主要是读取目标网页的令牌,我们在文本框中加入如下代码: