728x90
반응형
[dreamhack] fho
·
dreamhack
배경 개념c 언어에서 메모리의 동적 할당과 해제를 담당하는 함수에는 malloc, free, realloc 등이 있다. 이 함수들은 libc.so에 구현되어 있다. libc에는 이 함수들의 디버깅 편의를 위해 훅 변수가 정의되어 있다. malloc 함수는 __malloc_hook을, free 함수는 __free_hook, realloc 함수는 __realloc_hook이라는 훅 변수를 사용한다. 이 함수들은 libc.so의 bss 및 data 섹션에 포함된다. bss, data 섹션은 쓰기가 가능하므로, 실행 중에 조작이 가능하다.훅을 실행할 때 기존 함수에 전달한 인자를 그대로 전달해주기 때문에  __malloc_hook을 system 함수의 주소로 덮고, malloc("/bin/sh")를 호출해서 쉘..
[dreamhack] shell_basic
·
dreamhack/pwnable
문제문제 파일에는 shell_basic ELF 파일과 shell_basic.c가 들어있다.// Compile: gcc -o shell_basic shell_basic.c -lseccomp// apt install seccomp libseccomp-dev #include #include #include #include #include #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1);} void init() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_hand..
[dreamhack] 40 Birthdays
·
dreamhack/crypto
문제https://dreamhack.io/wargame/challenges/1124 40 Birthdays생일이 같은 두 친구를 찾아주세요! Exploit Tech: Birthday paradox에서 함께 실습하는 문제입니다.dreamhack.io문제 파일로 chall.py가 주어진다.import hashlibdef birthday_hash(msg): return hashlib.sha256(msg).digest()[12:17]msg1 = bytes.fromhex(input("Input message 1 in hex: "))msg2 = bytes.fromhex(input("Input message 2 in hex: "))if msg1 == msg2: print("Those two messages..
[dreamhack] Double DES
·
dreamhack/crypto
문제https://dreamhack.io/wargame/challenges/1118  Double DES4바이트 전수 조사 쯤이야 간단하죠! Exploit Tech: Meet in the middle attack에서 함께 실습하는 문제입니다.dreamhack.io문제 파일로 prob.py가 주어진다.#!/usr/bin/env python3from Crypto.Cipher import DESimport signalimport osif __name__ == "__main__": signal.alarm(15) with open("flag", "rb") as f: flag = f.read() key = b'Dream_' + os.urandom(4) + b'Hacker' ..
728x90
반응형
의지박약인간
'dreamhack' 카테고리의 글 목록