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

錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠(chéng)服務(wù),錦州廣廈維修電腦,公司IT外包服務(wù)
topFlag1 設(shè)為首頁(yè)
topFlag3 收藏本站
 
maojin003 首 頁(yè) 公司介紹 服務(wù)項(xiàng)目 服務(wù)報(bào)價(jià) 維修流程 IT外包服務(wù) 服務(wù)器維護(hù) 技術(shù)文章 常見(jiàn)故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠(chéng)服務(wù)技術(shù)文章
分析一個(gè)有趣的蜜罐合約

作者: 佚名  日期:2018-07-31 16:49:44   來(lái)源: 本站整理

 前言
前段時(shí)間看了有關(guān)智能合約里蜜罐合約的一些資料,感覺(jué)還是非常有意思的,這些蜜罐合約的利用點(diǎn)大都很巧妙,目的都是為了誘惑你往合約里送錢,而且目標(biāo)人群也不是什么小白,恰恰是相關(guān)的技術(shù)人員反而容易著了他們的道。這里我也想起了早前見(jiàn)到的某個(gè)合約,現(xiàn)在再看確實(shí)也是個(gè)蜜罐合約,下面我們來(lái)看看它的利用點(diǎn)。
 
開(kāi)端
說(shuō)起來(lái)這份合約當(dāng)時(shí)也是某位師傅分享給我,因?yàn)檎Э雌饋?lái)問(wèn)題很大,當(dāng)時(shí)還在開(kāi)玩笑要不要拿下它把錢轉(zhuǎn)出來(lái)合約的代碼很簡(jiǎn)單,如下
pragma solidity ^0.4.20;
contract GUESS_IT
{
    function Play(string _response)
    external
    payable
    {
        require(msg.sender == tx.origin);
        if(responseHash == keccak256(_response) && msg.value>1 ether)
        {
            msg.sender.transfer(this.balance);
        }
    }
    string public question;
    address questionSender;
    bytes32 responseHash;
    function StartGame(string _question,string _response)
    public
    payable
    {
        if(responseHash==0x0)
        {
            responseHash = keccak256(_response);
            question = _question;
            questionSender = msg.sender;
        }
    }
    function StopGame()
    public
    payable
    {
       require(msg.sender==questionSender);
       msg.sender.transfer(this.balance);
    }
    function NewQuestion(string _question, bytes32 _responseHash)
    public
    payable
    {
        require(msg.sender==questionSender);
        question = _question;
        responseHash = _responseHash;
    }
    function() public payable{}
}
乍一看是不是問(wèn)題多多,實(shí)際上也確實(shí)是問(wèn)題多多,要成功地play game需要給出正確的response,經(jīng)過(guò)sha3加密后與responseHash進(jìn)行比較即可成功提取所有的eth,同時(shí)我們又發(fā)現(xiàn)在StartGame函數(shù)中response直接作為參數(shù)傳送進(jìn)來(lái)了,我們知道鏈上的交易都是公開(kāi)透明的,所以合約的創(chuàng)建者執(zhí)行這一函數(shù)時(shí)我們是可以看到他傳遞的值的,所以我們直接去查看到response的值就可以成功play game了,當(dāng)時(shí)這個(gè)合約里還存入了一個(gè)eth,相當(dāng)于發(fā)送一個(gè)eth過(guò)去可以拿到兩個(gè)eth,想想還是挺刺激的,不過(guò)也只能是想想,真的發(fā)了你就得哭了
這個(gè)合約看起來(lái)其實(shí)看起來(lái)跟一個(gè)叫新年禮物的蜜罐合約有點(diǎn)像,404的團(tuán)隊(duì)的文章里也有提到以太坊蜜罐智能合約分析,不過(guò)實(shí)際上利用點(diǎn)還是有些區(qū)別。
初看完這個(gè)合約,你可能會(huì)覺(jué)得這個(gè)作者是不是個(gè)小白,一點(diǎn)都不了解以太坊運(yùn)行的機(jī)制就隨便在主鏈上創(chuàng)建了合約,而且還存入了一個(gè)以太幣,更是把源碼都發(fā)布上來(lái)讓你參觀,其實(shí)這時(shí)候你應(yīng)該有點(diǎn)感覺(jué)到不對(duì)勁了,這天上難道還真能掉餡餅么,當(dāng)時(shí)一個(gè)以太幣也不是個(gè)小數(shù)目了,不過(guò)怎么看也找不到問(wèn)題所在,不管了,先動(dòng)手試試再說(shuō)。
 
