您当前位置:首页  >  综合其他

图灵禁区

时间:2023-05-25  来源:  作者:指尖的咏叹调
【fennel:如果你赢了,你会得到fennel的所有一切,包括epiphany的管理员权限,里面自然会有你想要的信息。】
【signale:如果你赢,我会放弃网络世界。】
第79章
伴随一声提示音。
fennel再次发来了他的邀请函:“俄罗斯轮盘赌”的一个入口。
直到这时, 坐在后面的楚英纵才突然惊醒,惴惴不安地问:“喂喂喂,等下!什么叫‘俄罗斯轮盘赌’啊!是我想的那个吗?”
时夜回头看了他一下, 温和道:“嗯,赌博性质的对弈。”
楚英纵:“不行吧!!!会死人的啊!!”
“……”时夜说, “只是一种比喻。”
所谓的“俄罗斯轮盘赌”, 指的是一种相似的形式。
对决的双方将会在相似的网络环境下进行公平对决:每个人使用一个大小相同的匿名网络,一般一共6台设备, 选择其中一台作为主机, 其他5台就是挡抢用的“替身”。
在主机上, 双方需要运行指定的动态网页,并定期更新时间戳等信息,否则视为主机已经被“拿下”, 即告失败。
双方同时开始对对方的网络进行进攻,同时要确保自己的主机无虞。
之所以称作“俄罗斯轮盘”的原因也很简单。
因为在匿名网络下,双方都不知道6台设备当中, 哪一台是对方的主机——就好像枪手们不知道左轮手枪里哪个位置填着唯一的那颗子弹。
这样的对决,比的就是胆魄、速度……和运气。
就比谁先幸运地找到对方的主机, 然后用迅猛如火的攻势将它拿下, 谁就得到最终的胜利。
这场对决,signale和fennel选择的是一种传统的德州规则, 双方都需要维护fackbook的一个初期版本,并每隔半小时在上面更新自己的动态;
双方外网限制使用tcp/ip协议, 但不限制内网协议;
系统限制使用windows系列, 数据库限制使用sqlserver,但不限制其他工具;
不允许借助外界任何帮助,只能使用最多1台僵尸设备(俗称“肉鸡”)作为跳板;
……
轮盘在子夜3点正式开启, 在那之前他们有足够的时间熟悉自己的网络。
时夜大致浏览过了规则,这些规则他也熟悉,只不过从未和其他人进行过赌约。
当他看完之后,只听身后的楚英纵又道:“等等,你的手……”
时夜右臂上被巴里所伤,医生说伤口不严重,但必须好好休养,不能激烈运动,再裂开的话就可能会损伤到神经了。
但仅仅是经过刚才一系列的登陆操作,绷带中已经隐隐晕染出了血色。
楚英纵轻轻抓住了时夜的手臂,示意他不要逞强。
就算不是世界第一黑客的身份,仅仅对一名普通的工程师来说……右手的重要性无异于半个职业生涯。
时夜就淡淡地说:“可以。接下来我说,你做。”
楚英纵:“……”原来在这里等着我呢!!!
他可算知道了,时夜要他帮的是什么忙。
——因为时夜右手不方便,所以找楚英纵来代替进行操作。
楚英纵有些紧张:“你确定我真的可以吗?会不会因为我影响到你的操作?”
这毕竟是世界顶级黑客之间的对决啊。
时夜却没有考虑那么多,只是淡淡来了一个:“嗯。”
楚英纵:“……”好,不愧是你!
不知道为什么,这么个欠扁已久的“嗯”字,就让楚英纵忘记了紧张。
他只觉得果然还是很生气!
片刻后,楚英纵的位子往前挪,正式坐在了电脑前面。
而时夜反而后退半步,站在了楚英纵的身后,目光正对着闪烁的屏幕,对他说:“在布置进攻工具之前,我需要你帮忙布置防御系统。”
楚英纵很紧张:“需要我做什么?”
时夜说:“建立一个洋葱网络,隐藏我们的主机。”
“啊……我知道这个。”楚英纵竭力地进行回想。
在本科的全部学习课程中都不会涉及“洋葱网络”的相关知识,但对一个好奇分子来说,这是关于黑客、关于暗网等酷炫传说的必备基础。
所谓“洋葱网络”,是根据chaum的一个mix理论发展而来的匿名协议。
比如说,在一个六台设备的洋葱网络里,当主机想要传递消息时,就先加密与(随机选择出的)1号机建立通讯,然后1号机又随机挑了2号机建立,2号机与3号机建立通讯,3号机最后与外界进行通讯,传递主机的消息。
每一次通讯之间都进行一层加密,这样保证过程安全性——





