热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

草根黑客K0:梦想很贵,但值得一试

草根黑客 K0:梦想很贵,但值得一试 (一)我叫K0,全称K0SH1,是一个草根黑客。我喜

草根黑客 K0:梦想很贵,但值得一试

 

(一)

我叫K0,全称K0SH1,是一个草根黑客。

我喜欢赛跑,只要对手不是我爸。

十四岁的某一天,我爸正追着我满屋跑,鸡飞狗跳。要说原因,是我打了游戏。打游戏倒没什么大不了,只不过为了打游戏,我得去网吧;为了去网吧,我得逃课。

我打游戏的“理由”其实比一般人更充分:

1998年,我七岁,电视上反复显示着江南发生的那场千年不遇的大洪水。不过我更关心的,是另一块屏幕——我的电脑。一根电话线连接到电脑上,发出吱吱呀呀的声音,听起来就像谁在费力地打开一扇门。那扇门背后,是一个叫做互联网的世界。

就在那年,我开始了自己的网络游戏生涯,真正的小学生。从石器时代到CS,我好像对游戏有与生俱来的天赋,无论是游戏里的大局观,和不同队友的配合合作,执行力,还是个人技术。后来我打 CS 厉害到什么程度呢?就是传说中的甩狙,盲狙,弹无虚发。以至于后来上电脑课和同学们联机打CS,就有同学专门坐我旁边监督我,不让我选AWP(狙击枪),否则他们露头就死。

后来接触了很多很多网游,无论是什么类型的游戏,我都能很快上手,无论是击败BOSS,还是打跪对手。“只要再努努力就能成为职业选手”——至少我是这样想的。就在我接近“职业及格线”的时候,父母颁布了“调控新政”:只有周末的时候我才能玩两个小时游戏。为了自己的职业生涯,我只得去网吧“训练”,所以有了我爸的那次“追杀”。

印象中那是我爸最后一次“试图”打我。那之后的日子,我跑得越来越快,我爸却跑得越来越慢。其实最主要的原因是,我们之间达成了君子协定:十八岁之后,他就不再管我。作为交换,十八岁前我要好好学习。

2009年,高考之后的那个夏天,我正好十八岁。我像疯了一样为游戏“补课”,每天花16个小时在魔兽世界上,除了睡觉上厕所,连吃饭都在电脑前面。我在魔兽世界二区四组(多个服务器的竞技分组)迅速蹿红,很多顶尖的竞技场选手会来找我单挑。后来有了跨服的概念后,我会被邀请跨服到其他服务器挑战那个服务器的“门神”(单挑很厉害的人),还有一些厉害的人和我组队打竞技场。

如果成为职业选手是梦想的话,那个夏天是我最接近的时刻。遗憾的是,当时并肩作战的很多朋友,最终和我一样,都没能成为职业赛手,原因不一而足。

那年之后,我不再为游戏那么疯狂了。在七大姑八大姨口中,曾经我是网瘾少年,是他们教育孩子的反面教材,而这次却成了颇具教育意义的“改邪归正”,不过在我心里,这更像一次失之交臂。这段经历在后来的生活中,曾经几度跳出来警告我:梦想很贵。

也许是因为某种眷恋,我阴差阳错地选择了计算机专业。猝不及防地,大学为我打开了一个新的世界。四年的撩妹生涯告诉我,现实世界比网络空间多了无数温柔。

我开始爱上了炊烟袅袅,笑靥如花。于是时光飞逝,我从一个看对错的孩子成长为一个看利弊的成年人。

父母都在政府工作,我一毕业似乎命中注定一样进了北京一家事业单位,朝九晚五,住房不愁、福利优厚,一辈子衣食无忧。在外人眼中,我的生活很爽。而当时的我不这么认为,在我眼里,这种闲云野鹤的感觉不只是爽,简直TMD爽爆了,红红火火恍恍惚惚。。。

我的故事写到这里就可以结束了,如果没有2014年春天的那件事。

 

(二)

