반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- ascii_easy
- 완전탐색
- exec
- Deadlock
- paging
- 구현
- 백준
- Brute Force
- 백트래킹
- 운영체제
- 김건우
- 프로세스
- segmentation
- higunnew
- 삼성기출
- samsung research
- BOJ
- 동기화문제
- 스케줄링
- 시뮬레이션
- 데드락
- Memory Management
- dfs
- 컴공복전
- fork
- 알고리즘
- 가상메모리
- 삼성리서치
- pwnable.kr
- BFS
Archives
- Today
- Total
gunnew의 잡설
pwnable.kr 6. random 본문
반응형
이번 챕터는 너무 쉽다. library에 있는 rand 함수의 취약점을 이용하는 건데, rand()는 진짜 random이 아니라 pseudo-random number이다. 그러니까 seed가 동일하다면, 동일한 random sequence를 내놓는다. 코드부터 보자.
random에 rand()를 호출하는데 seed는 0으로 언제나 똑같다. 그러면 seed가 0일 때 어떤 rand값을 산출하는지 확인해보면 1804289383으로 항상 같은 값을 산출하는 것을 볼 수 있다.
다시 코드로 돌아가서 random (XOR) key 가 0xdeadbeef가 되어야 한다. random은 1804289383으로 binary로
110 1011 1000 1011 0100 0101 0110 0111
이다.
그리고 0xdeadbeef는 binary로
101 1110 1010 1101 1011 1110 1110 1111
이다.
두 값을 XOR하면 다음 값이 나온다.
이제 입력으로 3039230856을 대입하면 끝!
반응형
'System Security' 카테고리의 다른 글
pwnable.kr 8. leg (ARM Assembly) (0) | 2020.02.12 |
---|---|
pwnable.kr 7. input (Various I/O in Linux) (0) | 2020.02.06 |
pwnable.kr 5. passcode (0) | 2020.02.04 |
pwnable.kr 4. flag (UPX unpacking problem) (0) | 2020.02.02 |
pwnable.kr 3. bof (Buffer overflow) (Stack smashing) (0) | 2020.02.02 |
Comments