黑客三兄弟是如何获取登录用户cookie的

作者:CQITer小编 时间:2018-02-04 09:26

字号

建立Beauty.com的黑客三兄弟最近可谓是春风得意,他们的这个网站精准地利用了人类的本性,窃取了不少登录用户的cookie。

黑客三兄弟是如何获取登录用户cookie的

利用别人的cookie,他们可以冒充真实的用户,在颁发cookie的那个网站中为所欲为,个人隐私在他们面前根本不存在。

运气好的话连别人的用户名和密码都能得到,那就一通百通,因为大家都嫌麻烦,总是使用同一套用户名和密码来登录各种不同系统。

可是好景不长,这一天黑客老三慌慌张张地找到了老大:“大哥,大事不好! ”

“老三,你这慌慌张张的毛病什么时候能改改? 这点儿你可得学学你二哥。” 老大训斥道。

“不是,大哥,这次真是大事不妙,浏览器家族最近颁布了一个什么同源策略,我们原来偷Cookie的招数都不管用了! 今天我连一个Cookie,用户名密码都没有偷到。”

“什么叫偷,说了多少次了,那就借,知道不?!”

“我早就料到了,这么重大的安全漏洞肯定肯定会补上的,他们不会这么轻易地让我们来跨域来访问别人的Cookie,修改别人的DOM,调用别人的服务的。”  老成持重的黑客老二说道。

“那怎么办? 没有Cookie,难道我们三兄弟以后就饿肚子了吗?”  老三很紧张。

“别担心,我们哥仨勾兑勾兑,他们肯定有漏洞的,” 老大安慰到,“老二,你先说说你的看法。”

“其实吧,我们想去借一个Cookie来用,关键是要让我们Beauty.com的JavaScript在目标浏览器上运行,然后访问爱存不存银行(icbc.com.cn)的cookie,可是现在他们用了同源策略,我们网站的JavaScript不允许访问别人网站的东西,那这条路就行不通了。”

黑客三兄弟是如何获取登录用户cookie的

“我想到一个招数,” 老三兴奋地说,“我们可以想办法修改下icbc.com.cn服务器端的JavaScript, 把偷Cookie的代码加上去!”

“你想得美,那岂不得到icbc.com.cn的服务器去修改了!还得黑掉别人的服务器,这就难了,即使你修改了,人家程序员再次发布新版本,那不就把我们的修改给覆盖掉了?” 老大再次训斥。

“那我们就想办法去黑掉程序员的SVN,Github,直接把上面的代码给改了.....”  老三的声音越来越小。

“唉,算了吧,我们盗亦有道,只做Web端黑客。” 老大重申三人组织的性质。

这时候老二想了一个办法:“其实老三说的也有道理,我们只要想办法把JavaScript代码注入到目标页面中,就能绕过同源策略了,这让我想到了HTML中的<input>,这个标签会在浏览器中产生一个输入框,让用户输入数据,我们可以把JavaScript代码当做数据输入进去, 等到数据提交到服务器端,会保存下来,下次展示页面的时候不就可以执行了吗?!”

老三说:“二哥我听不太明白,你能不能举个例子?”

老二说道:“好吧,有这么一个网站,可以让你对某个文章输入评论:”

黑客三兄弟是如何获取登录用户cookie的

“然后,你在评论区输入了这样的代码,注意,我们注入了一段'JavaScript'”

黑客三兄弟是如何获取登录用户cookie的

“等到再次有人访问这个页面的时候,会发生什么呢?”  老二启发老三。

“奥,我明白了,那就可以把那个人的cookie显示出来了!”老三一点都不笨。

黑客三兄弟是如何获取登录用户cookie的

兴奋之余,老三挠挠头:“ 但是这只是在人家的浏览器中显示,怎么才能发到我们的服务器呢? 用JavaScript来发? 那也不行, 因为同源策略严格限制JavaScript的跨域访问呐!”

老大也说:“是啊,这个人看到自己的cookie被alert出来,估计会吓一跳吧。”

老二说:“嗯,确实不能这么办,让我想想。”

一炷香时间过去,老二说:“有了! 那个同源策略并不限制<img>这样的标签从别的网站(跨域)去下载图片,我们在注入JavaScript代码的时候,同时创建一个用户不可见的<img>,通过这个<img>发cookie发给我们。”

老三还是不明白, 要求再详细解释一下,老二就上了代码:

老二说:“看到了吧,只要这段代码被执行,用户的cookie就会发到我们服务器上(),我们就等着收取cookie吧!”

老三感慨道:“二哥你真厉害,天马行空,竟然想到了使用<img>的src属性来发送数据!”

老大说:“我们干脆把这段代码封装成一个js文件,嗯,就叫做beauty.js吧, 这样以后我们用起来会很方便!”

黑客三兄弟是如何获取登录用户cookie的

老三看到又可以‘借到’cookie了,兴奋得直搓手: “大哥二哥,我这就去把JS写出来,找个网站试一试。”

老大说道:“我们把这种方法叫做Cross Site Scripting ,简称CSS,二弟意下如何?”

老二说:“大哥, CSS已经名花有主了,意思是层叠样式表,我们还是叫做XSS吧!”

(码农翻身注:按照XSS的分类方法, 上面介绍的叫做存储性XSS, 危害最大。 还有反射型XSS,基于DOM的XSS,本文不再展开。)

大家都表示同意。

老三很快写出了beauty.js, 也折腾出了 专门用于记录‘借’来的cookie。

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
关键词 >>黑客 获取 登录
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接