Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
web3-decoder — Расширение Burp Suite для декодирования вызовов Ethereum JSON-RPC и взаимодействий со смарт-контрактами, поддерживающее несколько сетей и автоматическое получение ABI. | Kitploit
Инструменты/GitHubGitHub/uwctcjnwlk/web3-decoder
Анализ уязвимостейОбратная инженерияВеб-безопасностьТестирование на ПроникновениеБезопасность API
GitHubuwctcjnwlk/web3-decoder

web3-decoder

Расширение Burp Suite для декодирования вызовов Ethereum JSON-RPC и взаимодействий со смарт-контрактами, поддерживающее несколько сетей и автоматическое получение ABI.

Репозиторий
216418419 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Web3 Decoder

Web3 Decoder — это расширение для Burp Suite, предназначенное для анализа операций с блокчейном и взаимодействий со смарт-контрактами. Оно обрабатывает JSON-RPC вызовы к Ethereum и совместимым сетям (включая Polygon, Arbitrum, BSC и другие)

API-ключи блокчейн-эксплореров

Большинство поддерживаемых блокчейн-эксплореров, таких как etherscan.io, требуют API-ключ для выполнения более чем 1 запроса каждые 5 секунд.

Чтобы добавить свои API-ключи, у вас есть 2 варианта:

  • Вы можете добавить свои API-ключи, изменив файл .api_keys.json
  • Вы можете добавить переменные окружения с теми же именами, что и в файле API_KEYS.json
    • например: export ETHERSCAN_API=YOURAPIKEY

Ручное добавление ABI контракта

Расширение кэширует загруженные ABI из блокчейн-эксплореров, таких как etherscan, в папке с именем .abi_caches в формате JSON. Вы можете просто добавить новый файл в эту папку, следующего соглашения об именовании:

{chain_id}_{contract_address.lower()}.abi

Например:

# Ethereum Mainnet (chain ID 1), контракт 0xfbdca68601f835b27790d98bbb8ec7f05fdeaa9b
1_0xfbdca68601f835b27790d98bbb8ec7f05fdeaa9b.abi

# Polygon (chain id 137), контракт 0x447646e84498552e62ecf097cc305eabfff09308
137_0x447646e84498552e62ecf097cc305eabfff09308.abi

Внимание, пользователи Windows и macOS:

Эта документация применима к Windows и Linux; пользователи macOS могут использовать DMG-файл.

Проверьте наличие Git и Python в вашей системе.

https://git-scm.com/install/windows

https://www.python.org/ftp/python/3.13.12/python-3.13.12-amd64.exe

Запустите сеанс терминала от имени администратора.

Предкомпилированные бинарные файлы и Python3 Virtualenv

Это расширение требует библиотеки python3, такие как web3.py, которые, к сожалению, недоступны для python 2.7 для непосредственного использования с Jython 2.7. В качестве «хака» основная функциональность написана в библиотеке python 3, которая выполняется расширением через виртуальное окружение python (говоря о грязных решениях...)

Я создал предкомпилированные бинарные файлы используемой библиотеки python3 для Linux, Windows и Mac OSX. Расширение будет использовать эти бинарные файлы, если не сможет выполнить библиотеку. Для лучшей производительности или разработки вы можете создать virtualenv и установить следующим образом:

cd "web3-decoder"
virtualenv -p python3 venv
source venv/bin/activate
pip install web3 py-evm

Расширение будет вызывать библиотеку, используя созданный virtualenv.

После создания virtualenv вы можете добавить python-расширение, выбрав файл burp_web3_decoder.py на вкладке Extender в Burp Suite

Возможности и TODO

  • Вкладка Burp EditorTab добавлена для совместимых запросов и ответов
  • Декодирование JSON-RPC вызовов eth_call
  • Декодирование JSON-RPC вызовов eth_sendRawTransaction (и их внутренних функций)
  • Декодирование результатов ответов от eth_call
  • Поддержка повторного кодирования декодированных функций eth_call
  • Автоматическая загрузка ABI смарт-контракта через API etherscan (если контракт верифицирован)
  • Декодирование входных данных функций как в eth_call, так и в eth_sendRawTransaction
  • Декодирование входных данных функций, использующих контракты «Delegate Proxy»
  • Декодирование входных данных функций, вызываемых через контракты «Multicall»
  • Ручное добавление ABI контрактов для контрактов, не верифицированных в etherscan
    • Разрешить выполнение этого через интерфейс Burp вместо записи JSON в файл
  • Предкомпилированные бинарные файлы для работы расширения без настройки
  • Поддержка других совместимых сетей (Polygon, Arbitrum, Fantom, BSC и т.д.)
  • Поддержка повторной подписи изменённого декодированного rawTransaction (требуется ввод privateKey)

Поддерживаемые сети на данный момент

Все поддерживаемые сети можно найти в файле chains.json. Это сети, у которых есть блокчейн-эксплорер с теми же API, что и у etherscan. Если вы хотите добавить больше блокчейн-эксплореров, добавьте их в файл chains.json, протестируйте и сделайте pull request!

  • Ethereum Mainnet
  • Ropsten
  • Rinkeby
  • Goerli
  • Optimism
  • Cronos
  • Kovan
  • BSC
  • Huobi ECO
  • Polygon
  • Fantom
  • Arbitrum
  • Sepolia
  • Aurora
  • Avalanche

Примеры

Дополнительные примеры, включая proxy и multicall вызовы, см. в EXAMPLES.md

eth_call:

Исходный: image

Декодированный: image

eth_sendRawTransaction (тест Uniswap v2):

{
    "method": "eth_sendRawTransaction", 
    "params": [
        "0x02f9015b820539808459682f00850df8475800830493e0947a250d5630b4cf539739df2c5dacb4c659f2488d880de0b6b3a7640000b8e47ff36ab500000000000000000000000000000000000000000000009e0950598867d8000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000002105eaa660ff62b14a5e093fc348e13ab63af2e600000000000000000000000000000000000000000000000000000000623b16570000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006b175474e89094c44da98b954eedeac495271d0fc001a005cfdf9ff11dea2d3e8781cb6ba140ae6e86a0922bfa75938b6f2456f513e24ca057f02b3f7125edb59e22651d503bc296153860e3843f9d495ad21d898c8e20c3"
    ], 
    "id": 4700418092893, 
    "jsonrpc": "2.0"
}

Декодированный:

Скачать инструмент