导读:日本刈谷市警方近日质询并指控了一名13岁的女学生,起因是她将一段恶意代码的链接放到了在线公告栏上,广泛传播代码。这段有问题的恶意代码是弹出警告消息的无限循环,每当你点击“确定”就会立即显示新的消息。
来源:开源中国(ID:oschina2013)、云头条(ID:YunTouTiao)
这名13岁女孩被指控传播未经授权的恶意程序。
▲微软 Edge 浏览器让人们很容易阻止 JavaScript 无限警告的循环
可以看到,这就是十分常见的恶作剧无限弹窗,点了“确定”按钮,这个窗口便会一直弹出。这里的效果就是输出颜文字(kaomoji)和一条短消息,翻译过来就是“多次关闭它是没用的。”
不过通过移动浏览器访问可能看不到这个效果,因为它们普遍都默认阻止弹出式窗口。而每款主流的桌面浏览器对这种无限弹窗也都有处理方案。
比如说,Edge 浏览器提供了一个复选框,可以阻止页面显示后续对话框,而 Chrome 让你可以关闭选项卡 —— 尽管有对话框。
代码本身极其简单,它最终的效果不过是产生一个无限循环和一个警告框:
for ( ; ; ) {
window.alert(" ∧_∧ ババババ\n( ・ω・)=つ≡つ\n(っ ≡つ=つ\n`/ )\n(ノΠU\n何回閉じても無駄ですよ~ww\nm9(^Д^)プギャー!!\n byソル (@0_Infinity_)")
}
代码就长这样,不过这与短短一天内导致1507台计算机系统崩溃的代码不完全一样。
警方在调查这起犯罪行为时仔细检查了公告栏的用户日志,发现其他人也涉嫌附有链接。为此,警方搜查了一名失业男子和一名47岁的建筑工人所住的房子。这三个人中没有一个人被指控实际编写这个无限循环。女孩解释其行为时称,自己经常遇到这样的恶作剧,以为如果有人点击链接会很好玩。
消息中出现的推特用户 0_Infinity_ 有一个受保护的帐户,但该用户在自我介绍部分留下了一条消息,表明他们不明白为什么这个脚本在今天引起如此大的动静,该脚本是在2014年编写的。
为了抗议日本警察采取的行动和将此行为定为犯罪的荒谬做法,东京开发者 Kimikazu Kato 在 GitHub 上创建了一个名为 Let's Get Arrested(来逮捕我们)的仓库:
https://github.com/hamukazu/lets-get-arrested
fork 这个项目,然后创建一个名为 gh-pages 的分支,就能创建一个托管在 GitHub 上的简单网站,该网站只含有无限循环警告,犯罪行为简直触手可及。
https://github.com/hamukazu/lets-get-arrested/blob/master/README.zh_hans.md
▲提供了多国语言版本
参考:https://arstechnica.com/