반응형
[collision]
소스코드를 보면
20바이트의 argv[1]을 주고 인자의 값과 hashcode(0x21DD09EC)를 맞게 하면 풀리는 문제이다.
여기서 check_password(){}함수에서 argv[1]을 가지고 장난을 친다.
argv[1]을 5번 더한 값을 반환해주는 함수이다.
인자를 포인터로 받아와서 4바이트 단위로 계산한다.
for문에서 5번 더하므로 hashcode / 5의 값을 넣어 주면 되는데
계산해보니 마지막에 4를 더해줘야한다.
0x6c5cec8 (113626824[16]) 4번과 0x6c5cecc 1번을 넣어주면 된다.
반응형
'Security > Pwnable' 카테고리의 다른 글
pwnable.kr [Toddler's Bottle]->[flag] (0) | 2021.08.11 |
---|---|
pwnable.kr [Toddler's Bottle]->[bof] (0) | 2021.08.11 |
pwnable.kr [Toddler's Bottle]->[fd] (0) | 2021.08.11 |
Fake EBP (0) | 2021.08.10 |
Frame Pointer Overwriting (0) | 2021.08.10 |