DVWA-11-XSS(Dom)

目录

1.概念

2.实验

2.1 LOW

2.2 Medium

2.3 high

2.4 impossible


1.概念

DOM型XSS

DOM全程Document Object Model,使用DOM可以使程序和脚本能够动态访问和更新文档的内容、结构和样式。

DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。

 

HTML的标签都是节点,而这些节点组成了DOM的整体结构-节点树。通过HTML DOM,树中所有节点均可通过JavaScript进行访问。所有HTML元素(节点)均可被修改,也可以创建或删除节点。

在网站页面中有许多元素,当页面到达浏览器时,浏览器会为页码创建一个顶级的Document object文档对象,接着生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象包含属性、方法和事件。可以通过JS脚本对文档对象进行编辑,从而修改页面的元素,也就是说,客户端的脚本程序可以通过DOM动态修改页面内容,从客户端获取DOM中的数据并在本地执行。由于DOM是在客户端修改节点的所以基于DOM型的XSS漏洞不需要与服务器端交互,它只发生在客户端处理数据的阶段。

攻击方式:

用户请求一个经过专门设计的URL,它由攻击者提交,而且其中包含XSS代码。服务器的响应不会以任何形式包含攻击者的脚本。当用户的浏览器处理这个响应时,DOM对象就会处理XSS代码,导致存在XSS漏洞。

 


2.实验

2.1 LOW

可以看到代码中没有做任何保护,而表单是让我们选择语言

点击select,可以看到?default=English,所以可以在=号后插入xss payload

F12 ,开启脚本HackBar,获取url

点击XSS

选择XSS测试脚本,生成

执行,可以看到

我们还可以通过xss platform获取cookie等其他操作

创建一个普通项目,将自动构建的xss payload上传即可

 

2.2 Medium

代码分析

array_key_exists(key,array),检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false
参数描述
key必需。规定键名。
array必需。规定数组。

stripos() 函数查找字符串在另一字符串中第一次出现的位置(不区分大小写),可以看到对<script做了过滤

查看前端页面

xss 当然不单单可以利用script,所以这种过滤是没有太大作用的

></option></select><img sRC=//xsshs.cn/3b0Y/xss.jpg>

通过xssplatform

2.3 high

看代码

加入了白名单的方法,但是从网上别人的尝试中,可使用#绕过,在URL中#号之后的内容,不会被提交到服务器,可以直接与浏览器进行交户

2.4 impossible

黑盒测试后,发现对我们输入的参数并没有进行URL解码,所以我们输入的任何参数都是经过URL编码,然后直接赋值给option标签。

暂时无xss漏洞。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值