APE Airdrop 취약점에 대한 자세한 설명
BlockSec
2022-03-18 08:25
本文约1150字,阅读全文需要约5分钟
트위터 사용자 Will Sheehan의 보고서에 따르면 차익 거래 로봇은 플래시 대출을 통해 60,000개 이상의 APE 코인을 획득했습니다.

2022년 3월 17일 베이징 시간, 우리 시스템은 APE 코인과 관련된 의심스러운 거래를 모니터링했습니다.트위터 사용자 Will Sheehan의 보고서에 따르면 차익 거래 로봇은 번개 대출을 통해 60,000개 이상의 APE 코인(각 $8 상당)을 획득했습니다. .

분석 결과 APE 코인 에어드롭 메커니즘의 허점과 관련이 있음을 발견했습니다. 구체적으로 APE 코인의 에어드랍 여부는 특정 사용자가 BYAC NFT의 순간 상태를 보유하고 있는지 여부에 달려 있으며, 이 순간 상태는 플래시론을 빌린 후 BYAC NFT를 얻기 위해 상환하는 공격자에 의해 조작될 수 있습니다. 공격자는 먼저 플래시 론을 통해 BYAC 토큰을 빌린 다음 이를 상환하여 BYAC NFT를 얻습니다. 그런 다음 이 NFT를 사용하여 에어드랍된 APE를 청구하고 마지막으로 BYAC NFT 발행을 사용하여 BYAC 토큰을 가져와 플래시 대출을 반환합니다. 우리는 이 모델이 플래시 론에 기반한 가격 조작 공격과 매우 유사하다고 생각합니다(계약은 자산의 순간 가격을 사용하여 다른 자산의 가격을 책정하며 이 순간 가격은 조작될 수 있습니다).

다음으로 공격 트랜잭션(https://versatile.blocksecteam.com/tx/eth/0xeb8c3bebed11e2e4fcd30cbfc2fb3c55c4ca166003c7f7d319e78eaab9747098) 전체 프로세스를 간략하게 설명합니다.

1단계: 공격 준비

공격자는 BYAC NFT 번호 1060을 구입하여 공격 계약으로 옮겼습니다. 이 NFT는 공개 시장에서 공격자가 106 ETH에 구입했습니다.

2단계: 플래시 론을 빌려 BYAC NFT로 상환

공격자는 플래시론을 통해 대량의 BYAC 토큰을 빌렸습니다. 이 과정에서 공격자는 BYAC 토큰 교환을 통해 5개의 BYAC NFT(번호 7594, 8214, 9915, 8167, 4755)를 획득했습니다.

3단계: BYAC NFT를 통해 에어드랍 보상 받기

이 과정에서 공격자는 6개의 NFT를 사용하여 에어드랍을 청구했습니다. 1060은 구매이고 나머지 5는 이전 단계에서 얻습니다. 에어드랍을 통해 공격자는 총 60,564개의 APE 토큰을 보상으로 받았습니다.

4단계: Mint BYAC NFT는 BYAC 토큰을 얻습니다.

공격자는 빌린 BYAC 토큰을 반환해야 합니다. 따라서 BYAC 토큰을 얻기 위해 BYAC NFT 민트를 얻을 것입니다. 이 과정에서 그는 또한 1060 NFT라는 자신의 번호를 주조했습니다. 이는 플래시론에 대한 수수료를 지불하기 위해 추가로 BYAC 토큰이 필요하기 때문입니다. 그런 다음 서비스 수수료를 지불한 후 BYAC 토큰을 판매하여 14 ETH를 얻습니다.

이익

공격자는 미화 500,000달러 상당의 60,564개의 APE 토큰을 획득했습니다. 공격 비용은 1060 NFT(106ETH)에서 BYAC 토큰 판매로 얻은 14ETH를 뺀 값입니다.

Lessons

문제의 근원은 APE의 에어드롭이 순간적인 상태(특정 순간에 특정 사용자가 NFT를 보유하고 있는지 여부)만을 고려한다는 점에 있다고 생각합니다. 그리고 이 가정은 매우 취약하며 공격자가 쉽게 조작할 수 있습니다. 상태를 조작하는 공격자의 비용이 획득한 APE 에어드롭의 보상보다 적으면 실제 공격 기회가 생성됩니다.


BlockSec
作者文库