본문 바로가기

Block Chain/Hack Series8

[Hack Series] 플래시론 공격에 의한 DKP 토큰 가격 조작 해킹 분석 안녕하세요. 스마트 컨트렉트 개발자 개발이 체질의 최원혁입니다. 2023년 2월 8일 BSC 체인의 DKP 토큰이 공격을 받았습니다. PancakeSwap에 유동성이 공급되있던 DKP 토큰은 공격자의 플래시론에 의해 가격이 조작되어, 공격자는 약 $80,000의 이익을 얻었습니다. 이번 Hack Series는 QuillAudits의 분석 보고를 참고하여 공격자의 공격 패턴과 방법에대해 알아보겠습니다. | 공격 시나리오 : 공격자 주소 :0xF38B677fa6E9E51338D0c32FD21afe43406E06Df 공격자 컨트렉트(1) : 0xf34ad6cea329f62f4516ffe00317ab09d934fba3 공격 자금 트랜잭션 :https://bscscan.com/tx/0x4e5b2b6e9f033e6.. 2023. 3. 24.
[Hack Series] 접근 제어 취약점 SwapX Protocol 해킹 분석 안녕하세요. 스마트 컨트렉트 개발자 개발이 체질의 최원혁입니다. 2023년 2월 27일 BSC 체인의 Dapp SwapX 프로토콜에서 해킹 공격으로 인해 약 100만달러의 손실을 입은 사건이 발생했습니다. 이번 Web3 Hack 시리즈는 공격자가 EVM기반의 Dapp SwapX 프로토콜의 어떤 취약점을 노렸는지, 해킹 공격에 대한 내용을 분석해보겠습니다. 공격 시나리오 : (1) 먼저 공격자는 PancakeSwap Router를 통해 0.0581BNB를 100만 DND 토큰으로 교환했습니다. 공격자의 PancakeSwap 트랜잭션(0.0581BNB -> 100M DND ): 0xf3a5d3 (2)이후 피해자는 SwapX의 0x4f1f05bc 함수를 반복하여 호출합니다. 이때 약 238개의 Token Tr.. 2023. 3. 16.
[Hack Series] 51% 공격이란? || 고아 블록 Orphan Blocks | 체인재구성 Chain Reorganization || 51% 공격 이란? 51% 공격은 단일 주체나 조직이 다수의 해시 파워를 제어하여 네트워크를 중단시킬 수 있는 공격입니다. 블록체인에 데이터를 저장하는 방식은, 채굴자라고 불리는 사람들이 저장시킬 데이터를 만들고, 다수가 데이터를 검증하여 문제가 없다고 판단이 되면, 해당 데이터를 블록체인에 저장합니다. 이때 만약 51%이상의 단일 주체 또는 조직이 본인들이 만든 변조된 데이터를 본인들이 검증한 후, 블록체인에 저장시킬 경우, 블록체인의 통제권을 갖게 되는 것입니다. 블록체인의 통제권을 갖게 되면 데이터 위변조뿐만 아니라, 트랜잭션의 일부를 승인하지 못하게 하고, 채굴작업의 보상을 독점할 수 있습니다. ※ 그러나 51% 공격 주체는 채굴 보상을 변경하거나 코인을 새롭게 생성하거나, 소유가 아닌 코인을 가.. 2023. 2. 25.
[Hack Series] 컨트렉트 주소를 지갑주소로 속이는 방법 || Solidity 0.8 | Zero Code Size || Web3 Hack Series : Fake Address( CA | EOA ) With Zero Code Size 안녕하세요. 스마트 컨트렉트 개발자 개발이 체질의 최원혁입니다. 이번 Web3 Hack 시리즈는 Smart Contract의 Zero Code Size를 이용하여 컨트렉트 주소(CA)를 지갑주소(EOA)로 속이는 방법에 대해 알아보겠습니다. Solidity에서 Smart Contract를 구현할 때, 지갑주소(EOA)와 컨트렉트 주소(CA)를 구분하여 로직은 구현하는 경우가 많습니다. 특히, 디파이(DeFi)의 플래시론(Flash Loan)을 구현할 때, 트랜잭션과 트랜잭션을 하나로 이어, 하나의 블록체인에 데이터를 저장시킬 때, 트리거를 지갑주소, 즉 사람이 직접 실행하게 구현할 때 사용되.. 2023. 1. 31.
[Ethernaut Challenge] Fallout 문제풀이 안녕하세요. 스마트컨트렉트 개발자 개발이 체질의 최원혁입니다. 오늘은 The Ethernaut 퀴즈 풀이 세 번째 "Fallout" 문제를 풀어보겠습니다. 🔎 이번 "Fallout"의 문제해석은 마지막 목차 (5)[문제해석]에서 다루겠습니다. (1) 베포 및 준비 먼저 페이지 하단에 [Get new instance]버튼을 눌러 해당 문제의 컨트렉트를 베포 합니다. 베포가 끝나면 F12(Chrom기준)을 눌러서 개발자모드를 실행시켜 주세요. 베포 된 컨트렉트의 주소를 확인할 수 있습니다. (1)사진처럼 Ethernaut에서 제공한 문제의 코드를 복사해서 (2)사진의 초록색 부분처럼 Remix에 붙여 넣습니다. (2)사진의 빨간색 부분처럼 환경설정(ENVIRONMENT)을 메타마스크로 바꿔줍니다. 베포 된 .. 2023. 1. 6.
[Hack Series] Smart Contract Phishing Attack with tx.origin || Solidity 0.8 | tx.origin || KR Web3 Hack Series : Phishing Attack with tx.origin 안녕하세요. 스마트 컨트렉트 개발자 개발이 체질의 최원혁입니다. 이번 Web3 Hack 시리즈는 tx.origin 함수를 이용한 스마트컨트렉트 피싱 공격에 대해 다뤄보겠습니다. 🔎 실습으로 다루는 Solidity 코드는 게시글 마지막에 github 링크를 참고해주세요. Smart Contract Phishing Attack 취약점 : tx.origin msg.sender VS tx.origin 스마트컨트렉트 개발자는 흔히 msg.sender 함수를 많이 사용할 겁니다. 하지만 tx.origin은 정말 옛날 Solidity 코드가 아니면 잘 볼 수 없습니다. 아래 예시를 통해 자세하게 알아보겠습니다. ContractA.. 2022. 12. 26.
[Hack Series] Front Running & Sandwich Attack || Block-Chain || KR Web3 Hack Series : Front Running And Sandwich Attack 안녕하세요. 스마트 컨트렉트 개발자 개발이 체질의 최원혁입니다. 이번 Web3 Hack 시리즈는 Front Running And Sandwich Attack에 대해 알아보겠습니다. 위 두가지 취약점은 트랜잭션이 블록체인에 추가되는 과정에서 나타나는 특징을 이용하여 공격자들이 이득을 취하는 공격 방법입니다. 주로 De-fi 프로토콜 및 플랫폼을 이용하는 사람들을 대상으로 공격되며 트랜잭션의 가스비 우선 선행과 채굴 시스템을 이용한 방식으로 진행됩니다. Tansaction이 블록체인에 추가되는 과정 Front Running와 Sandwich Attack는 트랜잭션이 블록체인에 추가되는 과정에서 나타나는 특징을 이용.. 2022. 12. 12.
[Hack Series] 블록체인 컨펌 이란? || Blockchain Security || 블록체인은 사용자들의 거래내역과 지갑 상태를 저장하는 거대한 데이터 장부입니다. 만약 A가 B에게 10ETH를 보냈다고 트랜잭션을 작성하게 되면 "A라는 사람이 B라는 사람에게 10 ETH를 보냈다"라는 거래내역과 "A 잔액 : 0 ETH , B 잔액 10 ETH"라는 지갑 상태를 블록에 저장하게 됩니다. 이때 블록이 체인에 연결되면, 저장된 데이터는 누구도 수정 할 수 없고, 다음 블록에도 저장되기 때문에, 데이터가 조작되고나 위조될 수 없습니다. 이 부분이 블록체인을 이용하는 가장 큰 이유이자, 가장 큰 장점입니다. 하지만 블록이 체인에 연결되더라도, 트랜잭션이 완전히 처리가 된 것은 아닙니다. 블록이 체인에 올라가더라도, 만약 체인이 두 갈래로 갈라진 상태로 블록이 추가가 되었다면, 체인 재구성이 .. 2022. 10. 29.
반응형