[Smart Contract 취약점] 초기 진입자가 다른 유저의 자금 탈취가 가능한 경우
2022. 8. 2. 22:54
Security/Smart Contract
개요 꽤 잦은 빈도로 보이는 유형의 취약점이다. 주로 DEFI 프로젝트에서 발견되고 정확히 어떻게 피해가 발생되고 원인은 무엇인지 알고 테스트를 통해 실제 공격은 어떻게 이루어지는지 알아보고자 한다. 문제의 식 여러 DEFI 프로젝트를 보다보니 staking 토큰을 분배하는 식이 아래와 같이 설정되어있는 경우가 많았다. DEFI의 LP 토큰을 분배하는 데에도 사용된다. (Uniswap v1에서 사용되었다.) 앞전에 분석했던 인절미의 경우도 해당 식을 사용하고 있다. 해당 식을 분석해보자. PENG 토큰이 있고 해당 토큰을 스테이킹하면 그 지분을 증명하는 뜻으로 sPENG이 발행된다고 가정해보자. 그렇다면 PENG 토큰을 스테이킹 했을 때 받을 수 있는 sPENG의 계산은 이렇다. 스테이킹 할 PENG 수..
[버그바운티 write-ups] GitLab Path Traversal 취약점
2020. 5. 7. 19:04
Security/Web
원문 : https://hackerone.com/reports/827052 GitLab에서 발견된 Path Traversal 취약점으로 무려 $20,000의 바운티를 받은 보고서입니다. 취약점 및 방법 이처럼 issue를 새로 생성할 때 Description에 Markdown으로 작성할 수 있습니다. 이때 ![file](./filepath) 형식으로 파일에 대한 링크를 삽입할 수 있습니다. 아래에는 filepath로부터 파일을 가져오는 부분의 소스코드입니다. @text.gsub(@pattern) do |markdown| file = find_file(@source_project, $~[:secret], $~[:file]) break markdown unless file.try(:exists?) klass..