WebGoat系列实验AJAX Security

DOM Injiction

  1. 实验对象是一个接受激活密钥后允许你访问的系统,实验目标是尝试将激活按钮变得可以点击。
  2. 直接修改页面代码激活按钮,Chrome浏览器下F12查看网页源代码,找到按钮对应的代码
<input disabled="" id="SUBMIT" value="Activate!" name="SUBMIT" type="SUBMIT">

那一行,将disabled删除,就可以点击激活按钮了。

LAB: DOM-Based cross-site scripting

  1. 实验需要使用指定图片涂改网站。在输入框中输入字符串,网站会发送Ajax请求并显示“Hello,[字符串]!”。
  2. 尝试输入字符串如下:,结果在字符串的位置显示了图片,说明该网页存在有基于DOM的跨站脚本。
  3. 尝试使用image标签创建一个JavaScript警告。在输入框中输入<img src = "" onerror = ;alert("XSS!")>,页面会弹出一个警告。
  4. 尝试使用iframe标签创建一个JavaScript警告。在输入框中输入,页面弹出了一个警告。

LAB: Client Side Filtering

STAGE 1

  1. 作为Goat Hills Financial的CSO Moe Stooge登录,可以获取除了CEO Neville Bartholomew的公司所有人的信息。需要获取Neville Bartholomew的薪水。
  2. 查看网页源代码,在id为hiddenEmployeeRecords的table中发现了NB的薪水。
  3. 还可以重新加载网页,之后使用Burp代理拦截服务器的响应报文,随便选择一个员工查看个人信息,就可以拦截到服务器返回的所有人的薪水。

XML Injection

  1. 输入账户ID,网页将会显示可以购买的项目。目标是获取应得奖励之外的更多的奖励,需要使用836239作为账户ID。
  2. 使用Burp拦截服务器的响应报文,输入836239,点击Submit按钮,可以获取到从服务器返回的应得奖励。
  3. 按照奖励xml文件的格式,在拦截报文中添加其他奖励。
  4. 释放修改后的服务器响应报文,在页面中出现的可以获得的其他奖励,将所有的奖励勾选之后,点击提交通过。

JSON Injection

  1. 输入3位的机场代码,一个AJax请求会执行查询票价功能。目标是以更低的价格乘坐直飞的航班。
  2. 使用Burp拦截报文,在输入框中输入两个机场代码之后,截取到查询价格的报文。分析报文内容可知,并不包含价格的信息,放行报文。
  3. 在候选的两个航班中选择直飞的航班,点击提交之后会截取到报文,里面包含有价格参数,%24为$符号的十六进制编码,实际价格是600。修改为低于600的数值。

Silent Transactions Attacks

  1. 如果web应用允许提交简单的URL,那么就会有攻击者在用户未授权的情况下完成交易。这种攻击在AJAX中更加严重,交易不会在页面上给予用户反馈。
  2. 在实验的银行转账系统中,通过输入用户名与转账金额可以完成转账交易。
  3. 通过查询网页源代码,发现控制转账的函数submitData(accountNo,balance)位于silentTransaction.js的脚本中。
  4. 在浏览器中输入javascript:submitData(123,10000),即可完成静默转账。

Insecure Client Storage

STAGE1

  1. 实验需要找出本次购物需要使用的优惠码。
  2. 查看网页源代码,发现了用于检查优惠码的脚本。
  3. 源代码中包含了用于检查优惠码是否有效的函数isValidCoupon(coupon)。
  4. 在clientSideValidation.js脚本文件开头找到了用于函数isValidCoupon(coupon)的参数。
  5. 在浏览器的地址栏中输入javascript:alert(decrypt("nvojubmq")),弹窗显示了优惠码,通过。

STAGE2

  1. STAGE2需要免费购物,使用Burp修改GET请求报文将最终价格修改为0。