2014年春天,我有一个学弟要毕业,他需要写一个毕业设计程序,于是跪求天资聪颖玉树临风的我帮助他完成一个模块。

鉴于他对我这么精准的评价,我自然不能推脱。况且我那会儿每日闲的X疼,随手拯救学渣,胜造七级浮屠。

虽然大学四年的很多时间都花在了研究“少女心理学”上,但毕竟科班出身,我自认写代码的水平还不赖。然而这一次,无论我怎么调试,程序都像命中注定一样崩溃。我满脸黑人问号,在网上找到了一个词:“溢出”。

百度第一条,“缓冲区溢出”,来自看雪论坛。我点进去。就是这么轻轻一点,我的人生瞬间“溢出”了。我想直到许多年后,我依然会记得点击鼠标的那一瞬间。

我靠!通过控制“溢出”,可以让软件代码的执行流改变,进一步可以任意控制一台电脑,就像网络空间里的上帝!我好像被电流击中,坐在椅子上,让这种眩晕感在全身荡开,半天没有回神。

从那天起,我连女朋友都不看,只“看雪”。

看雪论坛二进制漏洞版块

我找到了很多有关黑客知识的基础帖,从简单的溢出实现控制开始研究,然后学到“Shellcode”,执行任意代码。遇到不会的地方,就到处搜索帖子来补充。我发现,自己的思路已经被代码占满了,朝思夜梦。

我把教室从家里“扩展”到了办公室里,在单位的电脑上搭建环境,开始每天利用工作的时间自己研究黑客技术,从早晨上班到夕阳西下,就这么盯着屏幕,一口水都顾不上喝。领导交给我工作,其实我很快就完成了,但当他过来询问我进度的时候,我使劲摇头。这样接下来的时间,我就又可以继续调试我的漏洞了。

就这样,冬春夏秋打了一个轮回。

2015年8月,我的朋友告诉我,有一个网络安全的会议叫做 KCon。这不是重点,关键是会议结束后有一个黑客摇滚之夜,是不需要票的。我欣然应邀,在八月夜晚的灯红酒绿里认识了生命里第一批黑客朋友。

我认识了一个叫傲客的人,此人三十有余,看起来却犹如肯德基爷爷那般慈祥和无害。他负责 i春秋——一个专门教人成为黑客的网站——的市场工作。他看到我的名字“K0SH1”,于是问我:你是叫“抠屎”吗?

虽然我对这个外号颇有微词,但这不重要。他介绍我认识了蔡晶晶、袁哥等一票黑客大牛和另一票漂亮的市场运营小姐姐。

从此,进入了一个黑客的世界,可以和圈子里的朋友一起研究网络安全技术。慢慢地我也认识了启蒙学校“看雪论坛”的各位版主。我最早看到的那个帖子出自看雪“二进制漏洞”版块,版主仙果成为了我的良师益友。这些事如梦幻一般。

K0 和安全研究员仙果(左)、幻泉(中)在一起

 

(三)

我开始认真研究“漏洞”这件事。

其实,所谓漏洞就是程序运行中可以被利用的错误。漏洞分为很多种,例如二进制漏洞、Web漏洞等等。我发现自己对二进制漏洞最为着迷。

所谓二进制漏洞,就是找到一套软件系统中隐藏的逻辑错误。找到它们的难度就犹如找到一幢古堡里的机关暗道。但只要你成功,就瞬间成为赛博世界的上帝——所有的一切都在我眼下,枝蔓开散,生杀予夺。赛博世界原来层峦叠嶂,拥有无限可能。每个幽暗的代码深处,都有可能藏着引爆世界的按钮。按下按钮,世界折叠,腥风血雨泛起丝丝甜意。

旧时光并没有那么死气沉沉地睡在我的记忆,我发现,游戏生涯把“技巧”“对抗”这些词汇深深烙刻在我的脑回路中。那个在离经叛道烟尘中的自己,从未走远。游戏是人和人的胜负,而漏洞,同样是人和人的博弈,只不过我和对手之间,隔了一层代码。这种对抗既让我热血沸腾又无比安全,简直是为我量身定做。

