天天看點

【趣話程式設計】如果張東升是個程式員

原文連結

張東升是一家網際網路公司的程式員,一直以來都勤勤懇懇老實工作。

可最近一段時間,老闆接了幾個項目回來,不但開啟了996的工作模式,更要命的是頻頻更改需求,弄得大家是敢怒不敢言。

時間一久,東升慢慢開始消極怠工,晚上也不怎麼加班了。終于有一天,和老闆在會議室吵了起來,老闆決意讓其忙完手頭的項目就離職。

老闆看大家最近一段時間都很辛苦,決定組織一次團建,在群裡詢問大家有什麼活動建議。

這時,張東升提議:“最近大家都工作挺累,也沒有什麼機會鍛煉,身體要緊,要不一起去爬六峰山吧”

東升的提議獲得了不少人的贊同,團建活動就這麼定了下來。

團建這天,爬至半山腰,東升問老闆:“您看我還有機會嗎?”

【趣話程式設計】如果張東升是個程式員

老闆看了他一眼,沒有說話,繼續抽煙。

爬至山頂,大家三三兩兩都在拍照發朋友圈。

這時東升拉住老闆到一旁說給他拍照,老闆知道東升是為讨好自己,也就沒有拒絕。

東升舉起手機,卻說老闆衣服有褶皺,上前為其整理,竟趁其不備将其推下山崖···

晚上,張東升還在電腦前調試着代碼,突然,一封主題為“警告”的郵件視窗從側邊彈了出來。

【趣話程式設計】如果張東升是個程式員

東升的心跳立刻加速,小心翼翼的點開了這封郵件,正文隻有四個字:“請看附件”

附件是一個word文檔,東升并沒有立即打開,職業習慣讓他打開了VMware虛拟機,在虛拟機中打開了這個檔案。

原來以為白天的事無人知曉,沒想到這一幕正好被對面山頭正在拍攝抖音短視訊的三個小孩用手機錄了下來。

三個小孩看到了張東升T恤上的公司名字,并在公司網站上找到了他的郵箱,這才給他發了這封郵件。

張東升看到後,大驚失色,想找到對方,卻不知道對方是什麼來頭。

這時他注意到附件是一個docx檔案,想到office2007及其以後的版本才用這個格式,其實際上是一個壓縮檔案格式zip。

東升思索片刻将其重命名為一個zip檔案,然後解壓,想看看是否能發現些什麼資訊。

【趣話程式設計】如果張東升是個程式員

接着在docProps目錄下找到了app.xml:

<AppVersion>15.0000</AppVersion>           

版本号是15,看來對方用的是一個Office2013版本的word。

東升很快在網絡上搜到了一個漏洞:CVE-2017-11882,這是一個可以遠端執行代碼的漏洞,字元串拷貝沒有對長度進行校驗導緻棧溢出。

說幹就幹,東升打開了metasploit,通過它很快生成一段包含惡意代碼的word檔案,将其作為附件回複給了對方。

三個小孩此刻正聚集在朱朝陽的家裡,自從他們發送了警告郵件,心裡就忐忑難耐,一直盯着電腦螢幕,看看是否會有回複。

一看到郵件彈窗,就趕緊點了開來。郵件正文也隻寫了一句話:我想說的都在附件中。

朱朝陽沒有猶豫,又立刻點了附件。電腦上的Word程序随即啟動,解析附件doc檔案時,觸發了漏洞,執行了張東升事先編寫的惡意代碼。而此時,朱朝陽卻一無所知。

【趣話程式設計】如果張東升是個程式員

惡意程式很快和張東升的電腦建立了網絡連接配接,并開始收集朱朝陽電腦的資訊,IP位址、MAC位址、電腦檔案等等。

東升不愧是經驗豐富的程式員,為了躲過電腦防火牆的攔截,他編寫的惡意代碼通過ICMP協定的負載字段進行資料傳輸。

朱朝陽正瞅着空白的word文檔感到疑惑,突然電腦螢幕上出現了一個視訊聊天視窗,一陌生男子的畫面突然出現吓得朱朝陽驚出了一身冷汗。

