You are viewing a single comment's thread from:

RE: ZPER 토큰 컨트렉트 코드 위험 - 후오비 SMT, BEC 해킹 사건

in #kr6 years ago

safeMath 를 안 썼고, 오버플로우 체크를 안 한 것이 핵심이죠.

그로 인해 연산 기능을 포함한 모든 함수의 오버플로우가 일어날 가능성이 있죠.

Sort:  

지금 저기있는 transfer함수에서 오버플로우가 어떻게 가능한지 설명 해주시겠어요?

98, 99 Line 참조하시면 될 듯 합니다.
transfer 를 콜하는 것이랑은 별 관련이 없어요.
기본적인 Smart-Contract Audit 과정도 없었던 것 같네요.

safeMath를 안 쓴 이유 설명해 주시겠어요??

    for(i = 0; i < _amount.length; i++)
        sum += _amount[i];

https://blog.matryx.ai/batch-overflow-bug-on-ethereum-erc20-token-contracts-and-safemath-f9ebcc137434

https://medium.com/@merunasgrincalaitis/how-to-audit-a-smart-contract-most-dangerous-attacks-in-solidity-ae402a7e7868

그 밑에서 transfer를 콜하고 transfer함수 안에서 balances값을 바꾸는데 왜 관련이 없죠? 세이프메쓰의 기능을 그냥 다른 코드에 넣으면 되는데 왜 굳이 그 라이브러리를 똑같이 가져다 써야하죠?