在看了无数漏洞利用的文章之后,在复现了无数别人找到的漏洞之后,我终于鼓起勇气寻找自己的漏洞。

这件事并没有想象中那么难。

2015年,老天终于给了我奖赏。经过测试,我发现了一个知名web 服务存在的一个二进制级漏洞,通过我写的exploit(漏洞利用代码),我就能控制部署了这个web服务的服务器。发现这个漏洞并没有耗费我太多的时间,当然我很幸运,但我觉得这个成果对得起我一年的努力。我把这个漏洞提交给漏洞平台乌云,很快就获得了一万块钱的奖励,我的漏洞被标注为三个“$”加打雷标志,等级非常高。

我在镜子前恭喜自己:“内存猎手” K0 诞生了!

2015年,粉丝 K0 拉住黑客大神袁哥,强行合影

从这开始,我一发不可收拾,接连挖到不少漏洞。在提交漏洞的同时,我还会分享平时自己的一些研究成果,形成文章在论坛和微博上,开始有人主动联系我,也有越来越多的人认识我,一路上有了更多的小伙伴同行。

我逐渐发现自己的心态发生了一些变化。

我开始享受在群里插科打诨,和别人斗图。渐渐地“水半个小时群,然后拉回精神看十分钟代码”成了我每天的日常。这样的日子持续了很久。而时光从来不等人。某天夕阳西下,我突然发现,这一整天我几乎什么都没做,几乎回到了一年前刚进事业单位的日子。我突然产生了对未来的莫名恐惧。

我咬咬牙,强制把自己塞进时间表。上班的时候就把手机扔回车里,回家之后就把手机交给父母。每天八点上班,坐在工位上调试漏洞,直到六点下班。吃完饭健身一小时,回家继续调试漏洞到十二点。

二进制安全研究需要做很多枯燥而基础的学习,就像武侠中的“筑基”一样,我庆幸自己在筑基的时候,及时“回头是岸”,没有成为一个浮躁的人。

这是 K0 在补天沙龙演讲现场。

 

(四)

2016年,我经历了生命中最艰难的时刻。

我决定放弃现在的工作,成为一名职业的安全研究员。但这个决定并不想随口一说这么简单。它的代价就是,放弃我的铁饭碗,放弃被所有人羡慕的福利、医疗住房保障、放弃未来孩子上学的优惠政策,这些东西的价值,我何尝不知。正是它们让梦想变得无比昂贵。

但更让我难以跨越的坎儿,是父母。

那段日子,每天我都和父母吵架。我好不容易用梦想支撑起走出去的勇气,却被他们反复用住房、福利、孩子上学、医疗保障拽回现实。每当我怒斥他们保守之后,回到房间却开始怀疑自己的勇气。

一架天平两边角力,却迟迟难以倒向一侧。我已经不堪重负,每晚辗转难眠。

“爱”这个字眼,此刻把最锋利的一面展示给我。曾经父母不鼓励我成为电竞选手的梦想,是为了我人生平坦;如今他们不鼓励我成为安全研究员,也是为了我岁月安稳。爱这件事我丝毫不怀疑。但这一眼能望到头的一生,就像那街道尽头凋零的老树,又真的如我所愿吗?

在某个夜里我忽然惊醒,我慢慢坐起来看着窗外星火熠熠。我突然想明白,嘴遁无用,我需要的是一个证明。父母需要这个证明,我自己也需要这个证明,每一个已经和将要认识我的人,都需要这个证明。

那天之后,我放弃了所有无关的事情,陷入了一种癫狂——每天除了研究技术挖漏洞之外不做任何事。我想起了十八岁的那个夏天。

