生命在于学习——XSS

一、漏洞介绍

xss攻击全称跨站脚本攻击,是为了不和层叠样式表(CSS)混淆,所以缩写成XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到web网站里面,供给其他用户访问,当用户访问到有恶意代码的网页就会产生xss攻击。

二、漏洞危害

  1. 盗取各类用户账号,如机器登录账号、用户网银账号、各类管理员账号
  2. 控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
  3. 盗窃企业重要的具有商业价值的资料
  4. 非法转账
  5. 强制发送电子邮件
  6. 网站挂马
  7. 控制受害者机器向其他网站发起攻击

三、漏洞防御

xss防御的总体思路是:对于输入(和URL参数)进行过滤,对输出进行编码,也就是对提交的所有内容进行过滤,对url中的参数进行过滤,过滤掉会导致脚本执行的相关内容,然后对动态输出到页面的内容进行html编码,使脚本无法在浏览器中执行。

四、漏洞类型

1、反射型

反射型的XSS,非持久化,需要欺骗用户自己去点击链接才能触发XSS代码,反射型XSS攻击的方法,攻击者通过发送邮件或诱导等方法,将包含xss恶意链接发送给目标用户,当目标用户访问该链接时,服务器将接收该用户的请求并进行处理,然后服务器把带有xss恶意脚本发送给目标用户的浏览器,浏览器解析这段带有xss代码的恶意脚本后,就会触发xss攻击。
代码分析
在反射型xss代码中,首先判断$_GET[‘mssage’] 是否等于 kobe,如果不是则在页面中
G E T [ ′ m s s a g e ′ ] 复制给 _GET['mssage'] 复制给 GET[mssage]复制给html 变量中,⽽且没有任何过滤再输出到⻚⾯中,所以直接输
⼊⻚⾯会直接输出 xss 信息,就会造成 xss 攻击。

2、存储型

存储型XSS,持久化,代码是存储在服务器中的数据库里,如在个人信息或发表文章等地方,可以插入代码,如果插入的数据没有过滤或过滤不严,那么这些恶意代码没有经过过滤将储存到数据库中,用户访问该页面的时候,没有进行编码过滤输出到浏览器上,就会触发代码执行,造成xss攻击。
代码分析
在存储型xss代码分析中,看到留言的inster into语句中,直接插入留言信息,没有任何过滤,输入恶意代码,这个代码将记录在数据中。

3、DOM型

DOM,全称 Document Object Model,是⼀个平台和语⾔都中⽴的接⼝,可以使程序和脚
本能够动态访问和更新⽂档的内容、结构以及样式。 DOM 型 XSS 其实是⼀种特殊类型的反射
型 XSS,它是基于 DOM ⽂档对象模型的⼀种漏洞。 在⽹站⻚⾯中有许多⻚⾯的元素,当⻚⾯
到达浏览器时浏览器会为⻚⾯创建⼀个顶级的 Document object ⽂档对象,接着⽣成各个⼦⽂
档对象,每个⻚⾯元素对应⼀个⽂档对象,每个⽂档对象包含属性、⽅法和事件。可以通过
JS 脚本对⽂档对象进⾏编辑从⽽修改⻚⾯的元素。也就是说,客户端的脚本程序可以通过
DOM 来动态修改⻚⾯内容,从客户端获取 DOM 中的数据并在本地执⾏。基于这个特性,就
可以利⽤ JS 脚本来实现 XSS 漏洞的利⽤;
在这里插入图片描述
代码分析
DOM型xss程序中,只有html代码,dom通过操作HTML或者css实现HTML属性、方法、事件,因此程序中没有与服务器进行交互。
点击按钮时,会调用domxss()函数,跟踪domxss函数:
在这里插入图片描述

五、payload

在网站是否存在xss漏洞时,应该输入一些标签<>输入后查看网页源代码是否过滤标签,如果没过滤,很大可能存在xss漏洞。

1、常用的测试语句

在这里插入图片描述

2、一些常见标签

下面的标签大部分都是可以自动触发js代码的,无需用户去交互,大部分情况下我们也是希望自动触发而不是等用户去触发。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

3、javascriot伪协议

在这里插入图片描述

4、payload

备忘录:
https://netsec.expert/posts/xss-in-2021/
https://github.com/0xsobky/HackVault/wiki/Unleashing-an-Ultimate-XSS-Polyg
lot
https://d3adend.org/xss/ghettoBypass
https://www.jb51.net/tools/xss.htm
https://www.yuque.com/docs/share/c16d3bb5-929c-4239-bab9-35e2a93d7fd9?

5、不同位置的XSS利用方式

在这里插入图片描述

6、远程加载payload

在这里插入图片描述
在这里插入图片描述

7、有过滤的情况下

(1)过滤空格

在这里插入图片描述

(2)过滤关键字

在这里插入图片描述

(3)双写关键字

在这里插入图片描述

(4)字符拼接

在这里插入图片描述

(5)其他字符混淆

在这里插入图片描述

(6)编码绕过

Unicode编码绕过
在这里插入图片描述
url编码绕过
在这里插入图片描述
Ascii码绕过

hex绕过
在这里插入图片描述
八进制
在这里插入图片描述
base64绕过
在这里插入图片描述

(7)过滤双引号,单引号

在这里插入图片描述

(8)过滤括号

在这里插入图片描述

(9)过滤url地址

在这里插入图片描述

(10)使用IP

在这里插入图片描述
在这里插入图片描述

六、XSS平台利用

在初步探测到xss漏洞时,此时我们可以使用xss在线平台,去获取一些我们需要的信息,比如位置、键盘记录、IP、表单挟持。
不建议自己搭建。
使用公网的(自行搜索)。

七、漏洞修复

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值