XSS漏洞

原理和分类

原理:跨站脚本攻击XSS(Cross Site Scripting),恶意攻击者往Web页面里插入恶意的Script代码,当用户浏览该页,嵌在Web里的script代码就会被执行,达到攻击用户的目的。而XSS针对的是用户层的攻击。

种类:存储型、反射型、DOM型XSS

存储型:持久化,是因为代码存储在服务器中,比如个人信息或者发表文章等地方,插入恶意代码,如果过滤不严,那么恶意代码就会存储带服务器中,用户访问该页面就会触发代码执行,容易造成蠕虫,***cookie。

反射性:非持久化,需要其变用户去点击连接才能触发XSS代码,一般出现在搜索页面。

DOM型XSS:不经过后端,DOM-XSS漏洞是基于文档对象模型(Document Object Model,DOM)的一种漏洞,DOM-XSS是通过传入参数去控制触发的,也是反射型XSS。

XSS攻击载荷

<script>标签是常见的
例如
<script> alert("hack")</script>   #弹出hack
<script>alert(document.cookie)</script> #弹出cookie

XSS 的危害

针对用户

  • 窃取cookie
  • 网络钓鱼
  • 放马挖矿
  • 广告刷流量

针对web服务

  • 劫持后台
  • 篡改页面
  • 内网扫描
  • 传播蠕虫

XSS漏洞挖掘

尽可能找到一切用户可控并且能够输出在页面代码中的地方,比如下面这些:

  1. URL的每一个参数
  2. 有序列表内容
  3. 表单
  4. 搜索框

常见业务场景

重灾区:评论区、留言区、个人信息、订单信息等
针对型:站内信、网页即时通讯、私信、意见反馈
存在风险:搜索框、当前目录、图片属性等

XSS防御的总体思路是:对用户的输入(和URL参数)进行过滤,对输出进行html编码。白名单和黑名单

学习记录使用,如有侵权联系(即评论)删除