標籤:

了解黑客:這是黑客思維

QCon 北京的時候分享了一個議題,叫做《點線面,一個安全研究人員的漏洞世界》,由於時間不夠,最後講的有些倉促,就第一部分,黑客與黑客思維算是講的最仔細,今天這篇,也是當時議題第一部分的總結!

其實除了安全圈,也跟技術圈的很多人是朋友,發現對於大部分技術人員來說,安全圈似乎還是過於神秘,在圈內人看來沒什麼,大家都知道的一些事,其實對外很多安全圈外人是不為所知的,於是準備弄一個『了解黑客』系列,平時有空就寫寫,主要針對技術圈的非搞安全的同學,讓大家更了解我們這個群體,正好第一篇,就從 QCon,這個我認為技術圈最有代表性的會議上我的議題的第一部分開始說起!

我是一個程序員,在接觸安全前,最早是編程,最早學的 Pascal、C、VB,同時也是軟體技術專業畢業,現在是個 Pythoner;同時我也是一名黑客,8年前第一次接觸黑客技術,也是一名安全研究人員,4年安全行業從業經驗;其次,也是一個半吊子的產品經理,負責 Seebug.org 等平台。除此之外,也搞過惡意網站的一些事,研發過博彩、色情、釣魚網站檢測引擎,所以這方面也有些經驗,會點 PS,會些 CSS/JS/HTML,沒事的時候思考下產品運營與用戶體驗,偶爾趕進度也能加入研發,自己搞搞產品彩頁,夜深人靜的時候,搞搞漏洞研究,這就是我現在的狀態!

我覺得,講了一大段,就是為了取信於大家,讓大家認為我有資格去寫這篇文章,除了是黑客,也是程序猿、產品經理,也許會讓大家更能相信我說的,這也算是一種社工行為吧?

回到正題,什麼樣的是黑客?我在 QCon 上問大家我像不像,大家說像,其實我也只是背個雙肩包,跟普通程序猿一樣!所以是不是你們都是黑客?那麼,再看下面這張照片呢?

不知道技術圈是否一樣,在黑客圈,大家習慣於用V字仇殺隊的這個面具來代表黑客!

是不是覺得更符合黑客的感覺?對於很多人來說,印象里,黑客就是隱匿在黑暗裡,電腦發出微弱的亮光,映射著模糊的側臉,手指在鍵盤上敲打著鍵盤。但,實際上,黑客就是普通人,也如果所有搞技術的人一樣,追求著技術的極致!

那麼我認為的黑客呢?我對黑客的定義是:創造與突破!

我覺得所有人,天生就是黑客,從誕生的第一天起,大家就對這個世界充滿好奇,這個世界因你的到來而發生改變!小時候,折的紙飛機,千紙鶴,都是一種創造,包括大家平時寫的代碼,也是一種創造,我覺得所有創造這個世界每一點精彩的人,都是黑客!所以,程序員們,前端、設計、產品經理...搞技術的你們,也是黑客!

而關於突破,可能是除了創造之外,黑客與普通的技術人員最不同的地方。在會場的時候,我拿了一張白紙,白紙的中間有黑點(如下圖),問大家接下來我想問什麼?

大家這時候可以想像我手裡拿著這張紙會問什麼問題?正常的觀念里,覺得我會問看到了什麼?然後可能會回答看到了黑點,然後一部分同學如果有看過相關的道理、故事之類的,可能會回答,黑點周邊的白色部分。但是,其實我想問的是,大家不覺得我拿著紙張的手今天洗的挺乾淨的?一個跟白紙黑點完全沒關係的問題,關注的點永遠不是正常的點,關注的面永遠不會局限於所能看到的面,這就是黑客的思維!

接下來來看看例子

看到這樣一個界面,大家能想到什麼?一個留言頁面。你會做什麼?輸入文字,回復留言,提交建議?我會怎麼做?

我也提交了留言,只不過我的留言內容是上面那段代碼!看著像 XSS 的攻擊代碼是吧?其實這是種 XSS 盲打測試的手法!

正常的 XSS 攻擊,通過提交 XSS 攻擊代碼,可以通過頁面反饋回來的效果,比如說假如 alert(0) 生效,那麼頁面會彈個框,可以直觀的判斷 XSS 攻擊代碼是否被執行;而在一些頁面,比如說上面的留言頁面,不管你輸入什麼,它不會根據你的提交內容做不同的返回,返回的永遠都是提交成功或者失敗,這種情況,你實際上是沒法判斷你代碼提交成功後,是否有被人觸發了,那麼就通過 XSS 盲打的方式,通過嵌入 JS 代碼,一旦 JS 成功執行了,讓 JS 實現往設定的介面發送數據,以此來判斷是否被成功執行。XSS 盲打經常用來比如攻擊管理員,因為類似的留言頁面,一般提交內容是到達後台,查看留言的是管理員,所以中招的也會是管理員。

實際上,我上面的提交產生了效果,

我的盲打平台接收到了返回的數據,可以看到後台的地址,以及管理員的 Cookie(當然,這個漏洞肯定早就修復了,我才能拿出來講)。

一般每個搞 XSS 的黑客都有這樣一個盲打平台,然後一般也不會測試一家!(話說大家別看了我文章,沒事有事,看到輸入框就把上面的代碼提交!)

你可能會提問,你們黑客為什麼會想到去這樣做?出於啥目的?

其實,我想任何玩 XSS 的黑客,應該都會有這樣的舉動,對於類似的輸入框,其實我們的狀態是:

看到框就想 X!

這就是黑客思維,和普通的人不一樣的地方!你要我問我為什麼?我也沒法回答你!

講到這裡,我估計很多人已經有一定的感覺了,就是突破,就是不走尋常路嘛,就是做一些思維上改變嘛,就是正常的事不做嘛,對不對?我覺得這個東西大家理解可能都不一樣,大家可以自己體會下!

接下來,大家先不看下面的答案,我們來做個測試:

看到這個大家能發現什麼信息?釣魚?是個釣魚沒錯,但我想讓大家看的不是這個關注點。大家關注到其他東西了嗎?

大家注意到後面的網址了嗎?注意到百度的域名開頭了嗎?其實這裡對方的釣魚使用了一個百度的 URL跳轉,你有發現嗎?

聽完大家有沒有點恍然大悟的感覺了?我希望大家可以記住這種感覺哈,用這種感覺去看待之前看過的那些代碼和架構,你們也是黑客。

有沒有覺得我整個文章的思維有點跳脫?答案你們懂的!

題圖:1927年第五次索爾維會議物理學家合影,來源網上,我覺得他們其實也都是黑客,創造與突破!

-------------------------------------------

優主張

關注信息安全,產品運營以及各種好玩的東西;分享一些個人的體驗與心得,一些想法,一些安全的科普。


推薦閱讀:

XSS常見攻擊與防禦
記一次沒什麼技術含量的XSS注入
XSS學習之以關點面 11~15關
XSS.TV挑戰賽(二)

TAG:XSS | 黑客Hacker |