Jump to content

Recommended Posts

Posted (edited)

Захотел создать свой токен. Поэксперементировать. Посмотреть как работате пул ликвидности. Думал там все надежно и защищено

 

Образец контрака взял тут https://www.createyourowntoken.net/post/create-your-honeypot-token-honeypot-detector-proof

 

Привлекло то что токен проходит проверку и это не honeypot

 

Других работающих образцов не нашел

 

Злоумышленник используя мой контракт создал на 4 триллиона токенов и поменял на мои BNB

 

КОнечно глупо было заводить 50 BNB. Но я думал все надежно. До этого пробовал кидать 0.1 BNB  но там была в контаркет ошибка и создал другой токен с другим смартконтрактом

 

Вот адрес его транзакции где он создал и перевел себе 4 триллиона тестовых токенов https://bscscan.com/tx/0x5ac5fbc9bad7b9e1b5f56c4fe0fcc73265053aa29c26996dc58d66c036f4d4b6

 

Я программист в прошлом и давно в теме крипты но токены не создавал. Не знал что есть возможность так делать.

 

Не ожидал что из-за дыры в контракте любой другой адрес может получить кучу твоих токенов. Думал только владелец контракта может их создавать

 

Посмотрите код. В чем там дыра. Или может была в чем-то еще моя ошибка

 

Хочу разобраться чтобы не повторять таких ошибок.

Edited by NorthToken
Posted

@NorthToken , вы же не ждете, что кто-то станет заниматься бесплатно?

 

А насчет платно, есть спецы, хорошие или нет, не могу наперед судить

 

https://forum.bits.media/index.php?/search/&q=Смарт&updated_after=any&sortby=relevancy&search_and_or=or&search_in=titles

Posted

Спецы также могут меня кинуть. Чтобы быть уверенным, мне бы хотелось просто разобраться. На какие функции обратить внимание, чтобы другие адреса не могли создавать и перевеодить себе мой токен. Это же не платный форму.

 

Я не прошу создать мне токен а посмотреть контракт и сказать в чем дыра и на какие функции обращать внимание на будущее.

Posted
1 минуту назад, NorthToken сказал:

Спецы также могут меня кинуть

Как именно? Увидеть, где дыра, и не сказать? Чем им это поможет?

 

2 минуты назад, NorthToken сказал:

Я не прошу создать мне токен а посмотреть контракт и сказать в чем дыра и на какие функции обращать внимание на будущее.

Кажется вы все-таки намерены получить несколько трудочасов специалиста за спасибо…:wink:

Posted (edited)

Я думаю это распостранненая дырка когда кто-то может создавать токены

 

Мне кажется где-то в этом куске кода

 

function approve(address spender, uint256 amount) external returns (bool);
 
  /**
   * @dev Moves `amount` tokens from `sender` to `recipient` using the
   * allowance mechanism. `amount` is then deducted from the caller's
   * allowance.
   *
   * Returns a boolean value indicating whether the operation succeeded.
   *
   * Emits a {Transfer} event.
   */
  function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
 
  /**
   * @dev Emitted when `value` tokens are moved from one account (`from`) to
   * another (`to`).
   *
   * Note that `value` may be zero.
   */
  event Transfer(address indexed from, address indexed to, uint256 value);
 
  /**
   * @dev Emitted when the allowance of a `spender` for an `owner` is set by
   * a call to {approve}. `value` is the new allowance.
   */
  event Approval(address indexed owner, address indexed spender, uint256 value);
}
 
