rand()함수와 srand()함수의 차이점을 알면 풀 수 있다.
rand()함수는 한번 실행되면 값이 고정돼서 변하지 않는다.
gdb로 뜯어서 key값에 저장된 난수 값을 확인하면 쉽게 풀 수 있다.
255는 16진수로 ff이다.
ff 좌우에 0x00007ffd와 0x6b8b4567이 있다.
0x00007ffd는 다시 실행해보니 값이 바뀌었으므로 key값은 0x6b8b4567이다.
입력과 key를 xor 했을 때 0xdeadbeef가 나와야 되므로
입력은 0xdeadbeef에 key를 xor한 값이다.
exploit code
'정보보안 > pwnable.kr' 카테고리의 다른 글
[pwnable.kr] mistake (0) | 2018.11.08 |
---|---|
[pwnable.kr] leg (0) | 2018.11.08 |
[pwnable.kr] input (0) | 2018.11.08 |
[pwnable.kr] passcode (0) | 2018.11.08 |
[pwnable.kr] echo1 (0) | 2018.11.05 |