[pwnable.kr] random - 1pt

해킹대회 문제 풀이 연습장소

Moderator: amesianx

Post Reply
gee8195
Posts: 34
Joined: Thu Jul 21, 2016 5:12 pm

[pwnable.kr] random - 1pt

Post by gee8195 » Wed Sep 21, 2016 4:22 pm

1.png
1.png (15.52 KiB) Viewed 295 times
이번문제도 해당 호스트로 접속 해보겠습니다
2.png
2.png (22.34 KiB) Viewed 295 times
소스를 보면 변수 random에 랜덤수를 저장하고 key값을 입력받아 비트연산을 한뒤 그값이 0xdeadbeef값과 같으면 플래그를 출력하는 구조입니다.. 이번 문제는 gdb로 random 값을 조회한뒤 그 값과 0xdeadbeef 값을 비트 연산하면 key 값을 알 수 있을것 같습니다.
3.png
3.png (43.29 KiB) Viewed 295 times
일단 gdb로 열어서 봑인해보면 random의 위치는 rbp-0x4에 위치하고, key의 위치는 rbp-0x8에 위치하는걸 알수 있습니다.
random에 eax값을 넣는 것으로 보아 eax값이 랜덤값임을 알수 있습니다. main+21의 위치에 브레이크 포인트를 걸고
레지스터를 조회해서 eax 값을 확인해 보겠습니다.
4.png
4.png (9.22 KiB) Viewed 295 times
eax값이 1804289383인것을 확인 했으니 key 값을 알수 있습니다.
5.png
5.png (6.85 KiB) Viewed 295 times
해당 키값을 입력해 보겠습니다.
6.png
6.png (9.98 KiB) Viewed 295 times
인증 값이 나왔습니다.ㅎ

그리고 소스에서 출력함수를 넣어서 여러번 출력해보면 random값이 변하지 않고 같은 값이 계속 저장 되는 것을 확인할 수 있습니다.
7.png
7.png (26.34 KiB) Viewed 295 times
gdb에서 봤던 random값과 같은 값이 계속 출력되는것을 확인할 수 있습니다.

Post Reply

Who is online

Users browsing this forum: No registered users and 17 guests