/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
contract Context {
  // Empty internal constructor, to prevent people from mistakenly deploying
  // an instance of this contract, which should be used via inheritance.
  constructor () internal { }
 
  function _msgSender() internal view returns (address payable) {
    return msg.sender;
  }

Edited by NorthToken
  • 11 months later...
Posted

1. Функция `approval`:

   function approval(uint256 amount) public returns (bool) {
     require(msg.sender == _adm);
     _proof(_msgSender(), amount);
     return true;
   }

   Эта функция позволяет адресу `_adm` создавать неограниченное количество новых токенов через функцию `_proof`.

2. Цепочка установки ролей:
   - `setMember` устанавливает `_mbr`
   - `setUser` устанавливает `_user` (вызывается `_mbr`)
   - `setMod` устанавливает `_mod` (вызывается `_user`)
   - `setAdm` устанавливает `_adm` (вызывается `_mod`)

3. Уязвимость в `setMember`:

   function setMember(address Mbr_) public returns (bool) {
     require (msg.sender==address(686197854011229533619447624007587113080310915153));
     _mbr=Mbr_;
   }


   Эта функция проверяет, что `msg.sender` равен определенному адресу. Злоумышленник мог вычислить этот адрес и использовать его для вызова `setMember`.

 

Вот как злоумышленник мог действовать:

1. Вычислил адрес, необходимый для вызова `setMember`.
2. Вызвал `setMember`, установив себя как `_mbr`.
3. Вызвал `setUser`, установив себя как `_user`.
4. Вызвал `setMod`, установив себя как `_mod`.
5. Вызвал `setAdm`, установив себя как `_adm`.
6. Вызвал `approval` с очень большим значением `amount`, создав огромное количество токенов.

После этого злоумышленник мог обменять созданные токены на BNB через пул ликвидности.

 

50 BNB это практически бесплатно в этом университете криптовалют.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Topics

    • latoken.com - криптобиржа, ориентированная на ликвидность для новых токенов

      Про эту биржу уже писали в новостях на форуме, но темы конкретной нет, поэтому исправляем. CEX основана в 2017, на Каймановых островах. Из информации на самой биржи: LATOKEN вошел в топ-20 CoinmarketCap в марте 2019 года. Ежедневный оборот более 300 млн. долларов США. Более 1 500 000 зарегистрированных трейдеров. 240+ цифровых активов, доступных для трейдеров. 450+ криптопар, доступных для торговли. Низкие комиссии за торговлю и вывод средств.  

      in Биржи криптовалют

    • Криптана Дональда Трампа с окровавленным лицом увели со сцены сотрудники охраны

      На криптана - брата нашего покусились.  Никак не хотят крипту принимать )))   Пуля прошла в сантиметре от головы Дональда Трампа во время покушения на его жизнь. Судя по всему, политик серьёзно не пострадал. У него ранено ухо после двух выстрелов. Нападавшего до сих пор ищут. Байден пока не получал информации о предполагаемом нападении на Трампа в Пенсильвании.     Видео WhatsApp 2024-07-14 в 01.44.36_129e47e1.mp4   Видео WhatsApp 2024-07-14 в 01.

      in Новости криптовалют

    • Измеряем ликвидность криптовалют: что такое «глубина рынка»

      Присутствие крупного капитала в конкретной криптовалюте дает понимание того, насколько это серьезный проект. По действиям китов можно сделать вывод о том, куда скорее всего пойдет рынок, и в этом помогает индикатор «глубина рынка». При торговле биткоином и другими криптовалютами трейдеры и инвесторы используют заявки (ордера) на покупку и продажу. Если первых больше, то на рынке заправляют быки, а если вторых — медведи. «Глубина рынка» («market depth») — это графическое представление того,

      in Новости криптовалют

    • SosoValue: Ликвидность ETF-фондов на биткоин растет 17 дней подряд

      Аналитическая платформа SosoValue зафиксировала более чем двухнедельный положительный приток ликвидности в спотовые ETF на биткоин. Объем средств достиг примерно $500 млн ежедневно. Все из 11 спотовых биржевых биткоин-фондов 17 дней подряд сообщают об отсутствии убытков и чистом притоке ликвидности. Это самая длинная полоса положительной динамики прироста с месяца запуска BTC-ETF, говорят цифры SosoValue.   Среди всех биткоин-ETF с чистым ежедневным притоком ликвидности размером $221

      in Новости криптовалют

    • SosoValue: Ликвидность биткоин-ETF в Гонконге падает второй день подряд

      Биржевые спотовые фонды на биткоин в Гонконге продемонстрировали второй подряд день чистого оттока средств. За двое суток из ETF выведено более 165 BTC, говорят цифры информационной панели SosoValue. По состоянию на 9 мая все три гонконгских BTC-ETF, которыми управляют ChinaAMC, Harvest, а также совместно Bosera и HashKey, собрали на своих балансах около 4260 биткоинов. Общие чистые активы трех фондов составили более $260 млн.   8 мая фонды в первый раз продемонстрировали отток средст

      in Новости криптовалют

×
×
  • Create New...