usdt回收(www.caibao.it):CTF技术宝典之智能合约#重入破绽
前言
近年来,各个大型CTF(Capture The Flag,中文一样平常译作夺旗赛,在网络安全领域中指的是网络安全手艺人员之间举行手艺竞技的一种竞赛形式)竞赛中都有了区块链攻防的身影,而且泛起的问题绝大多数都是区块链智能合约攻防。此系列文章我们主要以智能合约攻防为中央,来剖析智能合约攻防的要点,前两篇我们分享了合约反编译,反汇编的基础内容。后续的文章中,我们会继续分享CTF竞赛中智能合约常见题型(重入,整数溢出,空投,随机数可控等)及解题思绪,信赖会给读者带来不一样的收获。
本篇我们先来分享CTF竞赛中的重入题型,也是对照常见的一类题型,固然多数CTF智能合约问题并不仅仅考察单个破绽的攻防,合约中的判断条件有时也异常棘手。好比2018年WCTF上BelluminarBank问题,需要用到整数绕过条件限制,还需用到存储溢出,接见权限设置等多个攻击技巧。
本篇分享的重入题型我们选择2019强网杯babybank问题。
问题地址:https://ropsten.etherscan.io/address/0x93466d15A8706264Aa70edBCb69B7e13394D049f,code
问题剖析
问题提醒:
,,电银付(dianyinzhifu.com)是官方网上推广平台。在线自动销售电银付激活码、电银付POS机。提供电银付安装教程、电银付使用教程、电银付APP使用教程、电银付APP安装教程、电银付APP下载等技术支持。面对全国推广电银付加盟、电银付大盟主、电银付小盟主业务。
function payforflag(string md5ofteamtoken,string b64email) public{ require(balance[msg.sender] >= 10000000000); balance[msg.sender]=0; owner.transfer(address(this).balance); emit sendflag(md5ofteamtoken,b64email); }
合约源码:
查看合约问题,发现并没有ether,也没有给出合约源码,如下图:
由于拿到问题后只有合约的opcode,以是需要举行逆向,这里我们推荐Online Solidity Decompiler在线网站(https://ethervm.io/decompile),详细逆向时的源码还原我们不再赘述,需要学习的同砚可移步系列文章反编译篇,反汇编篇
以下为逆向后的合约代码:
pragma solidity ^0.4.23; contract babybank { mapping(address => uint) public balance; mapping(address => uint) public level; address owner; uint secret; event sendflag(string md5ofteamtoken,string b64email); constructor()public{ owner = msg.sender; } function payforflag(string md5ofteamtoken,string b64email) public{ require(balance[msg.sender] >= 10000000000); balance[msg.sender]=0; owner.transfer(address(this).balance); emit sendflag(md5ofteamtoken,b64email); } modifier onlyOwner(){ require(msg.sender == owner); _; } function withdraw(uint256 amount) public { require(amount == 2); require(amount <= balance[msg.sender]); address(msg.sender).call.value(amount * 0x5af3107a4000)(); //重入破绽点 balance[msg.sender] -= amount; } function profit() public { require(level[msg.sender] == 0); balance[msg.sender] = 1; level[msg.sender] = 1; } function xxx(uint256 number) public onlyOwner {
登录并阅读全文 本文系作者授权本站发表,未经许可,不得转载。
- usdt第三方支付(www.caibao.it):捷运车厢酿成SWAG成人片场?台北捷运发表声明强烈训斥业者场景太真切
- usdt充值(www.caibao.it):历久吃“降压药”的人,最后会怎么样?谜底可能让人有点“意外”
- usdt交易平台(www.caibao.it):2020年人工智能将若何改变你的生涯?你以为ai能给你所在的领域或专业带来
- usdt不用实名买入卖出(www.caibao.it):什么是边缘盘算?谜底应该和注释鸡蛋炒饭一样清晰易懂吧?随着5g
- usdt自动充值(www.caibao.it):手机nfc功效有什么用?5g网络[有哪些‘商机’有哪些无人概念股?
- usdt不用实名(www.caibao.it):关于区块链,你怎么看?

推荐文章
Recommend article-
usdt第三方支付(www.caibao.it):捷运车厢酿成SWAG成人片场?台北捷运发表声明强烈训斥业者场景太真切
淮南科技/阅读:143 -
usdt充值(www.caibao.it):历久吃“降压药”的人,最后会怎么样?谜底可能让人有点“意外”
淮南科技/阅读:66 -
usdt交易平台(www.caibao.it):2020年人工智能将若何改变你的生涯?你以为ai能给你所在的领域或专业带来哪些创新和提高?内存条包罗什么,什么?
淮南科技/阅读:112 -
usdt自动充值(www.caibao.it):手机nfc功效有什么用?5g网络[有哪些‘商机’有哪些无人概念股?
淮南科技/阅读:109 -
usdt不用实名买入卖出(www.caibao.it):什么是边缘盘算?谜底应该和注释鸡蛋炒饭一样清晰易懂吧?随着5g时代的到来,2020年将会发生怎样的转变?
淮南科技/阅读:55 -
usdt不用实名(www.caibao.it):关于区块链,你怎么看?
淮南科技/阅读:171

热门文章
HOT NEWS