嘗試
第一步我們當(dāng)然要先確定response的值,前面也提到這個(gè)可以在調(diào)用startgame函數(shù)時(shí)查看,我們?cè)趀therscan上查看該合約的交易記錄

第一步創(chuàng)建了合約,那么下一步應(yīng)該就是startgame了,我們查看該交易的內(nèi)容

在這里我們可以直接選擇將交易的內(nèi)容解碼,這樣就可以看到里面包含的這部分信息,所以respose的值就是A snowflakE了,看到這個(gè)是不是有點(diǎn)激動(dòng),說(shuō)實(shí)話我當(dāng)時(shí)也有點(diǎn)激動(dòng),不過(guò)現(xiàn)在還是得冷靜,后面一個(gè)交易是創(chuàng)建者往里面沖了一個(gè)ether,再下面竟然是一個(gè)老哥發(fā)了一個(gè)交易把eth給提出來(lái)了,不過(guò)我看的時(shí)候比較早,那時(shí)候還沒(méi)有這筆交易,其實(shí)這是合約主人把幣給提出來(lái)而已,現(xiàn)在看來(lái)應(yīng)該是別人部署來(lái)測(cè)試的,再看這筆交易的內(nèi)容

竟然真的是用的前面的response進(jìn)行提幣的,難道這個(gè)合約真的可以利用么?其實(shí)這里就是創(chuàng)建者的惡趣味了,我們接著往下看。
 
深入
前面我們已經(jīng)在交易里看到了response的值,我相信很多人可能已經(jīng)蠢蠢欲動(dòng)了,不過(guò)為了以防萬(wàn)一我們還是多做點(diǎn)驗(yàn)證工作
我們知道合約里使用storage存儲(chǔ)的變量都是可以在鏈上查到的,所以此處的responseHash是可以讀取的,那么我們可以用它來(lái)進(jìn)行驗(yàn)證,按照變量定義的順序,存儲(chǔ)位slot 0存放的是string變量question的長(zhǎng)度,slot 1存放的是questionsender地址,slot 2存放的是responseHash,所以我們讀取slot 2里的值,然后與前面的response的sha3進(jìn)行比較
這里因?yàn)檫@個(gè)蜜罐已經(jīng)被廢棄了,所以值確實(shí)是一樣的,然而當(dāng)時(shí)我進(jìn)行嘗試的時(shí)候slot 2里存儲(chǔ)的并不是這串hash,當(dāng)時(shí)我得到的是下面這串
0x490a2750bb759c739d4e8657ebad54ae2175d222146b95118e76f6c9a6f9bf6a
當(dāng)時(shí)我真的是非常納悶,這咋就對(duì)不上號(hào)呢,我又看了其它變量存儲(chǔ)的位置

這question的長(zhǎng)度倒還對(duì)得上號(hào),但是這個(gè)sender的地址是怎么冒出來(lái)的,按道理不是應(yīng)該是合約創(chuàng)建者的地址么,前面我們可以看到其地址如下
0xac413e7f9c2a5ed2fde919ce3d1e1e98f8d33a55
而存儲(chǔ)里的這串卻是個(gè)合約地址,這讓我很是頭疼,后來(lái)找到相關(guān)資料才知道玄機(jī)在于etherscan上可見(jiàn)交易的機(jī)制,在etherscan上對(duì)于合約與合約之間的消息傳送,當(dāng)msg.value為0時(shí)它是不顯示的,因?yàn)樗鼈儽灰暈楹霞s間的相互調(diào)用而不是一筆交易,但這部分的信息可以通過(guò)etherchain來(lái)查看,現(xiàn)在我們使用它來(lái)查看該合約間的調(diào)用信息

果然,現(xiàn)在交易信息就多了很多,我們發(fā)現(xiàn)在創(chuàng)建合約后的第一步行動(dòng)并不是來(lái)自創(chuàng)建者,而是來(lái)自一個(gè)合約,而這正是我們前面讀取到的sender的地址,這下子就都說(shuō)得通了,我們來(lái)看看這個(gè)合約在這次調(diào)用里都干了些啥,進(jìn)入以后我們點(diǎn)擊Parity Trace來(lái)追蹤這兩次調(diào)用的信息,于是得到了這兩部分inputdata