图灵禁区 第86节
就算攻击者入侵了2号机,但是他得到的也只是1号机给它的第2层加密数据而已。
这样就无法实施“第三者攻击”(mitm)了。
因此对一个洋葱网络来说,只要通讯的全部节点没有被同时攻破,那么主机就依然是安全的。
对时夜来说,这场“俄罗斯轮盘赌”,就像是一场沙盘上的战争,双方控制6座兵营进行互相的博弈。
而初期建立的“洋葱网络”就相当于是建立了一套加密的通讯系统,确保自己6个兵营之间的通讯不会被对方窃听。
考虑到这里,电子风已经仿佛映入他的眼帘。
但是……
他不能这样向楚英纵解释。
他的傻学长看不见这样的世界,看不见他的沙盘。
只有一只小鸭子,还坐在楚英纵脑袋瓜顶上,呆呆地望着自己。
不能回到他的电子世界里去……那就勉强留在现实世界吧。
时夜:“唉。”
听到叹气声,楚英纵好像触电了一般,紧张地回头来看他:“别啊……我做的有什么不对吗?”
“没有。”时夜说,“按照标准的洋葱协议来做就可以。”
楚英纵问:“那你为什么叹气啊?”
时夜想了想,说:“困。”
楚英纵:“你给我认真一点!!!需不需要我帮你拍大腿保持清醒啊!”
听他炸毛,时夜眼中闪过一丝淡淡的笑意,也没有继续接话,而是说:“继续,将主机的半开放端口全部限制掉。”
果然,听他一指挥,楚英纵立刻又全神贯注地开始操作。
对于正常要运行社交网站的服务器来说,一共65535个网络端口是必然要开放多半的,这是出于商业考虑的通讯需求。
但现在他们进行的是个人对决,因此只要不影响网站运行,那么将不必要的端口统统关闭,这样可以提高极大的安全性!
毕竟,端口越多,说明潜在的漏洞越多——能潜入进兵营的路径越多。
端口一一关闭后,相当于兵营正式关上大门、营造起藩篱,进入了备战的状态。
此时已经是夜间2:30分,30分钟后对决将会正式开始,不死不休。
在双方的社交网站上,已经刷新出了第一条动态。
【fennel:你准备好了吗?我感到迫不及待:)】
【signale:嗯。】
【fennel:?】
并不懂中文的fennel,看到这个“en”字,只觉得满头问号。
接下来的时间,楚英纵紧张到开始抖腿。
听时夜的指示,他们从后台检查了一下facebook的这个早期版本——真的很早期,就是马克同学在学校期间写出来的雏形而已,漏洞非常多!
时夜大概看了一下构架,直接宣布:“放弃从网站开始进行防御。”
楚英纵:“啊?直接放弃真的好吗?”
时夜:“没救了。”
楚英纵:“……”好的,言简意赅。
事实也确实如时夜说的一样。
夜间3:00整,俄罗斯轮盘赌正式开始,他们不约而同地发出了第二条动态。
【fennel:[鞠躬的图片]】
【signale:来。】
第一分钟,他们首先一起开始尝试对对方的社交网站进行入侵。
时夜通知楚英纵:“先伪造网页参数,做session hijacking。”
楚英纵:“从哪个参数开始做起?”
时夜看了一下,说:“st这个参数。”
这就完全是经验问题了。
对一个类似【 a href=& target=& _blank& 】的网址来说,里面包括有像“novelid”、“chapterid”这样的参数,分别代表的是什么一般只有程序员知道。
外人第一眼看到的时候,如果参数非常众多的话,就只能凭借经验来进行猜测。
时夜的经验和运气都不错,第一次就猜中了:st参数就是这个网站的会话token。
楚英纵看他们的当前token是数字“1002”,就有点无语了,说:“不会吧……马克同学难道是按照1、2、3、4这样排下来的吗?都不加密一下的吗?”
时夜说:“试试就知道了。”
楚英纵试着直接把网址从【……st=1002……】改成了【st=1001】,然后刷新页面。
bingo!
他的网页突然变成了另一个人的后台——fennel的后台!
“……”
楚英纵沉默半晌,道:“……我突然觉得扎克伯格在我心目中的地位下降了。”
时夜笑了一下,说:“你不能指望大学生在初次创业制作网站的时候,就考虑到安全问题。”
实际上,直到现在为止,很多经验丰富的互联网公司都会忘记网络安全,直接奔着商业价值就去了。
就比如说某个体量相当庞大的女性向网络文学网站,都已经到了0202年代了,仍然使用古老的“http”协议,而不用“https”协议进行用户登录和vip相关操作。
这导致盗取他们的用户变得异常简单,很多民间黑客随手一试,就能成片成片地盗号。
像google的浏览器,根本不需要分析,一看他们的网址,都会直接在左边提示“不安全”三个大字。
说出去很多业内人士都不敢相信!
——https都已经普及了多少年了,怎么可能还有头部网站到现在还没更新协议啊?
——快醒醒啊刘总,考虑一下读者们的安全问题啊!
作者有话要说: 声嘶力竭.jpg
第80章
拿到社交网站的管理员权限, 对双方来说,就好像正餐开始前的小面包。
时夜几乎不吹灰之力,而fennel也同样如此。
3:12分, 两边几乎同时攻破了这个简陋的小网站,看到了对方的后台。
——这是第一步。
接下来, 他们将要从网站中, 尽量多地挖掘到对方的信息,进而找到对方6台设备中最重要的那台主机, 然后入侵它。
小网站的后台也同样简陋, 管理员仅能做到增、删、改、查所有人动态, 以及进行全站广播等操作。
时夜在旁边拿着手机,同步地看着后台。
楚英纵一开始并没有注意,后来才发现他新发了一条动态在网站上。
【signale:135.1.51.1, op,f2235!op1】
刷新后,看到动态的楚英纵有点懵逼, 回头问道:“你发的东西是什么意思?”
时夜说:“1号机。”
听他这么一说,楚英纵恍然:他发的分别是1号机的ip地址, 管理员账号和密码。
楚英纵:“……”
时夜:“?”
“啊啊啊啊啊!”楚英纵懵了, “为什么要发出去啊!这样不是相当于白送给了fennel吗?!”
ip、管理员帐号、密码,足够fennel轻松地得到这台1号机了。
这就相当于临阵投敌啊!!
楚英纵双手抱头, 本就紧张的心情差点当场炸裂。
时夜倒是很淡定,说:“因为这场轮盘赌本来应该一对一公平对决, 而你是场外援助。这并不公平。”
楚英纵:“所以为了变得公平, 你就直接送掉了一台机子吗?”
时夜:“嗯。”
楚英纵欲言又止,他知道这就是时夜的风格和规则,时夜是个视规则为一切的男人, 但是……
一共6台设备,一开始就这样轻松地失去了一台,这让人很没有安全感啊!
楚英纵:“那你有没有想过,你的右手受伤了,这本来也很不公平?我帮助你也只是弥补你的劣势而已——”
“不止是那样。”时夜淡淡地说,“在俄罗斯轮盘赌中,拥有一个战友,心理上已经是极大优势。更何况,这个人是你。”
楚英纵许久说不出话来。
好久后,他叹了口气。
“唉。”楚英纵说,“算啦,你本来就是这种人。我只希望你下次做这种决定的时候,能事先告诉我一声。”
时夜:“告诉你会怎样?”
楚英纵狠狠地捏了一把他的脸:“我会有个心理准备!!”
一番简短的对话过后,楚英纵重新回过头,开始紧张地浏览fennel的网页后台,将所有账户登录的历史记录给拉下来。
而此时,他们却同时注意到,fennel也更新了一条动态。
【fennel:142.10.2.123,gry,gq245】




