function escape(s) {
// Pass inn "callback#userdata"
var thing = s.split(/#/); if (!/^[a-zA-Z\[\]']*$/.test(thing[0])) return 'Invalid callback';
var obj = {'userdata': thing[1] };
var json = JSON.stringify(obj).replace(/</g, '\\u003c');
return "<script>" + thing[0] + "(" + json +")</script>";
}

payload:callback#userdata

两个参数,两个输出点,要执行alert(1)或alert`1`就必须隔离,通过引号可以达到这样的效果,但双引号被转义了,可尝试单引号:

这里使用单引号闭合一堆无用内容而不用双引号,是因为JSON.stringify()有下面的特性:

最新文章

  1. eclipse中如何安装插件ADT及SDK工具
  2. JS小总结
  3. 【腾讯bugly干货】QQ空间直播秒开优化实践
  4. 【转】selenium学习路线
  5. 新广告法,极限词剔除,替换掉的mysql语句
  6. FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别
  7. Linux下date命令,格式化输出,时间设置
  8. Unity 摄像机Clear Flags和Culling Mask属性用途详解
  9. QT进度条QProgressBar的练习(定制QProgressBar,单独成为一个控件)
  10. 使用Intent在活动之间穿梭(《第一行代码》读书笔记)
  11. MyISAM 存储引擎
  12. 使用Visual Studio 2008创建你的第一个Windows Mobile程序介绍
  13. mybatis if条件查询 及&lt;号的问题
  14. linux常用命令 sort排序命令
  15. 【转载】VMware虚拟机NAT模式网络配置图文教程
  16. Hibernate之开门见山
  17. 高并发第十单:J.U.C AQS(AbstractQueuedSynchronizer) 组件:CountDownLatch. CyclicBarrier .Semaphore
  18. spring 上下文和spring mvc上下文和web应用上下文servletContext之间的关系
  19. 我与虚拟机的初次接触及初探Liux命令 20155338
  20. ASP.NET WEB API处理流程

热门文章

  1. lunwenzhunbei
  2. win10 1903
  3. python3 -m pip install django, -m参数
  4. 用Vue来实现音乐播放器(十四):歌手数据接口抓取
  5. 003-CHROME开发者工具的小技巧
  6. .Net Core 使用 System.Drawing.Common 在CentOS下报错
  7. 2 Hadoop集群安装部署准备
  8. dockerFile 配置puppeteer
  9. 前端借助接口获取ip地址
  10. ementUi rules表单验证 --》Wangqi