Thomas_Xu's Blog

A junior studying blockchain security. Here are some learning records.

Paradigm 题解 MerkleDrop

paradigm 2022 ctf 题解——MerkleDrop author:Thomas_Xu 环境配置:由于题目环境需要使用docker,环境配置有点繁琐。我重新搭了一个hardhat框架的测试环境,而由于题目出在以太坊的主链上,并使用Alchemyfork了一个主网节点进行测试 题目分析首先先来看一下这道题目的描述Were you whitelisted?你是否在白名单里?显而易见,......

Paradigm 题解 Rescue

paradigm 2022 ctf 题解——Rescue author:Thomas_Xu 环境配置:由于题目环境需要使用docker,环境配置有点繁琐。我重新搭了一个hardhat框架的测试环境,而由于题目出在以太坊的主链上,并使用Alchemyfork了一个主网节点进行测试. Resucue首先先来看一下这道题目的描述:I accidentally sent some WETH to a......

Uniswap_V3 源码分析

Uniswap V3 源码解析(一)author: Thomas_Xu 之前看了v2的源码,但是感觉能写的不多,于是便决定读了v3后把v3和v2连着写一一篇博文。v3版本的实现复杂度和v2已经不是一个量级了,部分算法确实难以摸透。尝试着分析分析吧。 写在前面强烈建议在阅读uniswap v3源码之前,先阅读官方博客对v3版本的介绍,有能力的话摸透V3的白皮书,熟悉他的实现原理。在本文中也会做......

Damn Defi 题解 10-11

Damn Defi靶场刷题记录(10-11)author: Thomas_Xu 10 Free rider这又是一道利用闪电贷来获取利益的题目。可见Defi平台要预防可能的闪电攻击是个难题。 题目要求我们偷走买家的的45个ETH,并且还要市场失去一些比特币。 Code Review首先我们从头来看这个Challenge FreeRiderNFTMarketplace这是交易市场的合约,主要......

Damn Defi 题解 8-9

Damn Defi靶场刷题记录(8-9)author: Thomas_Xu 8 Puppet这个题直接通过abi引用了一个已经编译了的Uniswap v1的合约,因此,我们可以假定这个Uniswap合约没有其他漏洞。那就让我们把目光集中在PuppetPool合约其实就一个borrow()函数,但在借款时,我们需要抵押两倍的资金在池里。这个题其实就是想要我们想办法让池在我们抵押不足的情况下贷款......

Damn Defi 题解 7

Damn Defi靶场刷题记录(7)author: Thomas_Xu 7 Compromised之所以单独把这个题拉出来做一个wp是因为这个题太特殊了,也因为8,9是一套题目。这个题设置的背景就很奇怪,它给了我们一个服务器的响应片段,而这些片段是由两大串十六进制数组成的。而我们目前并不知道这串十六进制数意味着什么,那么先来看看代码吧。 通过粗略阅读后我们可以发现,这其实就是三个所谓的“可......

Damn Defi 题解 5-6

Damn Defi靶场刷题记录(5-6)author: Thomas_Xu the-rewarderFlashPool从一开始就获得一百万个代币,提到的4个人中的每一个人都获得100个DVT,这些DVT立即由他们存入奖励池。在此初始设置之后,时间提前5天,并支付一轮奖励:每人25个奖励代币。这道题有四个合约,是第一道多合约的题目。不过不用害怕,我们一个一个来分析。 RewardToken这......

Damn Defi 题解 1-4

Damn Defi靶场刷题记录(1-4)author: Thomas_Xu Unstoppable这一关没有什么太大的难度,主要是带领进入Damn的题目 这道题是想让我们让这个闪电贷池停止工作 我们首先看一下合约12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 &......

ethernaut 题解 13-19

Ethernaut靶场刷题记录(13-19) author:Thomas_Xu 13 Gatekeeper One这关主要是考查对solidity合约基础知识的了解。先看代码:1234567891011121314151617181920212223242526272829303132// SPDX-License-Identifier: MITpragma solidi......

ethernaut 题解 07-12

Ethernaut靶场刷题记录(7-12) author:Thomas_Xu 07 Force这道题是为了考查我们对自毁函数selfdestruct的认识先看代码:123456789101112// SPDX-License-Identifier: MITpragma solidity ^0.6.0;contract Force {/* ......