图灵禁区 第87节
“?”
楚英纵结结实实地愣住!
时夜也侧目看了过来,眉头微微蹙起,说:“问问他什么意思。”
楚英纵打字挺快,噼里啪啦地在fennel的动态下留言。
【signale:什么意思?】
【fennel:自动放弃我的其中一台设备。别误会,这并不是向你投降,只是为了抵消你的劣势而已。现在华国是深夜3点多,对你的作息来说也是不小的挑战吧?而且,我注意到你使用了洋葱网络的标准版本,猜想你之前并没有进行过类似的赌局;而我却有额外的工具进行准备,这对你来说也不公平。为了抵消这里的‘不公平’,我选择放弃一台设备,仅此而已。】
楚英纵:“……”
时夜平静地点了下头:“知道了,我们可以继续了。”
楚英纵低声道:“没想到他也这么有原则。”
时夜说:“电子世界和正常的社会不太一样,这里的原则就是原则,是不可撼动的客观规律。”
楚英纵点点头:“我好像能明白你们的想法了。”
fennel已经查探到了他们的内网是用洋葱协议进行连接的,动作比他们稍微快了一步。
但楚英纵动作也很快,将fennel这边的网站记录快速浏览了一遍,很快找到了fennel的内网入口。
通过对他的网关进行试探性的会话申请,他们很快捕获了来回的几个数据包。
——数据包就是fennel的5台设备之间进行交流的内容,可以说就是对方军队的电报。
一个正常的tcpip协议数据包,在各个设备之间流窜的时候,总是标准格式的:版本号、头长、服务类型、包裹总长、标志、段偏移、时间戳、协议代码、校验位、32位来源ip、32位目标ip、选项和最后的用户数据。
但他们截获的fennel的数据包中,经过了很多位数的加密内容。
经过加密后的数据看上去杂乱无章,光用肉眼看不出任何的意义。
楚英纵脱口而出道:“要不分析下他用的是什么加密方式?”
“不。”时夜冷静地说,“底层分析太浪时间。让蝰蛇做这件事,我们首先进行xss攻击。”
楚英纵打开了黑色的蝰蛇,然后将捕获到的数个数据包拖入其中,看蝰蛇开始自动进行分析。
这是signale的通用工具,能够自主对密文进行分析,快速分析出加密方式;必要的时候配合琴鸟,甚至能得到较为简单的明文和密钥。
工具开始运转的同时,楚英纵已经回到了facebook网页上。
分析完网页上的全部数据,不代表它就完全没用了,其实它还能用来钓鱼!
xss就是这样一项攻击方式。
只听时夜口述道:“试试关键词注入。”
“嗯。”楚英纵点头,打开网页输入框,试着在里面敲打了一阵代码,然后发送成为一条新的仅个人可见的动态,进行测试。
再经过刷新之后,新动态出现的同时,楚英纵的代码也生效了!
“可以做xss!”楚英纵惊喜道,“还真的是个筛子网站啊。看来fennel也完全放弃了防御它……”
xss(cross site scripting,跨站脚本攻击)的原理很简单。
当一个网站允许用户进行输入,然后显示在网页上的时候,用户其实就相当于能将自己的输入内容注入到网页的源代码中。
如果编写的时候程序员没有注意屏蔽掉这种注入,那么黑客完全可以突破自己的输入区,将真正的代码写成动态,也进入网页源代码中。
而对于其他不知情的用户来讲,一旦刷到了黑客发布的这条动态,他们的浏览器就会自动认为这条动态的内容来自于这个网站——而这个网站是被信任的,所以就会运行动态中的恶意代码。
这个过程好像鸠占鹊巢,黑客借用网站的名义,让它的所有用户执行了自己的代码。
凌晨3:30分,楚英纵将心编写好的xss脚本注入到了新动态中。
【signale:嗯。】
虽然只有短短的一个“嗯”字,但其实这条动态的体量长达数kb,之所以只显示这么短,当然是利用了网页的代码漏洞,将后续内容隐藏显示,而成为了源代码的一部分。
而这些代码的目的很简单:让观看者自动下载一个木马病毒!
这样一来,一旦fennel看到这条动态,就可能会下载木马。
此时同一时间,按照规则,fennel也发布了新动态。
【fennel:不知道你进度如何?我已经找到了你的第一层跳板。】
楚英纵看到这条动态,呼吸不由急促了一点,说:“他动作怎么这么快?是不是已经在进攻我们的某一台设备了?我要不要打开防火墙看看记录?”
“不用着急,未必是真的。”时夜冷静道,“既然蜜罐没有报警,我们继续进攻。”
楚英纵等待了一会儿,后台木马却始终没有被下载。
很明显,fennel虽然看到了被注入恶意代码的新动态,但是却没有中招。
——是他的防火墙阻拦了后台下载?还是fennel屏蔽了整个网页执行代码?还是他检查了所有输入?
不论如何,xss攻击暂时没有奏效。
不过,蝰蛇的破解过程已经运行完了,它给出了对fennel数据包的分析结论。
很遗憾,蝰蛇没有直接破解出原文,但它给出了数据包使用的加密协议。
——ndc。
这是一个楚英纵明显没有听说过的协议,他求助地看向了身后的时夜:“这是什么?”
时夜微微凝眉,说:“一种匿名协议。”
楚英纵:“……谢谢,我当然知道这一点。”
“ndc的提出比洋葱网络更早,但并不实用,一直没有大规模推广。”时夜淡淡地解释道,“这是一种全对称加密协议,过程类似链表。”
ndc(nparty dinning cryptographers)的匿名原理比洋葱网络更强、更隐蔽。
处于ndc网络中的所有设备,每当发布任何数据包时,总是先和自己右侧设备进行一次xor(异或)操作,然后将自己的数据传递给自己的左侧设备。
所有设备举出自己的数据包之后,再总体进行一次xor操作,最终的结果就是输出的数据包。
这个协议确保了:每个数据包都会被至少两台设备进行操作,每个设备只知道自己的内容,不知道其他任何设备的内容。
也就是说,基本从根本上干掉了内鬼的操作空间。
即便入侵者完全控制了网络中的某一台主机,依然无法从内网流通的数据包里得到任何信息……
只要入侵者没有找到真正的主机,哪怕他控制了剩下所有4台主机,也依然没有任何作用!
必须找到真主机,或者干脆控制全部5台设备,才能破解整个数据包。
这就是ndc的强度,一种代价大到现实中几乎不可能商用的匿名协议。
楚英纵了解过后,倒吸一口冷气,说:“我知道为什么fennel觉得自己优势太大了……这种先备知识,真的很不公平。”
“没关系。”时夜说,“既然如此,那就一一打破。所谓的‘俄罗斯轮盘赌’,还是有必胜策略的。”
1...3738394041...44
猜你喜欢