上周帮同事处理完电脑——她只是在常逛的宠物论坛留了句“求橘猫领养”,号就被人拿去发了一堆卖假狗粮的广告。折腾到半夜才把所有密码改完,还念叨着“我又没点陌生链接怎么会被盗”。
真的。没有什么神秘的黑客远程盯上她的电脑,也不是她不小心下了什么带病毒的软件,这事的元凶,就是你大概率听过但没搞懂的——跨站脚本。
你以为的黑客入侵,可能只是你自己敲上去的
很多人一听跨站脚本,就觉得是要懂多少编程才能搞出来的高深攻击,其实说穿了特别简单。你把所有网站都想象成奶茶店门口的留言板,本来是给客人写祝福、提意见用的,结果有人在留言板上写了句:“所有看到这条的人,自动掏出手机给写这句话的人转5块钱。”要是奶茶店老板没仔细检查留言,直接把这句话贴到了留言板最显眼的位置,那所有路过看到这条留言的人,真的会自动掏钱转账——浏览器就是那个路过的客人,它默认所有出现在网页上的代码,都是网站老板自己放的,所以会乖乖执行。
跨站脚本本质上根本不是什么高深的黑客技术,就是网站没把好“用户输入”这道门的锅。正常的网站会提前过滤掉用户输入内容里的代码片段,只让纯文字、表情这类安全的内容显示出来,但很多小网站、甚至不少运营了好几年的老论坛,当年开发的时候赶上线,压根没做这层过滤,你输入什么,它就原封不动放到网页上给所有人看。

这种被人塞进去的小代码,最常干的事根本不是偷你电脑里的文件,而是偷你浏览器里存的这个网站的登录凭证——也就是cookie。你应该都有过这种体验:登录某个论坛的时候,勾了“下次自动登录”,之后再打开网站就不用输密码了,这个身份信息就存在cookie里。那段恶意代码只要偷偷把这个cookie发给黑客的服务器,人家拿到这个凭证,根本不用知道你的密码,就能直接登进你的账号,就像你家门禁卡被人偷偷复制了一份,人家直接刷卡进你家,根本不用撬锁。我那个同事的号,就是这么被偷的。
别觉得这是小概率事件,你大概率碰到过
真的。你上次逛那种免费看老剧的小网站,评论区突然跳出来个“恭喜你获得100元话费点击领取”的弹窗,你以为是网站自己的广告,其实就是有人塞的跨站脚本代码。还有那种你明明没给某个评论点赞,回头再看自己的账号,自动给一堆奇怪的评论点了赞,甚至发了一堆垃圾私信,别觉得是你自己手滑,十有八九就是碰到这玩意了。
我之前还碰到过个特别好笑的案例,某个本地的美食论坛,有人在评论区塞了段代码,所有看那个“哪家小龙虾最好吃”帖子的人,都会自动给发假小龙虾优惠券的评论点踩。本来是想恶意搞破坏,结果直接把广告顶到了帖子最底下,给我笑了快半小时。
很多人一听到“脚本攻击”就慌,觉得是要被人偷银行卡、偷支付密码。想多了。它偷的从来不是你存在银行的钱,而是你当前已经登录的网站的临时身份凭证——毕竟要是真能直接碰你支付账户,人家还费这劲偷什么cookie啊。

别觉得这是只有小网站才会出的问题。前几年连不少知名的内容社区、电商平台都爆过跨站脚本的漏洞,只是人家修复得快,没闹大而已。说白了,只要有用户输入的地方——评论框、留言板、甚至是搜索框,只要网站没做好过滤,就有可能被人钻这个空子。
普通人能怎么防?根本不用你学写代码
别听那些技术博主瞎忽悠,什么要你搞懂XSS的三种类型,什么要学怎么写过滤规则,普通人哪有那闲工夫。你就记几个简单的小事就行,根本费不了多少时间。
逛那种看起来就很“野生”的小网站的时候,别把你常用的主账号密码往上面输——尤其是你已经在微信、支付宝、工作邮箱用过的那套密码,真的,别图省事用同一套密码走天下。不然人家偷了你这个小论坛的账号,顺带着把你常用的号也登了,那才叫亏。
看完帖子随手点个退出登录,别让浏览器一直帮你存着登录状态,反正下次输个密码也就几秒钟的事。要是打开个网页突然跳出来莫名其妙的弹窗,或者你明明没操作,页面却自己跳转到别的地方了,别犹豫,直接关页面,回去把这个网站的密码改了就行。
对了,别觉得装了杀毒软件就万事大吉。杀毒软件防的是你下载到电脑里的病毒文件,跨站脚本是在你打开网页的时候,在浏览器里跑的,相当于网页自己的一部分,杀毒软件根本管不着。你要是实在担心,就把浏览器的自动清理cookie功能开起来,每次关浏览器就自动清一遍,也不麻烦。
其实哪有那么多电影里演的黑客,对着屏幕敲几行代码就黑进人家系统。大部分时候你碰到的所谓“网络攻击”,都是网站开发的时候图省事,没做好最基础的防护,被人钻了空子而已。你说你一个普通网民,哪需要懂那么多技术细节,只要多留个心眼,别什么网站都敢登,什么密码都敢用同一套,就够避开90%的破事了。