定睛一看,這男子不是别人,正是推人的張東升。

張東升先開口了:“沒想到竟然是個小孩。我已經知道你電腦的IP位址,也知道你家住在哪裡,明天上午出來聊聊,就在你家巷子口的面館。”,說完就切斷了視訊信号。

張東升的突然出現,顯然吓壞了朱朝陽。一旁的嚴良問到:“什麼是IP位址?他又是怎麼知道你家的位置,連面館都知道,這簡直太可怕了。”

朱朝陽鎮定了兩分鐘,緩過神來,說到:“一定是剛才的郵件附件有問題,我的電腦已經被他控制。IP位址是電腦接入網絡配置設定的通信身份證号碼,通過IP位址就能鎖定電腦的位置,再用地圖一看就能知道附近的街道布局和街景畫面,知道面館也就不足為奇了”

這一夜注定是個不眠之夜。

第二天,雙方如約相見。張表示可以用錢買下手機,嚴良威脅張東升,要賣可以,必須30萬。

東升愣了一下,“你們小小年紀,要這麼多錢做什麼?”

嚴良頂了一句:“不關你的事”

東升無奈,表示要先看到手機視訊再說。

朱朝陽拿出手機,剛打開視訊,手機竟然沒電。張見狀拿出自己手機的充電器給朱朝陽。

待手機充電,張看到了視訊。張表示他一個程式員,掙得不多,要等到四月份發了年終獎才湊得齊。

三小孩卻隻給了他一個星期時間。

一個星期過去,見東升未曾聯系,三小孩主動聯系張。張卻不以為意,說讓他們去報警吧。

三小孩不解,正想拿着手機去報警,卻發現手機竟然已經當機無法打開了。

原來張東升拿出的那個充電器是事先精心準備,充電器裡面内置了一個小型晶片,資料線一旦連接配接到手機就植入病毒程式,等待時機進行手機資料破壞。

【趣話程式設計】如果張東升是個程式員

不過,讓張東升沒有想到的是,朱朝陽竟然提前備份了資料,再次發來郵件威脅。

夜晚,洗完澡的張東升看着鏡子裡在自己,回想這些年多少次熬夜加班,不記得何時竟已經秃頭,戴上了假發。

【趣話程式設計】如果張東升是個程式員

怒從心中起,惡向膽邊生。張東升決定把這三個小孩一并收拾了。

東升跟蹤數日,終于找到另外兩個小孩原來住在海邊淺灘的破船上,一天夜裡灑滿汽油縱火焚燒。

随即又潛到朱朝陽的住處,竟發現雖然已是深夜,朱朝陽還在電腦旁寫着代碼,旁邊的書桌上放滿了C/C++程式設計、資料結構與算法、作業系統等書籍。不禁想起了當年挑燈學習程式設計的自己。沒想到一失足成千古恨,如今自己再也回不了頭了。

不知何故,張東升竟改變主意,悄然離開了。

第二天,張向朱朝陽的電子郵箱裡發送了一份學習資料,什麼劍指offer、分布式計算、雲計算、微服務、Dubbo、高并發、資料庫實戰,琳琅滿目,應接不暇,足足有100多G。

不久,海邊縱火一事案發,警方通過在電信局部署的網絡流量采集中心的木馬警報日志,溯源恢複了之前的郵件來往資訊,很快鎖定了程式員張東升。

張東升再次來到朱朝陽家,挾持了朱,警方随後趕到。

朱問張:你殺了我的小夥伴,為什麼卻給我發了一堆學習資料?

張東升笑着說:“殺了你有什麼意思,我要你像我一樣,成為一個程式員。”

朝陽卻說:“那你幹嘛給我放網盤,100多G的資料,60KB/s,你知道要下多久嗎?”

東升一聽大怒,舉起手中利器便要作勢刺向朝陽,隻聽一聲槍響,東升應聲倒下。

來源 | 程式設計技術宇宙

作者 | 軒轅之風