Dangerous Use of Eval

  1. 实验需要包含有脚本的输入,尝试让网页反馈你在浏览器中的输入,必须使用alert()函数输出document.cookie。
  2. 点击Purchase按钮,根据弹窗的内容,尝试在digit access code的位置进行XSS注入攻击。
  3. 输入123');alert(document.cookie)

    WebGoat系列实验AJAX Security的更多相关文章

    1. WebGoat系列实验Injection Flaws

      WebGoat系列实验Injection Flaws Numeric SQL Injection 下列表单允许用户查看天气信息,尝试注入SQL语句显示所有天气信息. 选择一个位置的天气,如Columb ...

    2. WebGoat系列实验Cross-Site Scripting (XSS)

      WebGoat系列实验Cross-Site Scripting (XSS) PhishingTitle 本次实验是在一个已知存在XSS漏洞的页面进行钓鱼攻击.通过使用XSS与HTML注入,在页面中注入 ...

    3. WebGoat系列实验Denial of Service & Insecure Communication

      WebGoat系列实验Denial of Service & Insecure Communication ZipBomb 服务器仅接收ZIP文件,将上传的文件解压,进行操作之后删除.已知服务 ...

    4. WebGoat系列实验Buffer Overflows & Code Quality & Concurrency

      WebGoat系列实验Buffer Overflows & Code Quality & Concurrency Off-by-One Overflows 实验需要访问OWASP Ho ...

    5. WebGoat系列实验Authentication Flaws

      WebGoat系列实验Authentication Flaws Forgot Password Web应用经常给用户提供取回密码的功能,但是许多应用的实现策略实现的很差,用于验证用户的信息非常简单. ...

    6. WebGoat系列实验Access Control Flaws

      WebGoat系列实验Access Control Flaws Using an Access Control Matrix 在基于角色的访问控制策略中,每个角色都代表了一个访问权限的集合.一个用户可 ...

    7. 黄聪:Microsoft Enterprise Library 5.0 系列教程(六) Security Application Block

      原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(六) Security Application Block 开发人员经常编写需要安全功能的应用程序.这些应用程序 ...

    8. Mininet 系列实验(六)

      写在前面 这次实验遇到了非常多问题,非常非常多,花了很多时间去解决,还是有一些小问题没有解决,但是基本上能完成实验.建议先看完全文再开始做实验. 实验内容 先看一下本次实验的拓扑图: 在该环境下,假设 ...

    9. Mininet 系列实验(四)

      实验内容 本次实验拓扑图: 在该环境下,h0 向 h1 发送数据包,由于在 mininet 脚本中设置了连接损耗率,在传输过程中会丢失一些包,本次实验的目的是展示如何通过控制器计算路径损耗速率(h0- ...

    随机推荐

    1. linux大于2T的磁盘格式化

      fdisk默认只能格式小于2T的磁盘,我们经常会碰到大于2T的磁盘,我们不能fdisk 格式化. 我们得用parted 来的格式化 parted 命令可能没有,yum install -y parte ...

    2. Soldier and Badges (set的检索简单运用)

      Colonel has n badges. He wants to give one badge to every of his n soldiers. Each badge has a coolne ...

    3. virtualvm一次插件安装想到的

      在麒麟操作系统visualvm安装插件失败,因为使用的内网,所以在官网下载了插件到本地:因为本地安装的jdk1.6,为了享受jdk1.8,在visualvm文件中增加了对于jdk1.8的引用: exp ...

    4. VisualPage重定向

      开发文档链接:https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_quick_start_override ...

    5. ubuntu lts install licode tag pre-v5.4

      1. Requirements Ubuntu 14.04 LTS 2. Clone Licode codeYou first need to clone our code from github.Yo ...

    6. [转载]Ubuntu下ssh服务的安装与登陆(ssh远程登陆)

      转载地址:http://blog.csdn.net/zht666/article/details/9340633 Ubuntu默认并没有安装ssh服务,如果通过ssh远程连接到Ubuntu,需要自己手 ...

    7. 【转】LTE-NAS过程学习总结

      为了从网络得到非接入层服务,网络中非接入层节点必须知道有关UE的信息.为了这个目的,UE不得不发起附属过程,该过程是在UE开机和初始接入网络时必须被执行的. 一旦该过程成功,MME上就会建立好一个该U ...

    8. 第十四届华中科技大学程序设计竞赛决赛同步赛 A - Beauty of Trees

      A - Beauty of Trees 题意: 链接:https://www.nowcoder.com/acm/contest/119/A来源:牛客网 Beauty of Trees 时间限制:C/C ...

    9. Oracle 数据库表(常见的表)

      数据库表(常见的表) 堆组织表:普通表 索引组织表:iot 嵌套表 临时表 外部表 1 表 一个表最多1000列,oracle会把列大于254的行存储在多个单独的行段中, 表中的行是无限的,    术 ...

    10. c# 使用GetPrivateProfileString 读ini数据 失败

      项目中用到 GetPrivateProfileString但是使用中, 发现 无法读出 ini 配置中的值, 比如Enable_log =3 我读到的是 API设置的默认值. 网上说可能时字符集编码的 ...