又见卡死图,竟然一个“小黑点”就能干掉QQ?

前一阵子QQ群里流行了一个东西,一段话加上一个黑点(表情),点击之后QQ就会卡死。(文内链接请点击“阅读原文”查看)

当时只觉得很好玩,没多久就又见了一次。

既然又看到了就一定要好好看看了。

刚开始遇到这个时第一反应是曾经看过的文章《一张GIF引发的微信崩溃》,所以第一反应也是扔进010Editor看看,然而并没有什么异常的地方。就在这时无意间看到了图片的名字,觉得不一般,后想了想会不会是和“十五个句号”一样触发了什么东西。

表情图片名称:

最后看了看实在想不到有什么异常的。虽然名字奇怪了点但一般这种图片不都是这样吗。更何况都有后缀名结尾,应该是翻不起什么浪的。这一会的我怕是已经有点草木皆兵了。

如果不是图片的话那么就是文字的原因喽?文字复制~

浏览器顺利爆炸:

地址栏里好像有什么东西。经过精简最后拿到了:%E2%80%8E

浏览器中重复出现这个东西:

到这里真相就差不多了,N多个%E2%80%8E循环出现。那么这个%E2%80%8E到底是什么呢个?经过查阅资料这东西叫ZERO-WIDTH SPACE,顾名思义0宽度,所以这东西看不见。那么既然是“隐形”的那它隐藏了什么?编码转换后得到如下:

我们可以看出这三个起来作用“‎‏‫”

‎LRM‎ 从左到右标记 ‏RLM从右向左标记 ‫RLE‫ 开始从右向左嵌入

到这里就可以看出了,其实&#8235也是可以去掉的,真正生效的是LRM和RLM。多个左右标记循环出现,当用户去指定一个位置时会因为“反复横跳”导致当前程序崩溃。而原来的黑点以及国旗只是给用户错觉,让人以为是它的原因。而“‎‏‫”重复出现应该也只是制造者为了尽量卡死用户而特意重复书写,并不是因为某种原因而生成的。理论上来说这个对所有触屏手机和其运行的软件能够生效。(如果点一次没卡可以多作几次,iOS未测试)。

那么既然知道了原理我们也可以制作一个自己的“卡死图”。

格式基本为:(‎‏)*N+图片或文字

然后将(‎‏)*N由unicode转换为ASCII,得到的即为只显示文字或图片的“卡死图”。

原聊天记录中的代码(未保存图片)。

链接:

https://pan.baidu.com/s/1VRss3DSb79WFfydY4Vh7YQ

密码: v5qt

查阅资料

《一个特殊的字符?(%E2%80%8B)》 《[BUG随想录] 看不见的分隔符:Zero-width space》

*本文原创作者:十页书,本文属FreeBuf原创奖励计划,未经许可禁止转载

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-05-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Lambda

PowerDesinger联系的定义及使用

目标:本文主要介绍联系的定义及使用。  一、 联系 联系(Relationship)是指实体集这间或实体集内部实例之间的连接。  实体之间可以通过联系...

20250
来自专栏蓝天

代码规范:换行对齐问题

对一于单行代码过长时,采取换行,这个没有什么可争议的,主要焦点在新的一行从哪开始,通常有两派,一派就是如上述两段代码所示,另一派则采用如下规范:

9020
来自专栏FreeBuf

Dance In Heap(四):一些堆利用的方法(下)

0x00 前面的话 本篇文章是系列的最后一篇,主要分析一下House系列的几个典型漏洞,关于堆利用的后续学习,大家可以关注 shellphish 团队的 how...

24990
来自专栏编程

C语言嵌入式系统编程修炼之键盘操作

这是我13年前创作和发表在互联网上的文章,这么多年过去了,这篇文章仍然在到处传播。现在贴回Linuxer公众号。 全文目录: C语言嵌入式系统编程修炼之道——背...

27790
来自专栏Web 开发

知呼前端工程师面试题目

第三题的答案(我的答案有点问题,等弄好了再上传 要想完美,先出主体,通过负margin+双容器)

9200
来自专栏葡萄城控件技术团队

ActiveReports 报表中 RDF 文件解析

AcitveReport 提供两种报表模板,XML(RPX)模板和Code-Based 模板。两者都可以用于设计报表。 但是 RDF 格式文件我们大多不是很了...

22990
来自专栏守候书阁

大道至简--API设计的美学

对于前端开发而言,肯定会和API打交道,大家也都会想过怎么设计自己的API。优秀的 API 之于代码,就如良好内涵对于每个人。好的 API 不但利于使用者理解,...

18830
来自专栏编舟记

Clojure集合管道函数练习

TDD讨论组里的申导最近在B站直播了Martin Fowler的经典文章Refactoring with Loops and Collection Pipeli...

15720
来自专栏自动化测试实战

Appium 定位方法例子(4)

37540
来自专栏vue学习

【干货】前端自学之路(持续更新)

《JavaScript Dom编程艺术》 《JavaScript面向对象编程指南(基础)》 《JavaScript高级程序设计》 《高性能JavaScri...

24920

扫码关注云+社区

领取腾讯云代金券