因?yàn)檫@里不像etherscan那樣自帶decode,所以需要我們手動(dòng)進(jìn)行解碼,這里我們可以使用abi-decoder工具,這個(gè)可以用node.js部署,不過(guò)簡(jiǎn)單點(diǎn)我們直接把a(bǔ)bi-decoder.js下載下來(lái)就行了,然后我們直接在瀏覽器里使用
首先導(dǎo)入abi,可以直接在etherscan的源碼部分復(fù)制,然后將inputdata放入進(jìn)行解碼即可
const abi =[{"constant":false,"inputs":[{"name":"_question","type":"string"},{"name":"_response","type":"string"}],"name":"StartGame","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_question","type":"string"},{"name":"_responseHash","type":"bytes32"}],"name":"NewQuestion","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"question","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_response","type":"string"}],"name":"Play","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"StopGame","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"}];
abiDecoder.addABI(abi);
const input1='0x1f1c827f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000004f5768617420666c696573207768656e206974e280997320626f726e2c206c696573207768656e206974e280997320616c6976652c20616e642072756e73207768656e206974e280997320646561643f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003735a730000000000000000000000000000000000000000000000000000000000';
const input2='0x3e3ee8590000000000000000000000000000000000000000000000000000000000000040490a2750bb759c739d4e8657ebad54ae2175d222146b95118e76f6c9a6f9bf6a000000000000000000000000000000000000000000000000000000000000004f5768617420666c696573207768656e206974e280997320626f726e2c206c696573207768656e206974e280997320616c6976652c20616e642072756e73207768656e206974e280997320646561643f0000000000000000000000000000000000';
結(jié)果如下

