🦖Random - TFCCTF 2023

Overview:

1 mô típ chung để làm những bài kiểu srand(time(0)) --> rand(). Đó là: Tạo 1 file mimic lại file source như ví dụ sau:

Analysis

Có file source như sau:

Nhìn qua thì biết luôn là phải pass 10 condition để lấy được win.

Ta mimic qua file c được code sau:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
	setbuf(stdout, NULL);
	srand(time(0));
	for(int i = 0; i < 10; i++)
	{
		printf("%d\n", rand());
	}

}

Biên dịch và chạy nó, kết quả sẽ là các seek được gieo theo thời gian thực:

Và tôi sẽ dùng process để lấy được đống dữ liệu này và gửi nó lên server:

from pwn import *

elf = ELF("./random")

r = remote("challs.tfcctf.com", 32345)
payload = process("./mimic").read()
print(payload)
r.sendline(payload)
r.interactive()

Last updated