一个程序员的黑客梦
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/coderising/article/details/100075982
?
張大胖上大學的時候就對網(wǎng)絡(luò)安全非常感興趣, 經(jīng)常上網(wǎng)去搜索那些傳奇的黑客故事,然后心里癢癢的想小試牛刀。
那個時候大家的安全意識非常薄弱,張大胖學會了SQL注入以后,居然用它獲得了一個BBS網(wǎng)站的用戶列表,并且包括所有的密碼——這些密碼都是明文保存在數(shù)據(jù)庫中的。
有了這一次的成功經(jīng)驗,張大胖決定向郵箱系統(tǒng)進軍。
郵箱系統(tǒng)也好不到哪里去,沒有驗證碼,也沒有登錄失敗幾次以后的賬戶鎖定,這就意味著張大胖可以不斷嘗試密碼,直到成功。
當然手工做是不行的,需要軟件和密碼字典,張大胖搜了一下,發(fā)現(xiàn)了小榕寫的溯雪:
看到這個工具,張大胖就激動起來,準備找個郵箱做實驗, 用誰的呢?他眼珠一轉(zhuǎn),為什么不去自己暗戀的女生的郵箱去看看?就這么辦!
張大胖有點像做賊似地輸入郵箱的URL,溯雪自動定位到了用戶名和密碼的表單,記錄下了field name,接下來就是等待溯雪去自動嘗試了。?
不知道過了多長時間,也不知道溯雪嘗試了多少密碼,突然間,讓人驚訝的事情發(fā)生了,居然登錄了!
張大胖用發(fā)抖的手點開了收件箱,那里只有三封無關(guān)痛癢的郵件,還有一個廣告,讓他好生失望。
怎么辦?在郵箱中寫上張大胖到此一游?張大胖沒這個膽量。??修改一下密碼?似乎也沒有什么用處。
于是張大胖灰溜溜地退出了。
第二天, 張大胖看了一篇文章《腳本小子》,說腳本小子不像真正的黑客那樣發(fā)現(xiàn)系統(tǒng)漏洞,他們通常使用別人開發(fā)的程序來惡意破壞他人系統(tǒng), 被真正的黑客所鄙視。
張大胖心想:這是不是在說我?我也沒做破壞啊,我就是有點好奇而已。?
不過只是用這些工具確實也沒啥意思,還是學一點黑客的基礎(chǔ)知識吧,先從著名的緩沖區(qū)溢出開始。?
真正深入學習以后張大胖就傻眼了,想理解緩沖區(qū)溢出, 首先得理解進程在內(nèi)存的布局,函數(shù)調(diào)用是如何通過棧幀實現(xiàn)的,參數(shù)是怎么傳遞的,這一切都和匯編密切相關(guān),什么EBP, ESP,RET,讓張大胖頭暈眼花,不得不惡補了一下大學勉強及格的匯編。
理解了原理還遠遠不夠,還得找到那些具備緩沖區(qū)漏洞的程序, 用巧妙構(gòu)造的輸入數(shù)據(jù)去覆蓋返回地址,這樣函數(shù)調(diào)用返回的時候才能跳轉(zhuǎn)到攻擊者指定的地方。?
緩沖區(qū)溢出詳情參見文章《CPU阿甘之緩沖區(qū)溢出》
我的媽呀,這是人干的活嗎?張大胖覺得自己智商余額嚴重不足,但是還不死心,又去學逆向工程,這是對C/C++和匯編的考驗,得理解PE,ELF這樣的文件格式(和操作系統(tǒng)緊密結(jié)合),掌握密碼學,加殼脫殼等知識,熟練使用逆向分析工具,調(diào)試工具。?
還是明智一點,轉(zhuǎn)戰(zhàn)Web安全吧。
同源策略,跨站腳本攻擊(XSS), 跨站請求偽造(CSRF), 點擊劫持,注入攻擊...... 這些東西就比緩沖區(qū)溢出要容易理解了,更好玩的是,都是在瀏覽器中進行,掌握了JavaScript等知識以后,立刻就能玩起來。?
張大胖自己搭建了一個實驗的網(wǎng)站,用一些小例子把這些攻擊和防御都玩了一遍,比如alert一下"受害者"的cookie, 建立一個簡單的釣魚鏈接等等。?
學了一段時間以后,張大胖準備在真正網(wǎng)站上小試牛刀,可是他發(fā)現(xiàn)這些網(wǎng)站都已經(jīng)變“精”了,防護得很嚴密,對輸入數(shù)據(jù)有嚴格控制, 他好不容易找到一個XSS漏洞,但是費勁了心機,花了好幾個小時,也無法注入一段有效的攻擊代碼。
張大胖嘆了一口氣,這黑客真不是這么容易當?shù)?#xff0c; 自己不是這塊兒料。?
在安全領(lǐng)域,理論和實踐之間有著巨大的鴻溝,雖然懂得了原理,但是想要實施一次漏洞攻擊,那一定得有非凡的創(chuàng)造力,再加上無與倫比的耐心。
張大胖對當一名黑客喪失了信心,也喪失了好奇心,他開始明白最初的好奇其實是自己不切實際的幻想:在網(wǎng)絡(luò)世界中無所不能,行俠仗義。
他果斷把精力轉(zhuǎn)到了Web開發(fā)領(lǐng)域,走上了開發(fā)之路。不過,他的“黑客經(jīng)歷”也沒有浪費,因為在Web開發(fā)中,他的安全知識也派上了用場, 幫助公司的產(chǎn)品來堵上安全漏洞,變得更加安全。
注:真正的黑客是守護者和建設(shè)者,不是破壞者。
————————————————
版權(quán)聲明:本文為CSDN博主「碼農(nóng)翻身」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/coderising/article/details/100075982
總結(jié)
- 上一篇: 列那狐的故事(说一说列那狐的故事的简介)
- 下一篇: 晨起开门雪满山雪晴云淡日光寒全诗(晨起开