Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

honeypot contractlar


-Bonesoul-

Öne çıkan mesajlar

bu aralar solidity ile baya ugrastıgım icim, honeypot contractlara merak saldım. 

honeypot contractlar kucuk puzzle'lar iceren contractlar temelde (bitcoin script puzzle'ların daha gelismis hali diyelim - https://en.bitcoin.it/wiki/Script) . cozebilirseniz bi miktar odul kazaniyorsunuz. tabi bu contractlari kovalayip genelde reentrancy-attack'la cheatlemeye calisanlar oluyor. (https://gus-tavo-guim.medium.com/reentrancy-attack-on-smart-contracts-how-to-identify-the-exploitable-and-an-example-of-an-attack-4470a2d8dfe4)

bugun ilginc bir honeypot faker contractla karsilastim:

https://etherscan.io/address/0x95d34980095380851902ccd9a1fb4c813c2cb639#code

Alıntı

/**
 *Submitted for verification at Etherscan.io on 2018-02-09
*/

pragma solidity ^0.4.19;

contract Private_Bank
{
    mapping (address => uint) public balances;
    
    uint public MinDeposit = 1 ether;
    
    Log TransferLog;
    
    function Private_Bank(address _log)
    {
        TransferLog = Log(_log);
    }
    
    function Deposit()
    public
    payable
    {
        if(msg.value >= MinDeposit)
        {
            balances[msg.sender]+=msg.value;
            TransferLog.AddMessage(msg.sender,msg.value,"Deposit");
        }
    }
    
    function CashOut(uint _am)
    {
        if(_am<=balances[msg.sender])
        {
            
            if(msg.sender.call.value(_am)())
            {
                balances[msg.sender]-=_am;
                TransferLog.AddMessage(msg.sender,_am,"CashOut");
            }
        }
    }
    
    function() public payable{}    
    
}

contract Log 
{
   
    struct Message
    {
        address Sender;
        string  Data;
        uint Val;
        uint  Time;
    }
    
    Message[] public History;
    
    Message LastMsg;
    
    function AddMessage(address _adr,uint _val,string _data)
    public
    {
        LastMsg.Sender = _adr;
        LastMsg.Time = now;
        LastMsg.Val = _val;
        LastMsg.Data = _data;
        History.push(LastMsg);
    }
}

 

temelde kendini honypot gibi gosterırken, reentrancy attackla cheatlemeye calisanalri dolandırıyor ?

Alıntı

 

A contract with the same function signature

AddMessage(address _adr,uint _val,string _data)

was deployed before this one. This function most likely checks the incoming address. If it is the owner of the honeypot, it will just return and not consume much gas. If it is anyone else, e.g. you, it will run in an infinite loop to expend all your gas.

 

bu tarz baska honeypot ya da fake honeypot contractlar goren var mı?

detaylı acıklaması:

https://www.reddit.com/r/ethdev/comments/7x5rwr/tricked_by_a_honeypot_contract_or_beaten_by/

aynı contractın ikinci dolandırıcılıgı ?

https://www.reddit.com/r/ethdev/comments/7xu4vr/oh_dear_somebody_just_got_tricked_on_the_same/

 

 
-Bonesoul- tarafından düzenlendi
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...