渗透之路基础 -- 跨站脚本攻击XSS

漏洞原理及防御

XSS又叫CSS (CrossSiteScript),因为与层叠样式表(css)重名,所以叫Xss,中文名叫跨站脚本攻击。

xss攻击,主要就是攻击者通过“html注入”篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击方式。

危害

  • 可以盗取用户Cookie

  • 挂马(水坑攻击)

    在用户经常访问的网站,利用网站的漏洞植入攻击代码,访问者终端会被植入恶意程序或者直接盗取信息

  • 蠕虫(需要结合CSRF)

  • 局限性的键盘记录

防御

  1. 特殊字符HTML实体转码。最好的过滤方式是在输出和二次调用的时候进行加HTML实体一类的转码,防止脚本注入。
  2. 标签事件属性黑名单。特殊字符容易被绕过,所以还得加标签事件得黑名单或者白名单,这里推荐使用白名单的方式,实现规则可以直接使用正则表达式来匹配,如果匹配到的事件不在白名单列表,就可以直接拦截,而不是过滤为空。

XSS 原理分析:输出问题导致js代码被识别执行

​ 漏洞产生:输出问题

又返回结果1,如果注入脚本代码

这就是一个简单的反射型xss

XSS 技术分类

  • 反射性跨站(非持续型)

    经过服务器,没有和数据库有交集

  • 存储型跨站(持续型)

    是直接写入数据库,保持持久性,经过服务器

  • DOM XSS

    效果上说也是反射型XSS,但是这种XSS完全存在于客户端,不会经过服务器,直接和js拼接输出到页面

Cookie盗取

利用原理

​ 通过在评论区插入存储型XSS脚本,每次用户访问都会加载评论中的恶意脚本,导致本地cookie被发送到攻击者平台

​ 拿到webshell后,修改登录成功后的页面,插入xss获取cookie的脚本代码

XSS平台

// 页面底植入xss代码
<script src
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值