黑客是如何做到破解密碼,繞過令牌,異地改密登錄遊戲賬號的?

前兩天看到一個帖子,很好奇他是怎麼做到的,貼主的圖片如圖,1分鐘之內所以保密措施被解除,現在黑客有這麼高明么?


首先,貼個公眾號的鏈接,是講個基礎的:

吃我一記惡意鏈接,談談跨站腳本攻擊

網站的文章千千萬,老司機們的評論區佔一半。

就算沒有見過評論區,文章、帖子總該見過吧?

今天,就來談談——老司機們開車後,你該不該跟上上車的問題。

假如你打開了三個不同的網站,一個是某搜索網站、一個是谷歌郵箱,一個是新聞網站,請問,他們之間能互相窺探對方的數據嗎?

比如說,你在網頁上登錄了谷歌的郵箱,裡面的郵件,是否能被新聞網站或者某度偷偷看到?

答案是不能。因為這種問題早在瀏覽器被設計出來的時候就考慮過了,我們稱之為「同源策略」。

就是說,每個網站打開後就相當於各自安置在各自的小村莊里,該網站里有很多頁面,就像村民,可以相互交流。但是,想去其他村莊改善基因庫?想都別想!每個村落間,可是隔著一條大河,過都別想過。

但是——這樣一來,就太閉塞了。有人總想去其他村莊看看啊?

這個時候,就需要一艘名為鏈接的船。點擊之後,就能跳轉到其他的網站頁面。

可是這種船隻的過往規則比去港澳台還要嚴格:你去可以,但是任何特產都不能帶回來,嗯,一隻蒼蠅都別想帶回來。

不過,帶東西出去是可以的。你把整個村子的財產帶過去都沒人管你。

就像你從電子郵箱里點開了一封信,這封信是用來重置你某個忘記密碼的網站的賬戶信息的,有的一點開,就已經默認你登錄了,就是因為這個鏈接里包含了一些登錄信息,格式看起來應該是這樣的:

http://www.aaa.com/reset?user=A3DE2F^FBD#Ipsw=%2d%20

那麼,如果你想獲得某個人A網站(良好網站)的用戶名密碼,或者其他登錄信息,最好的方式是什麼呢?讓人在B網站(惡意網站)打開A網?

No……因為剛才的策略不允許。

但是反之,就不一樣了。

你在A網站讓人點開B網站(惡意網站),然後在B網站接受A網站的信息,不就行了?

對對對,這是可行的。

再良好的A網站也有可能有惡意的人留下了惡意的鏈接,而且有一些網站的鏈接還不是直接寫出來讓你看到的,這樣就可以在你神不知鬼不覺的情況下,窺探你的信息。

——好吧,實際上,是你自己把信息送給別人。

那麼,黑客們最想拿的信息是什麼呢?無非是你的登錄信息。當然,現在很少網站會提供真正的「記住我」的功能,所以登錄信息不會那麼好拿。

比如說一些網站會提供「自動登錄」的功能,但它會在你的電腦里記錄的是你的令牌消息,而不是你的用戶名跟密碼。

(如果真是記住你的用戶名密碼,那這種網站還是別去了。)

什麼叫令牌?上次說過了,如果你是個小妖精,大王派你去巡山,就會給你一個令牌,而不是給你「天王蓋地虎」、「芝麻開門」之類的密碼。因為這樣顯然看起來更加「安全」。

哦,還有,令牌是有時效性的,就是說如果你下山巡山,七點鐘之前不回來,那你就得跟門衛大怪們對暗號,對密碼:

「你是哪座山的?」

「黑風山小旋風,門牌號7574」

「嗯……好,進去吧。」

網站能記錄令牌的地方不多,cookie是通用的一個。這裡的cookie不是曲奇餅,而是一個存儲的地方的名稱。

說回來能留下評論的A網站,如果有人故意提交了一個帶有鏈接的評論,(而且繞過了A網站的內容檢測),那麼看到這個鏈接的人就有可能一時手癢點開它。

這個鏈接通常會跟上A網站的諸多信息,比如……剛剛說到的令牌。

讓我們來演示一下A網站上可能留下這麼一個評論,點開後,就會把cookie信息顯示出來(同理也可以跳轉到其他頁面。)

(請無視網站名……只是舉個例子)

這樣真的行?對,這樣看起來,就是A網站拖家帶口渡河去B網站。

這樣是允許的。

這樣一來……B網站只要打開大門等你來,來了就把你的信息照單全收就行了。

再然後怎麼通過偽造跟你一樣的令牌登錄上網站、然後blablabla地拿走你的賬戶信息、密碼什麼的,就是另一個故事了。

所以啊……論壇帖子、網站評論中的誘人的鏈接之類的,不管再誘人,你們都要抓緊自己的手,千萬別隨隨便便就點上去啊。

————————————————————

上面是原答案的第一部分,

如果還不知道鏈接是個什麼鬼東西,看看這第二部分。知道的話直接拉到最後唄……

————————————————————

關於利用鏈接的跨站腳本攻擊,上次講了個大概。由於行文時間緊張,可能還有些許講得太快,這裡補充一下。

所謂鏈接,無非就是告訴瀏覽器:嘿,我要去哪個站點,訪問哪個模塊,哪個頁面,還有我希望是該頁面定位到第幾頁。