那天我坐在角落的电脑前,读到一篇文章。作者分析了一个路由的缓冲区溢出漏洞。他把自己从挖到漏洞到成功利用漏洞的心路历程一点一滴地记录下来。逆向一个路由有多难,我当然知道。我仿佛看到了他在赛博世界里狼奔豕突,百转千回,声嘶力竭,几近无望。他用尽气力,最后一搏,蓦然回首,面前一片灯火阑珊。

读到最后一个字,我才发现泪水已经模糊了双眼。

也是那段时间,我几乎找遍了所有能复现能分析的二进制漏洞,Exploit-db上的上百种软件的二进制漏洞几乎被我分析殆尽,我手里握了上百篇分析文章。

那年秋天,我成为了 Seebug 漏洞平台的 Top10,并且在一些漏洞平台榜上有名。一年前还在 KCon 摇滚之夜蹭酒喝的那个小黑客,转年已经成为了补天沙龙的讲者,i春秋的课程讲师。虽然这些成绩微不足道,但我把它们视作自己的骄傲。我仿佛听到了一扇门锁簧弹开的咔哒声,我爱这个声音。

一天吃晚饭的时候,父亲突然跟我说,他的一个老同事很多年前离开了体制,现在混得很不错,你应该也可以。看着他的笑容,我知道我应该把辞呈交给领导了。

单位的同事和我吃饭时,知道我要离开的消息,他对我说:“其实我挺羡慕你的,有离开体制的勇气,有一些梦想在等待你实现。”

2016年“429”首都网络安全日, i春秋校长蔡晶晶把 K0SH1 的故事讲给现场观众,他称 K0 为“乐观的白帽”。

 

(五)

国内一些顶级的网络安全研究团队都向我发出了邀请。我唯一的忐忑,就是自己的技术是否配得上它们的声望。

也许现在的我需要更努力。

今年七月,我成功地拿到了人生第一批漏洞 CVE 编号(只有相对重要的漏洞才有能拥有权威机构配发的 CVE 编号)。十一月,我又拿到了第二批 CVE。当然,很多时候找到漏洞并不意味着它可以被利用。我很清楚。在技术这条路上,还有数不尽的山等着我翻过去。

我猜,也许某一天我可以跟随我的团队,跟随我强大的队友们一起去挖微软这样顶级厂商的漏洞,没准到那时,我就可以登上全球最顶尖的舞台,成为全球最顶尖的安全研究员,这也是我的梦想,我的“终极”。我很喜欢谷歌旗下的顶级安全团队: Project Zero。但我的梦想并不是加入他们,而是寻找中国的“Project Zero”,被我自己的国家所记住。

偶尔我会想起自己做的那个梦。

梦中我又回到了高中毕业的那个夏天。我站在十八岁的自己身旁,而那个少年,正在屏气凝神地打着游戏,好像全世界的生死都在他的手中。

窗外阳光灿烂,我拍了拍他的肩膀,他头也不回。

对了,作为文章作者我再自我介绍一下。我叫史中,是一个倾心故事的科技记者。我的日常是和各路大神聊天。如果想和我做朋友,可以加我微信,fungungun。

不想走丢的话,你也可以关注我的自媒体公众号“浅黑科技”。


推荐阅读
  • 数字账号安全与数据资产问题的研究及解决方案
    本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文讨论了同事工资打听的话题,包括同工不同酬现象、打探工资的途径、为什么打听别人的工资、职业的本质、商业价值与工资的关系,以及如何面对同事工资比自己高的情况和凸显自己的商业价值。故事中的阿巧发现同事的工资比自己高后感到不满,通过与老公、闺蜜交流和搜索相关关键词来寻求解决办法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 分享2款网站程序源码/主题等后门检测工具
    本文介绍了2款用于检测网站程序源码和主题中是否存在后门的工具,分别是WebShellkiller和D盾_Web查杀。WebShellkiller是一款支持webshell和暗链扫描的工具,采用多重检测引擎和智能检测模型,能够更精准地检测出已知和未知的后门文件。D盾_Web查杀则使用自行研发的代码分析引擎,能够分析更为隐藏的WebShell后门行为。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
author-avatar
sunshinena
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有