본문 바로가기

전체 글317

Vyper Language Re-Entrancy 취약점 분석 (With Curve Pool Hacking) 기본 개념 EVM 단일 스레드 비동시 시스템으로, 블록체인에서의 제어 흐름은 일반적인 프로그램과는 달리 프로그램(ex: Smart Contract)이 다른 프로그램을 호출할 때마다 전체 제어 흐름이 호출된 프로그램으로 전달됩니다. Vyper Ehereum Virtual Machine(EVM)을 대상으로 한 Smart Contract 기반의 Pythonic한 프로그래밍 언어입니다. Re-Entrancy Attack 제어 흐름이 호출된 Smart Contract로 넘어가는 특성을 악용한 공격으로 제어 흐름이 넘어가는 함수에 반복적으로 재진입(ex : A -> B -> A ...)하여 상태가 업데이트 되기 전에 이전 상태를 악용(자산 탈취 등)할 수 있습니다. Re-Entrancy Attack 대응 방안 1... 2023. 8. 13.
[2020 Hitcon] Discover Vulnerabilities with CodeQL 번역 아래 내용은 2020년 Hitcon Conference 발표 자료를 번역하여 작성한 내용임을 밝힙니다. https://hitcon.org/2020/slides/Discover vulnerabilities with CodeQL.pdf https://hitcon.org/2020/agenda/46b26ca1-b4fc-461f-8ee3-b72a3aea7339/ CoeQL은 Variant Analysis를 지원하는 광범위한 라이브러리와 함께 제공되며, 여러 Langauge(C/C++, C#, Java, Javascript, Python ..)을 지원합니다. Static Analysis Data Flow Analysis Taint Anaylsis CFG Analysis Static Analysis Snapshot .. 2023. 7. 25.
Random Password Generator Online 비밀번호 생성기는 대문자, 소문자, 숫자, 특수문자(!, @, #, $)를 반드시 포함함 HTML 삽입 미리보기할 수 없는 소스 2023. 7. 23.
Truffle를 통한 Reentrancy Attack 실습해보기 먼저 Reentrancy Attack에 대한 내용이 궁금하신 분들은 아래 포스팅을 확인해주세요. Reentrancy Attack in Smart Contract Smart Contract는 블록체인 기술에서 중요한 개념 중 하나로, 계약 체결과 실행을 자동으로 수행할 수 있는 프로그램이며, 블록체인 기술을 활용하여 제 3자의 인증 기관 없이 개인 간 계약이 이루어 hacksms.tistory.com 참고로 Local 환경은 Truffle과 Ganache를 이용하여 구축하였습니다. 구축 방법은 아래 포스팅을 확인해주세요. Ethereum 로컬 개발 환경 구성하기 (with Smart Contract) 사실 Etehreum은 Test Nets이 있기 때문에 Remix와 같은 도구들을 통하여 Test Nets.. 2023. 7. 23.
Ethereum 로컬 개발 환경 구성하기 (with Smart Contract) 사실 Etehreum은 Test Nets이 있기 때문에 Remix와 같은 도구들을 통하여 Test Nets에 연결하여 쉽게 이용할 수 있습니다. 그러나 Test Nets은 아래와 같은 일부 단점들을 가지고 있어, 로컬에서 개발 환경이 필요한 경우가 점점 늘어나고 있습니다. 외부적으로 공개가 되어있어 Private하지 못함 Test Ether를 구하는 것이 점점 까다로워지고 있음 사용자가 많아짐에 따라 Transaction 처리 속도가 느려지고 있음 Ethereum 재단에서도 로컬에서 개발 환경을 구축할 수 있는 여러 Framework들을 안내해주고 있습니다. Home | ethereum.org Ethereum is a global, decentralized platform for money and new.. 2023. 7. 23.
stETH (Staked ETH) Ethereum이 2.0으로 업그레이드 되면서 Staking 서비스가 출시되었지만, 샤펠라(상하이+카펠라) 업그레이드가 되기 전까지는 Staking 된 ETH을 Unstaking 할 수 없었습니다. 뿐만 아니라 이 외에도 32ETH이라는 큰 액수로 Staking을 해야 됐다는 점(거래소에서 32ETH을 모아서 해주더라도) 등 여러가지 문제가 있었습니다. ※ 이더리움 샤펠라 업그레이드는 23년 4월 12일 성공적으로 수행되었음 이러한 상황에서 Lido 재단 측에서 스테이킹 진입 장벽을 낮추는 탈중앙화된 스테이킹 솔루션을 홍보하면서 나온 솔루션이 바로 Lido Ethereum Liquid Staking 입니다. 해당 스테이킹 솔루션에 ETH을 Staking 하면, ERC-20 Token을 보상으로 주는데요... 2023. 7. 15.
[The Big IAM Challenge] One final push One final push 문제 설명 Anonymous access no more. Let's see what can you do now. Now try it with the authenticated role: arn:aws:iam::092297851374:role/Cognito_s3accessAuth_Role IAM Policy { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-.. 2023. 7. 9.
[The Big IAM Challenge] Do I know you? Do I Know you? 문제 설명 We configured AWS Cognito as our main identity provider. Let's hope we didn't make any mistakes IAM Policy { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "mobileanalytics:PutEvents", "cognito-sync:*" ], "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource":.. 2023. 7. 9.
[The Big IAM Challenge] Admin only? Admin only? 문제 설명 We learned from our mistakes from the past. Now our bucket only allows access to one specific admin user. Or does it? IAM Policy { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::thebigiamchallenge-admin-storage-abf1321/*" }, { "Effect": "Allow", "Principal": "*", "Action": "s3:ListBucket", "Reso.. 2023. 7. 9.