国产精品久av福利在线观看_亚洲一区国产精品_亚洲黄色一区二区三区_欧美成人xxxx_国产精品www_xxxxx欧美_国产精品久久婷婷六月丁香_国产特级毛片

錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
看我如何偷取別人的云儲幣(Siacoin)

作者: clouds  日期:2017-06-28 16:35:28   來源: 本站整理

 
本文講述了作者如何根據一個云儲幣(Siacoin)用戶發貼,從一個錯誤密鑰中恢復出正確密鑰,最終偷取了發貼用戶交易賬戶中的所有云儲幣。
起因
事情要從6月9號晚上說起。那是個普通的周五晚上,我一邊看著Netflix美劇一邊刷著reddit論壇。突然,云儲幣(Siacoin)論壇內( /r/siacoin)跳出了一條如下發貼:

大意是這樣的:
前些天,我購買了價值2000歐的云儲幣,當時我記得是用txt文件保存了錢包密鑰的,但不知怎地,后來竟然沒存上。不過還好,當時我手抄了一份密鑰。但問題是,交易平臺一直提示我的輸入密鑰有錯!我已經試了不下500遍了,天哪,誰能幫幫我!如果誰能幫我,我可以送他一些云儲幣作為補償……。
發貼者隨后貼出了自己手抄備份的錢包密鑰(紅框文字)。
云儲幣介紹
SIA是一個運用區塊鏈技術的去中心化的云儲存平臺。相比較傳統的云儲存方式,去中心化的Sia系統能夠使云儲存更安全、更快捷、更低成本。通過編碼技術(erasure coding),加密技術(encryption),和區塊鏈(blockchian),Sia既具備傳統的云儲存功能,同時又解決了傳統的云儲存存在的安全隱私問題。
Siacoin(云儲幣/云幣):Sia的設計使提供儲存空間的服務器能夠收到Siacoin(云儲幣)–Sia系統內置代幣,以此激勵更多閑散空間成為儲存空間提供商。用戶可以用Siacoin來出租或賣買存儲空間。(點此查看Siacoin挖礦教程和Siacoin交易平臺)
勾起興趣
該發貼用戶正在犯錯,他竟然把Sia錢包私鑰種子公布在網上!該密鑰種子就像用來開啟存儲用戶加密貨幣錢包的一把鑰匙,是用戶賬戶的重要信息。從發貼內容可以看出,該用戶聲稱其錢包內包含價值€2,000的云儲幣,并大方地把密鑰種子貼出來。讓我覺得感興趣的是該用戶竟然手抄了種子密鑰,還反復強調:
我非常肯定我抄的正確無誤,我還檢查了兩遍。
但我覺得,他肯定抄錯了。我希望他只犯了一個小錯而已,如果只是漏掉一個字母或把兩個字母順序抄反了,我認為有可能推斷出正確的密鑰而恢復云儲幣。那可是2000歐吶,想想都氧氧!不排除其他高人能破解出該密鑰而把錢攬入囊中,我要盡快行動。
手工破解
先來看看該用戶發布的這段錯誤的密鑰:
eluded logic wise ascend tagged acoustic situated stylishly younger aptitude inroads avidly hefty also godfather unrest avatar push because brunt viking gone august public tonic vulture shrugged otter adapt
雖然我不熟悉Sia的密鑰種子生成機制,但Sia是完全開源的項目,所以我認為這應該不難了解。
事實果然如此。在Sia項目的wallet.go文件中,我發現了一個SeedToString函數,其中提及了名為entropy-mnemonics(熵助記符)的文件目錄,該目錄文件中竟然包含了種子密鑰字典,GOD,如下:
  englishDictionary = Dictionary{
    "abbey",
    "abducts",
    "ability",
    "ablaze",
    "abnormal",
    "abort",
    "abrasive",
    "absorb",
    "abyss",
    "academy",
    "aces",
    "aching",
    "acidic",
    "acoustic",
    "acquire",
    "across",
    "actress",
    ...
你可以發現該字典共1600個詞。我是這樣假設的:該用戶的29個詞段密鑰應該大多都是對的,有可能他在抄寫種子密鑰時,不小心寫錯了一個詞,當然該錯詞肯定不包含在這個密鑰字典中,如果我能發現這個錯詞,那么,正確密鑰自然就真相大白可以告破了!
但是,要在1600多個詞段中去對29個詞篩選一遍,確實有些眼花繚亂,SO,暴力枚舉法可以派上用場。
暴力枚舉
我們用代碼來實現自動檢測吧。現在,我需要查找密鑰字典中所有詞語的方法,這些所有詞語都可能是那段29種子密鑰中的被寫錯的那一個。
我覺得編輯距離(Levenshtein distance)可能有用,它能衡量兩個詞語之間的相似度。比如,”cat”和”car”之間因為有1個字母差異而存在1個編輯距離, “cat” 和 “scar”間有2個字母差異而存在2個編輯距離。為了在密鑰字典和用戶公布的私鑰之間發現可能的種子密鑰,我需要編寫腳本程序來找出那些相互之間包含1個編輯距離的詞語。
Levenshtein distance:又叫最小編輯距離,是指兩個字串之間,由一個轉成另一個所需的最少編輯操作次數。許可的編輯操作包括將一個字符替換成另一個字符,插入一個字符,刪除一個字符。一般來說,編輯距離越小,兩個串的相似度越大。
首先,把字典文件下載下來,提取出所有a到z的有效密鑰字段,保存為dictionary.txt文件:
$ wget -qO- https://raw.githubusercontent.com/NebulousLabs/entropy-mnemonics/master/english.go \
  | egrep "^\s+\"(.+)\"," \
  | egrep -o [a-z]+ \
  > dictionary.txt
之后,安裝python-Levenshtein庫,當然,也得把Sia項目克隆安裝到系統中。接著,編寫一個能自動導出可能性種子密鑰的小腳本:
import Levenshtein
seed = raw_input('enter your wallet seed: ')for seed_word in seed.split():
  for dict_word in open('dictionary.txt'):
    dict_word = dict_word.strip()
    distance = Levenshtein.distance(seed_word, dict_word)
    if distance != 1:
      continue
    print '"%s" -> "%s"\n%s\n' % (seed_word, dict_word,
                                  seed.replace(seed_word, dict_word))
該腳本從1600行字典文件中復制粘貼詞語到我的Python目標文件中,以下代碼操作可以很好地展示其功能。
開啟錢包
我擔心會有成百上千種可能性,所以我必須認真記錄每個種子的碰撞運行過程。幸運的是,最終腳本成功運行后顯示,與論壇用戶公布種子有1個編輯距離的密鑰只有12個!
$ python recover.py
enter your wallet seed: eluded logic wise ascend tagged acoustic situated stylishly younger aptitude inroads avidly hefty also godfather unrest avatar push because brunt viking gone august public tonic vulture shrugged otter adapt
"wise" -> "wife"
eluded logic wife ascend tagged acoustic situated stylishly younger aptitude inroads avidly hefty also godfather unrest avatar push because brunt viking gone august public tonic vulture shrugged otter adapt
"tagged" -> "jagged"
eluded logic wise ascend jagged acoustic situated stylishly younger aptitude inroads avidly hefty also godfather unrest avatar push because brunt viking gone august public tonic vulture shrugged otter adapt
"tagged" -> "nagged"
eluded logic wise ascend nagged acoustic situated stylishly younger aptitude inroads avidly hefty also godfather unrest avatar push because brunt viking gone august public tonic vulture shrugged otter adapt
"aptitude" -> "altitude"
eluded logic wise ascend tagged acoustic situated stylishly younger altitude inroads avidly hefty also godfather unrest avatar push because brunt viking gone august public tonic vulture shrugged otter adapt
"push" -> "lush"
eluded logic wise ascend tagged acoustic situated stylishly younger aptitude inroads avidly hefty also godfather unrest avatar lush because brunt viking gone august public tonic vulture shrugged otter adapt
"brunt" -> "grunt"
eluded logic wise ascend tagged acoustic situated stylishly younger aptitude inroads avidly hefty also godfather unrest avatar push because grunt viking gone august public tonic vulture shrugged otter adapt
"tonic" -> "ionic"
eluded logic wise ascend tagged acoustic situated stylishly younger aptitude inroads avidly hefty also godfather unrest avatar push because brunt viking gone august public ionic vulture shrugged otter adapt
"tonic" -> "sonic"
eluded logic wise ascend tagged acoustic situated stylishly younger aptitude inroads avidly hefty also godfather unrest avatar push because brunt viking gone august public sonic vulture shrugged otter adapt
"tonic" -> "topic"
eluded logic wise ascend tagged acoustic situated stylishly younger aptitude inroads avidly hefty also godfather unrest avatar push because brunt viking gone august public topic vulture shrugged otter adapt
"tonic" -> "toxic"
eluded logic wise ascend tagged acoustic situated stylishly younger aptitude inroads avidly hefty also godfather unrest avatar push because brunt viking gone august public toxic vulture shrugged otter adapt
"adapt" -> "adept"
eluded logic wise ascend tagged acoustic situated stylishly younger aptitude inroads avidly hefty also godfather unrest avatar push because brunt viking gone august public tonic vulture shrugged otter adept
"adapt" -> "adopt"
eluded logic wise ascend tagged acoustic situated stylishly younger aptitude inroads avidly hefty also godfather unrest avatar push because brunt viking gone august public tonic vulture shrugged otter adopt
這么幾種可能性,手工輸入驗證都可以。我先來試試第一個可能種子,在論壇用戶公布的錯誤種子中,把wise用wife替代,如下:
> siac wallet init-seed
Seed:
Could not initialize wallet from seed: error when calling /wallet/init/seed: seed failed checksum verification
可沒那么好運,我們一個個都試試吧。最終,發現了用ionic替換掉tonic的正確密鑰種子:
> siac wallet init-seed
Seed:
Wallet initialized and encrypted with seed.
大功告成!
現在,該用戶錢包已經被我控制了,讓我們來開啟錢包吧:
> siac wallet unlock
Wallet password:
Wallet unlocked
> siac wallet
Wallet status:
Encrypted, Unlocked
Confirmed Balance:   594.8 SC
594.8 SC (Siacoin) !不會吧,這僅值市價10歐元左右,這與論壇用戶聲稱的€2000相距甚遠!WTF!我不是被騙了吧?還是該用戶故意夸大錢包數額以吸引人去幫助他?或是有其他牛人比我早先一步得手,故意留下10歐的賬戶嘲笑奚落我?

保護戰利品
仔細思索一番,我覺得我的速度已經夠快的了,怎么到頭來還只有這么點余額呢?我也不確定是否其他看到該帖子的人也和我用同樣的方法進行了錢包解鎖。哎,不管那么多了,先把這些云儲幣偷走再說!
于是,我把這些云儲幣全部轉移到了我的Sia錢包中去,即使其他人破解了種子密鑰,也不能得到云儲幣了。
一探究竟
現在云儲幣算是安全了,我們來看看這到底是怎么一回事。檢查一下該發貼用戶的錢包交易歷史:
> siac wallet transactions
[height]                                                  [transaction id]    [net siacoins]   [net siafunds]  108589   427b72c98e8ea64fba234ca2a00288f7a750003a243e6b3e967f5c6d426c2f9f         594.83 SC             0 SF
109002   32ad2729fe6b487aedc1b70d0dff0843404ff1cef69223d5f03699dcd1dbe568           0.00 SC             0 SF
109002   2304da26d61bd2cb7fcac5c7b38a553d788d8dfc386ae4eb47772e36e4a9269d        -594.55 SC             0 SF
最后一條交易記錄是我上述的轉移偷幣操作,而0.00SC的記錄是Sia錢包的兩個地址進行交易后產生的噪音記錄,可以不用管。我感興趣的是第一條記錄:它顯示在108589區塊高度處轉入了594.83 SC的云儲幣。由于區塊高度本質上對應著云儲幣的時間單位,所以我在Sia block explorer中查看了該條交易記錄,發現該筆轉入操作在2017年6月7號產生,也就是該用戶在論壇發貼的前兩天。

他只有價值10歐的錢包,為什么還要聲稱是2000歐呢?……
陷入卡頓的交易記錄
其實,就在那段時期,當時最大的云儲幣交換平臺Poloniex,也出現了誤把云儲幣轉移到用戶錢包中的問題。他們并沒有弄丟用戶資金,只是在用戶把錢從交易賬戶發送到個人錢包時,交易機制發生了混亂卡頓,不過還好,Poloniex保存了數周時間的交易備份。
有可能該發貼用戶把2000歐轉移到他的個人錢包時,也發生了類似Poloniex的交易混亂,而這2000歐或許是陷入轉移滯后狀態,最終仍然會到達用戶錢包。
這是個有意思的問題。那我怎么把那些未到賬的錢實時偷取截留到我的錢包中呢?我決定寫一個腳本來實現。最終腳本功能如下:
for /l %%x in (1, 0, 100) do (
   siac wallet send siacoins 2000SC fff0228f02a01cf8e037047a5ea0db5a88d614913af5f21de209ebf2e58431c68cfc9c27d0e4
)
該腳本執行一個增量為0,從1到100的for無限循環,不停地嘗試把2000SC從該用戶錢包發送到我自己的錢包中來。如果該用戶錢包中收到2000歐的入賬,那么它會每次向我錢包轉移2000SC,分次向我發送所有2000歐價值的云儲幣。因為2000歐元有125000SC,為了不發生其它節外生枝,每次轉移2000SC是因為這是一個額度相對較低且較安全的轉移量。
告知受害者
10歐元對我來說做不了什么,私人飛機、勞力士、帶泳池的豪宅….?最終,我還是決定把這幾個價值10歐的云儲幣退還給受害者。“嘿,哥們,是你發貼聲稱幫忙找回2000歐的錢包嗎?我已經解鎖了,但里面其實只有10歐元!”想想都覺得有點尷尬。

于是乎,在該用戶發貼后的兩小時,我發了一條私信給他,我解釋了如何恢復密鑰、如何把那些云儲幣轉移到自己賬戶中的原因,并希望他告訴我一個新的地址,我重新給他轉回去。但幾小時過去了,沒有任何回應。而且他還把發貼內容和張貼出來的種子密鑰給刪除了。好像就當沒這回事一樣。
最終,在一個周一早上,受害者聯系到了我。他說在發貼后他意識到用來買云儲幣的那2000歐可能正處于交易狀態(被我猜中了!),而所買的云儲幣可能就根本就沒有到達他的Sia錢包中。因為此刻他還能繼續在賬戶中操作控制這2000歐,所以,他立即把這些錢轉移到了另一個安全賬戶。而最終,這些錢又失而復得時,他就刪除了那個帖子,也沒有關注到我發給他的私信消息。
他很高興我能恢復密鑰并找到他的Sia錢包,他承認自己抄錯了密鑰,而且堅持給我那10個SC,我到覺得應該物歸原主,這10個幣也不能讓我發大財。在我的一再要求下,他最終給了我地址,我就這樣把這10個云儲幣發給他了。
后記
千萬不要把你的Sia錢包密鑰種子公布在網上,從以上事例可看出,即使是部分密鑰或錯誤密鑰也可能被人利用,破解出正確密鑰,開啟你的錢包。
這種可能不僅針對云儲幣(Siacoin)而是所有加密貨幣。雖然其它幣種與Siacoin不同,但可能也使用了某種密鑰組合,所以,請保管好你的密鑰!


熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    婷婷中文字幕一区| 青青草偷拍视频| 国产精品久久久久毛片| 色琪琪免费视频网站| 久久久一本精品| 美女视频一区免费观看| 一本高清dvd不卡在线观看| 高清一区二区三区四区五区| 少妇av一区二区三区无码| 在线视频一区二区三区四区| 美乳在线观看| 亚洲成人一品| 一区二区在线免费| 7777精品视频| 在线观看视频你懂得| 亚洲精品久久久久久动漫器材一区 | 精品人妻一区二区三区蜜桃 | videoxxxx另类日本极品| av成人男女| 国产欧美日韩中文久久| 欧美另类老女人| 国产一级不卡毛片| 丰满人妻av一区二区三区| 直接在线观看的三级网址| 一本色道久久综合| 欧美日本不卡视频| 欧美日韩一区在线视频| 天天看天天摸天天操| 爆操妹子视频在线观看| 国产精品自拍区| 亚洲国产精品一区二区尤物区| 国产99在线|中文| 91中文字幕永久在线| 美女做爰内谢全过程视频| a看欧美黄色女同性恋| 国产精品久久久久婷婷| 国产成人小视频在线观看| 97人妻精品一区二区三区免| 日本xxxwww免费视频| 欧美成人一区在线观看| 亚洲成人一区二区在线观看| 成人黄动漫网站免费| 久久久久无码精品国产sm果冻| 成人漫画网站免费| 希岛爱理av一区二区三区| 欧美午夜宅男影院| 中文字幕欧美人与畜| 国产精品国产一区二区三区四区 | 亚洲综合av网| 成人资源视频网站免费| 国产精品1234区| 91露出在线| 麻豆一区二区在线| 日韩视频永久免费观看| 日本特黄a级片| 直接看的黄色网址| 欧美日韩有码| 日韩欧美一区二区视频| 无码av天堂一区二区三区| 亚洲欧美综合在线观看| 国产一区二区三区免费在线| 亚洲一区二区av在线| 欧美色欧美亚洲另类七区| 在线观看不卡的av| 少妇一区视频| 亚洲国产精品天堂| 精品久久久久久中文字幕动漫| 国产精品视频一区在线观看| 久久久123| 国产亚洲人成网站| 91视频最新| 在线视频 91| 日韩毛片免费看| 欧美日韩亚洲国产一区| 亚洲人成77777| 欧美日韩激情在线观看| 番号集在线观看| www国产成人| 国产精品视频入口| 一本一道精品欧美中文字幕| 素人一区二区三区| 东方aⅴ免费观看久久av| 日本不卡免费高清视频| 青娱乐自拍偷拍| 亚洲色图五月天| 亚洲乱码久久| 国产短剧电视剧免费观看| 精品综合久久| 亚洲成人中文在线| 国产一区二区| 成人精品一区二区不卡视频| 荫蒂被男人添免费视频| 欧洲精品一区二区三区在线观看| 青草视频.com| 色就是色欧美| 亚洲精品97久久| 亚洲第一搞黄网站| 欧美magnet| 精东影业在线观看| 粉嫩av一区二区夜夜嗨| 国产福利成人在线| 国产成人自拍网| 天天射天天操天天干| 亚洲自拍欧美色图| 久久精品男人天堂av| 成人av资源在线观看| 爱情岛论坛亚洲入口| 国产肥老妇视频| 日韩最新在线| 在线亚洲国产精品网| 视频国产一区二区| 午夜欧美激情| 欧美日韩亚洲综合一区二区三区 | 91欧美精品午夜性色福利在线| 精品亚洲视频在线| 午夜视频在线观看韩国| 久久久久久久久久久久久久久99| 欧美日韩电影一区二区三区| 欧洲精品乱码久久久久蜜桃| 9久re热视频在线精品| 国产精品老牛影院在线观看| www.香蕉视频| 国产精品地址| 成人a级免费视频| 美女福利视频一区二区| 一本久道久久综合婷婷鲸鱼| 成人黄色中文字幕| 亚洲综合极品香蕉久久网| 一本色道久久精品| 97神马电影| 精品久久久久久久久久久久久久久| 麻豆久久精品| 国产一区二区三区朝在线观看| 四虎网站在线观看| 国产精品99精品无码视亚| 狠狠久久综合婷婷不卡| 色妞欧美日韩在线| 一本色道久久综合亚洲精品按摩| 国产精品一二三四| 在线天堂中文www视软件| 日韩欧美xxxx| 欧美日韩爱爱视频| 99精品桃花视频在线观看| 在线女人免费视频| 国产极品嫩模在线视频一区| 一本色道久久综合亚洲精品图片| 成人久久久久久久| 亚洲精品在线观| 国产精品美女呻吟| 亚洲国产精品久久久久久久| 欧美午夜在线视频| 成人3d动漫一区二区三区91| 国产成人夜间影院在线观看| 久久精品99久久久| 曰韩不卡视频| 欧美精品一区二区三区涩爱蜜| 一区二区三区在线不卡| 国产成人精品一区二区在线小狼| 波多野结衣在线观看| 亚洲成人网久久久| 久草手机在线观看| 91精品国产91久久久久久密臀 | 亚洲精品久久久久中文字幕二区| 免费看一级一片| 久热中文字幕在线精品首页| 亚洲国产精品欧美久久| 欧美日韩天堂| 久久艳妇乳肉豪妇荡乳av| 免费看黄视频网站| 亚洲综合一区二区三区| 免费成人深夜夜行p站| 亚洲精品毛片| 26uuu另类亚洲欧美日本老年| 中文字幕2区| www.一区二区| av免费网站观看| 免费高潮视频95在线观看网站| 国产一区二区三区高清在线观看| 一区二区三区www污污污网站| 性色一区二区| 在线观看污视频| 久久日韩视频| 在线视频欧美日韩精品| 网站黄在线观看| 91丨九色丨黑人外教| 天天爽天天爽夜夜爽| 91天天综合| 91精品成人久久| 免费激情小视频| 亚洲6080在线| 国产在线视频你懂的| 亚洲福利精品| 精品人妻大屁股白浆无码| 91桃色在线| 欧美—级高清免费播放| 日韩亚洲色图| 亚洲综合清纯丝袜自拍| 九九热国产在线| 久久久xxx| 性欧美极品xxxx欧美一区二区|