Bitcoin Forum
May 05, 2024, 03:15:31 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Как правильно ставить ловушки в блокчейнk  (Read 134 times)
Fizpok (OP)
Sr. Member
****
Offline Offline

Activity: 344
Merit: 250


View Profile WWW
November 17, 2017, 01:15:53 PM
 #1

Обожаю этереумные смарт контракты.
У сайта etherscan.io есть много достоинств и один недостаток - они верят авторам контрактов: хочешь опубликовать код - публикуй. А вот дизассемблера у Solidity нету. То есть, можно опубликовать что-то не то.
И народ уже начал строить ловушки на хакеров. Вот одна из них - ну просто конфетка:

pragma solidity ^0.4.18;

contract MultiplicatorX2
{
        address public Owner = msg.sender;

        function() public payable{}

        function withdraw()  payable public
        {
                require(msg.sender == Owner);
                Owner.transfer(this.balance);
        }

        function multiplicate(address adr) public payable
        {
            if(msg.value>=this.balance)
            {
                adr.transfer(this.balance+msg.value);
            }
        }
}

Контракт - проще некуда. На нем лежить один ether - это около 300 баксов. Хочешь их забрать - переведи БОЛЬШУЮ (> 1 ether) сумму "if(msg.value>=this.balance)" - и все деньги пойдут тебе.
Ну... ловушка, да. Опубликованный код не идентичен биткоду в блокчейне.

Вот адрес: https://etherscan.io/address/0xe26e90598190a98c92c75204c9a4ecfe5983f8e0#code

Так вот. По ссылке видим, что:
первый взнос в размере 1 эфир сделал создатель контракта
второй взнос сделал неизвестный хакер
после чего владелец контракта забрал деньги и был таков

Был таков? Я сказал - был таков?
Нет, он выложил новый контракт: https://etherscan.io/address/0x5aA88d2901C68fdA244f1D0584400368d2C8e739

Обожаю этереумные смарт контракты.

Ethereum Programming Guide
Create Solidity contracts: Step-by Step Hands-on Guides.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!