浅谈xss跨站脚本攻击

首先,让我们来理解为什么是XSS(Cross Site Scripting)攻击被称为“跨站脚本攻击”,跨站就是攻击者跨越不同的网络边界,本质是攻击者利用目标网站对用户输入数据的处理漏洞,将恶意脚本注入到网页中,并在用户的浏览器上执行,当用户进去被植入恶意脚本的网站后,这些恶意代码将会被浏览器所执行,
xss的三种分类
1,反射型XSS(非持久型跨站攻击)

本质上:黑客将恶意脚本作为参数附加在url(构建特定的url),发送给用户,用户因为某些原因点击这个含有恶意代码的url,此时有一个过程就是浏览器拿到了这个url请求,发送给服务端,当web服务器接受到这个请求后未经过滤将会执行这个脚本,(因为这段代码没有储存在服务器,将这段代码删除就可以解决问题)恶意代码并不存储在服务器上,而是“反射”回给受害者。
http://www.a.com/test.php?param=
利用方法
可以通过向用户发送电子邮件或者社交平台等方法诱导用户点击链接
构造方法
如果你想要创建一个含有反射性xss漏洞,你可以先在自己电脑上试一试,也可以使用burp创建
2,存储型XSS(持久型跨站攻击)
攻击者将恶意脚本提交到目标网站的数据库,当其他用户访问这个被污染的页面时,恶意脚本将在他们的浏览器中执行,攻击者可以通过评论区,私信或者论坛博客文章(甚至可以是个人信息资料只要是他人可以访问)任何访问该页面的用户都可能成为攻击目标。
构造方法
写评论什么的,并且通过前端的过滤,后端过滤
3,DOM型XSS(DOM跨站攻击)
这类攻击完全不涉及服务器端(Server-side),仅限于客户端(Client-side) 可以说这种xss不依赖于服务器端的响应内容来触发恶意脚本的执行。从攻击方式上来说类似反射性xss,实质上是通过修改页面的DOM节点形成的xss。(让我们先来介绍一下DOM,在DOM中,html标签,css属性,注释都可以视为一个节点,这些节点通过层次关系链接形成了一个节点树,这个节点树就是DOM,DOM里面有很多对象,其中有一些是可以由用户操纵)
攻击原理
在DOM类型的xss中攻击者可以通过可由JavaScript访问的DOM元素注入脚本,刷新一下,浏览器开始执行这些代码,

比如说我们开启我们浏览器上自带的管理员模式,我们将其中的img标签中的src的路径改为#
并且在后面加上onerror=……(onerror是JavaScript语言中的浏览器遇到错误可能体现为
事件加载失败即上文提到的img图片显示不出来,此时onerror函数被触发开始执行)这种方法可以归结于函数的错误应用,实际上这个函数是为了当浏览器遇到错误时,这个函数记录下日志方便后续处理问题。

理论时间结束,现在开始实践时间!

⁞ つ: •̀ ⌂ •́ : ⁞-︻╦̵̵͇̿̿̿̿══╤─

如果你非常想要用xss试验一下你的命令可能会被过滤所以下面让我们来介绍几种过滤方法
 空格过滤,可以将空格替换为/
 在html里面可以不用引号,在JavaScript中用反引号来代替双引号
 当括号被过滤后可以通过throw来过滤(throw语句表示当错误发生时返回一个错误)
 如果过滤了关键字,可以通过大小写混用来过滤
 侧重讲一下双写绕过,双写绕过一种针对特定的安全过滤机制的攻击技巧,主要发生在web应用的安全防护场景中,特别是在应用web应用防火墙(WAF)或者过滤机制防止诸如sql注入,xss(跨站脚本)攻击这类防护系统通常会识别并且过滤掉一些恶意关键词或者特殊字符,
所以说双写过滤需要WAF配置不够严谨

例如,如果一个WAF被配置为过滤掉<script>标签以防止XSS攻击,直接输入<script>alert('XSS');</script>会被过滤掉。但是,如果输入<scr<script>ipt>alert('XSS');</scr<script>ipt>,某些简单的过滤逻辑可能会错误地处理第一次出现的<script>,而忽略了紧跟其后的第二次出现,最终导致原本被阻止的恶意代码得以执行。出其不意,攻其不备
 eval()你也可以使用字符串拼接绕过,使用php函数eval(),当然这个函数JavaScript里面也有,这个函数就是把里面的代码当做脚本代码执行,用的次数可能比较多,
var b = ‘XSS")’;
var a="alert(';
eval(a + b);
 实体编码和url编码,对恶意字符串进行编码,然后让浏览器进行解码,比如:将

1.**XSSer

  • 这是一个自动化XSS攻击工具,支持多种XSS向量和 evasion 技术,能够高效地测试目标是否存在XSS漏洞,并尝试利用这些漏洞。
  1. XSS Sniper

    • 它是一个基于Python的自动化XSS攻击工具,能够注入恶意JavaScript代码到目标网站,以检测和利用潜在的XSS漏洞。适用于自我安全测试、第三方服务安全性评估及渗透测试。
  2. Webscan

    • Webscan是一个多用途的Web应用程序安全扫描器,也包括检测XSS漏洞的功能。
      当然上述需要WAF不太行或者过滤不完全
  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值