果然玄機(jī)就在這里,真正的responsehash是在這里設(shè)置的,該合約首先調(diào)用startgame來(lái)使自己成為questionSender,然后再設(shè)置全新的resonseHash,這里的response也不過(guò)是瞎寫(xiě)的,真是很狡詐啊,至于后面的那幾個(gè)調(diào)用感覺(jué)就是創(chuàng)建者的惡趣味了,在接下來(lái)的幾個(gè)調(diào)用里就是拿他的地址假裝調(diào)用startgame設(shè)置了response值,然而事實(shí)上這里responseHash已經(jīng)不為0,所以是沒(méi)有響應(yīng)的,然后就等你上鉤了,然后他又使用前面已經(jīng)成為questionSender的合約將responseHash的值改為了我們?cè)趀therscan上交易里看到的response的hash值,接下來(lái)他便使用另一錢包發(fā)送1 ether來(lái)提取合約內(nèi)的ether,正常來(lái)講這里是多次一舉的,因?yàn)樗苯诱{(diào)用stopgame就可以拿回錢了,而他還費(fèi)gas取改responseHash,大概是想偽造出一種有人成功拿錢走人的錯(cuò)覺(jué)吧。
 
結(jié)語(yǔ)
希望這次的分析能讓大家感受到蜜罐合約的趣味性,對(duì)于那些對(duì)以太坊有一定了解手上又有點(diǎn)幣的人來(lái)說(shuō)就得小心了,講道理第一次見(jiàn)的話是很容易被忽悠到的,畢竟以太坊上神奇的機(jī)制這么多,稍不小心可能就會(huì)栽了跟頭,最好是時(shí)刻牢記天上是不會(huì)掉餡餅的。



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

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

    技術(shù)支持:微軟等
    久久亚洲专区| 久久久久九九九九| 国产一级精品视频| 欧美经典一区二区| 中文字幕一区二区三区波野结| 成人3d动漫在线观看| 自拍偷拍 国产| 欧美偷拍自拍| 天天综合网久久综合网| 久久久久久久久亚洲| 亚洲精品aaaaa| 永久免费看黄网站| 在线欧美一区二区| 一本大道一区二区三区| 一区二区三区四区中文字幕| 欧美成人精品欧美一| av不卡在线看| 欧美狂猛xxxxx乱大交3| 国产日韩欧美在线一区| 99久久久精品视频| 黄色网页在线播放| 在线播放精品一区二区三区| 欧美一级性视频| 欧美韩国日本不卡| 国产精品自拍电影| 国产男女猛烈无遮挡| 99麻豆久久久国产精品免费 | 国产欧美日韩视频一区二区| 高h调教冰块play男男双性文| 91精品久久久久久久91蜜桃| 一级做a爰片性色毛片视频| 亚洲一区二区免费在线观看| 日韩精品久久久| 欧美成免费一区二区视频| 四虎影视1304t| 免费成人小视频| 国产精品沙发午睡系列| 亚洲超碰在线观看| 亚洲一区二区三区精品视频| 日本久久久久| 午夜一区二区三区| av动漫一区二区| 色视频免费观看| 亚洲美女视频网站| 欧美大电影免费观看| 亚洲乱码国产一区三区| 欧美日韩国产免费| 国产91精品入| 永久免费av网站| 欧美日韩在线免费观看视频| 国产成人小视频| 欧美一级性视频| 亚洲精品中文字幕有码专区| 国产福利视频在线观看| 免费av手机在线观看| 亚洲免费影院| 亚洲国产精品久久久久爰性色| 精品国产欧美成人夜夜嗨| 欧美黄色激情| 手机在线看片日韩| 中文字幕av一区二区三区高| 日韩人妻无码一区二区三区99 | 老子影院午夜伦不卡大全| 国产日产精品_国产精品毛片| www.国产高清| 国产亚洲a∨片在线观看| 激情国产在线| 黄色在线视频网| 91精品久久久久久蜜臀| 亚洲中文字幕在线一区| 亚洲精品ww久久久久久p站| 区二区三区在线| 一本大道亚洲视频| 天天堂资源网在线观看免费视频| 亚洲国产精品久久91精品| 91传媒理伦片在线观看| 国产精品magnet| 免费在线一级片| 一二三四区精品视频| 福利视频大全| 国产在线高清精品| 图片一区二区| 88av在线播放| www.日本不卡| 欧美黑人xxxxx性受| 日韩一区二区精品在线观看| 米奇.777.com| 欧美在线视频网| 久久电影网站| 一区二区三区 日韩| 国产欧美日韩激情| 女人18毛片九区毛片在线| 7777精品伊人久久久大香线蕉超级流畅 | 97在线视频免费观看| 国产精品一区二区三区视频网站| 国产精品免费小视频| 中文字幕欧美一区二区| 成人看片在线| 教室别恋欧美无删减版| 永久看片925tv| 精品国产91洋老外米糕| 国产高清美女一级毛片久久| 国风产精品一区二区| av电影天堂一区二区在线观看| www.日本在线观看| 51午夜精品视频| 日韩精品一区二区久久| 国产精品久久久久精| 国产成人av在线播放| 欧美+日本+国产+在线a∨观看| 天天色影综合网| 日韩在线观看免费全| 日韩精品视频在线看| 非洲一级黄色片| 精品无人区太爽高潮在线播放| 亚洲福利影视| 天码人妻一区二区三区在线看| 中文字幕成人精品久久不卡 | 国产精品视频不卡| 奇米一区二区三区| 日本影音先锋电影| 91久久在线观看| 麻豆国产精品视频| 久久久久久成人网| 日韩av综合中文字幕| a成人v在线| 日本中文字幕久久| 久久影视电视剧免费网站清宫辞电视 | 日韩欧美一级精品久久| 国产91在线播放精品| 91精品国自产在线| 久久久精品国产一区二区| 在线成人直播| 色先锋av资源在线| 天天综合日日夜夜精品| 日本不良网站在线观看| 可以免费看的av毛片| 亚洲999一在线观看www| 成人黄色网址在线观看| 成人www视频网站免费观看| 99中文字幕在线| 日韩精品在线私人| 中国av一区| 欧美**室bdsm视频| 日韩欧美手机在线| 欧美日韩一区二区在线观看 | 国产情侣一区在线| 男人与禽猛交狂配| 亚洲一区二区少妇| 中文字幕在线一区免费| 日本色护士高潮视频在线观看| 制服 丝袜 综合 日韩 欧美| 久久久久久久久久亚洲| 亚洲欧美成人| 永久免费在线观看视频| 国产精品一区在线免费观看| 最新国产の精品合集bt伙计| jizzyou欧美16| 国产精品亚洲色图| 中国免费黄色片| 国内精品久久久久久久久| 国产精品18久久久久久久久 | 激情视频网址| 战狼4完整免费观看在线播放版| 国产97在线观看| 一区二区不卡在线视频 午夜欧美不卡在 | 五十路中文字幕| 午夜免费高清视频| 国产精品h在线观看| 亚洲视频在线观看一区| 自拍视频一区| 天堂在线观看一卡二卡三卡四卡| 国产一区二区免费在线观看| 宅男在线国产精品| 久久精品国产**网站演员| 九九热这里有精品| 免费看黄色网| 一道本无吗一区| 亚洲综合20p| 欧美性在线视频| 91精品国产一区二区人妖| 重囗味另类老妇506070| 动漫一区在线| www.狠狠插| 99热这里只有精| 中文字幕av观看| 欧美在线视频一区二区三区| 精品中文字幕在线| 亚洲精品免费看| 桃花色综合影院| 中文字幕一区二区三区四区免费看 | 欧美一区在线看| 国产高清亚洲| av免费在线观| 美女av网站| 丰满熟妇人妻中文字幕| 亚洲色图都市激情| 国产精品一区二区久久国产| 亚洲精品天天看| 欧美一级免费观看|