XSS(跨站脚本攻击)

一、XSS概念

1、概念

XSS又叫CSS(Cross Site Script),跨站脚本攻击。属于web应用中计算机安全漏洞,是恶意的web访问者将脚本植入到提供给用户使用的页面中,通常是使用JavaScript编写的危险代码,当用户使用浏览器访问页面时,脚本会被执行,从而达到攻击者目的。

2、攻击流程

二、反射型XSS(非持续性)

1、概念

  • 反射型主要用于将恶意脚本附加到URL地址的参数中
  • 漏洞特征:一次性的、前端执行、不会储存在后端数据库

2、攻击流程

3、靶场练习-DVWA

①反射型XSS-low

step1:源码分析

有源代码可以看到,没有做任何的防护,输入什么就是什么

step2:填写payload

由上述图片可以看到已经成功了

②反射型XSS-medium

step1:源码分析

根据源码可得,这里过滤了script,由于str_replace区分大小写,所以这里我们通过将其大写,就能实现绕过

step2:将关键字进行大小写变换

③反射型XSS-high

step1:源码分析

通过查看源码我们知道,这里将script所组成的正则式都过滤掉了,所有我们使用大小写、双写、变换script都无法成功

那么我们尝试使用其他标签

step2:使用其他标签测试

使用img标签

<img src=x onerror=alert(/xss/)>

使用input标签

<input onclick=alert(1)>

使用a标签

<a href="" onclick=alert(1)>xss</a>

三、储存型XSS(持续型)

1、概念

此类XSS不需要用户单击特定URL就能执行跨站脚本。 攻击者事先将恶意JavaScript代码上传或存储到漏洞服务器中。 当受害者浏览包含此恶意JavaScript代码的页面就会执行恶意代码

存储型 XSS 常出现在网站的留言版、评论、博客日志等交互处

2、攻击流程

3、靶场练习-DVWA

①储存型XSS-low

step1:源码分析

无任何防护

step2:进行测试

成功了

step3:重新进入,弹窗依旧存在

之前植入的恶意代码依旧存在

②储存型XSS-medium

step1:源码分析

通过对源码进行分析可以看到message过滤掉了所有标签。而name框对应只是将script标签进行了过滤。

step2:测试

在输入过程中,发现它限制了长度

修改maxlength的值后重新输入

③储存型XSS-high

step1:源码分析

我们可以看到,他在medium的基础上,对name框的输入内容也进行了限制

step2:测试

根据源码分析,我们尝试在name框中使用其他标签

四、DOM型XSS

1、概念

DOM XSS的XSS代码不需要服务端解析响应的直接参与,触发XSS的是浏览器端的DOM解析。

用户在客户端输入的数据如果包含了恶意JavaScript脚本,而这些脚本没有经过适当的过滤,应用程序就可能受到基于DOM的XSS攻击。

漏洞特征:一次性的、前端执行、不会储存在后端数据库、程序执行不依赖 于服务器端的数据

DOM 型 XSS 跟前两种 XSS 的区别:DOM 型 XSS 攻击中,取出和执行恶意代码由浏览器端完成,属于前端 JavaScript 自身的安全漏洞,而其他两种 XSS 都属于服务端的安全漏洞。

2、攻击流程

  • 攻击者构造出特殊的 URL,其中包含恶意代码。用户打开带有恶意代码的 URL。
  • 用户浏览器接收到响应后解析执行,前端 JavaScript 取出 URL 中的恶意代码并执行。
  • 恶意代码窃取用户数据并发送到攻击者的网站,或者冒充用户的行为,调用目标网站接口执行攻击者指定的操作

3、靶场练习-DVWA

①DOM型-low

step1:查看源码

没有任何过滤

step2:测试

②DOM型-medium

step1:源码分析

可以看到对script标签进行了过滤

step2:测试

③DOM型-high

step1:源码分析

查看源码可得,他对我们输入的内容进行了分类,我们要想写入恶意代码,需要使用到#选项

step2:测试

以上仅供网络安全学习

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值