比如看某個小說。

裡面的鏈接風格看起來會是:

http://www.somesite.com/xs/tlbb.html?page=23

劃重點啊:這裡的xs(小說)代表去某個分類下,tlbb.html代表打開《天龍八部》那部經典武俠名著,然後重點來了:這部小說有數十萬字,總得一頁頁顯示給你看吧?所以後面跟了一個參數page,表示打開到第23章。之所以隔了個問號「?」,其實真的就是為了分隔開頁面跟參數而已……無他。

那麼,網站那邊接到這個請求的時候,是什麼情況?

網站可能會這麼處理:

    1. 定位到/xs/tlbb.html這個頁面,也就類似於咱們打開我的電腦,定位到這個目錄下的文件。
    2. 找到這個文件之後,順便把處理這個頁面的管理員找到,告訴他:有人想看你啦。
    3. 哦?管理頁面的管理員趕緊拿出筆:讀者想看哪章?參數給我看看?
    4. 網站那邊的人說:趕緊啦!參數是page=23,快快快。
    5. 管理員趕緊定位到23頁的那章內容,找到啦,趕緊趕緊。(可能每章已經獨立保存成單個的網頁,也有可能是存在資料庫里,也有可能是單獨的txt)
    6. 然後,就把那個頁面內容排出來(或者已經預先排好),piu~的一下返回到你的電腦上。

那麼,當這個page參數檢查不嚴謹,而且有可能會代入到頁面的時候,會發生什麼狀況?

就像上一次說到SQL可以被注入一樣,這裡的頁面也有被注入惡意代碼的風險。

比如還是剛才的page,如果這個參數的值23會不經檢查,顯示在小說頁面裡面,會是什麼結果?

儘管你看到的是一個頁面,但是在你看到這個頁面之前,瀏覽器卻看到的是一坨坨的代碼……(真是難為瀏覽器了)

是的,右邊才是網站扔給你的「頁面」。瀏覽器一看,喲,不得了,得趕緊按照一定的規則編排一下,還有該執行的代碼趕緊執行一下。(假設上圖中的23來自於參數page。)

嗯,如果HTML里含有一些腳本代碼,那麼,瀏覽器也會乖乖執行。

那麼,當上面的參數

page=23">& &alert("Hello")&&

呢?你沒看錯,這裡的後面跟了一串都會是page的內容。這是被精心(隨便)構造的一個值,用於提前結束掉原網頁代碼的某些內容。

讓我們把剛才頁面的23替換為新的23及後面一串參數,你看到了啥?

新增了一個&節點,也就是代碼節點,這個節點如果是危險的JavaScript代碼段,比如傳遞你的cookie(如果存儲某些登錄後的令牌的)到一個黑客的網站,那麼,人家就可以假裝是你,登錄上那個網站了。

然後就可以看起了你付費購買的小說……感覺是不是很不爽?

這種過程,我們可以稱之為跨站腳本攻擊。

當然,簡單起見,我們這裡不會構造一個複雜的行為代碼,而且也不確定這個網站是否存在跨站腳本的注入點。因為如果這個網站不採取把參數反映到頁面上的話,那麼是不會這麼簡單就被攻擊到的。

而且,這裡的一個前提是:你點開了這麼一個鏈接:

http://www.somesite.com/xs/tlbb.html?page=23">& &alert("Hello")&&

這種鏈接一看就很奇怪啦!你怎麼可能會去點?!

(╯‵□′)╯︵┻━┻

不過……如果人家不會這麼笨地告訴你鏈接是這個,而是:

你點不點?

————————————————————

這裡是分割線。第三部分來了

————————————————————

那麼,問題來了,題主這樣的,屬不屬於跨站腳本攻擊?通過跨站拿令牌?

我認為——並不是。因為跨站的前提是通過向原網站,也就是遊戲網站植入惡意代碼,再騙你在該網站上點擊或者js執行操作才能得到對應的令牌。然而現在的網站(像大騰訊……)基本沒植入跨站腳本的可能(但不絕對)。如果要在官網植入代碼,鏈接肯定會又臭又長,很容易發現的。

嗯,說了那麼多,就是為了說:更可能的是,對方偽造了一個類似的站點,給了個短連接,或者類似鏈接,然後讓這位哥們提交登錄名、密碼,然後在偽造站點的另一端,人家開開心心地把遊戲密碼拿到了。

比如我經常去上這樣的網站:

這就是偽造的網站,網站名還帶個lol……驗證碼還是萬年不變的……不過這個網站比較良心,叫你匯款,不用你登錄。

至於異地改密碼的問題——可能是驗證問題太弱了?還是網站本身存在修改密碼的問題。

如果猜測有誤,下次修改。


前提是有號主人的相關信息,充分的收集到位,或者已經中木馬的情況下實現


我們黑客忙著修電腦呢,沒空盜你號。


我要盜號


我想盜號


先問是不是,再問為什麼


推薦閱讀:

在編寫伺服器的時候,埠號是任意的嗎?還是必須要3333呢?
互聯網經濟的泡沫還有多久破裂?未來十年內編程行業如何?
怎麼在移動端調試web前端?
無線WiFi鄰頻干擾的影響有多大?
網路工程專業的前景如何?

TAG:黑客Hacker | 計算機技術 | 計算機網路 | 盜號 | 密碼破譯 |