Voldemort concealed his splitted soul inside 7 horcruxes.Find all horcruxes, and ROP it!author: jiwon choissh horcruxes@pwnable.kr -p2222 (pw:guest)Bugropme()의 gets(s)에서 stack buffer overflow가 발생한다.Exploitropme()의 return address를 플래그를 읽어와서 출력하는 코드의 주소로 덮으면 될 것 같지만, 주소에 0x0a가 포함되기 때문에 불가능하다. 대신 A()부터 G()까지 모두 호출하여 a부터 g까지의 값을 알아낸 후 sum을 알맞게 입력하면 플래그를 획득할 수 있다.# ex.pyfrom pwn import *r = remote("p..
Sometimes, pwnable is strange...hint: if this challenge is hard, you are a skilled player.ssh blukat@pwnable.kr -p2222 (pw: guest)서버에 접속해 보면 blukat_pwn group에 속해 있고, password 파일은 group에 읽기 권한이 있다. 그래서 그냥 password 파일을 읽을 수 있다.파일 내용은 낚시다.
Daddy! how can I exploit unlink corruption?ssh unlink@pwnable.kr -p2222 (pw: guest)Bug/* unlink.c */int main(int argc, char* argv[]){ malloc(1024); OBJ* A = (OBJ*)malloc(sizeof(OBJ)); OBJ* B = (OBJ*)malloc(sizeof(OBJ)); OBJ* C = (OBJ*)malloc(sizeof(OBJ)); // double linked list: A B C A->fd = B; B->bk = A; B->fd = C; C->bk = B; printf("here is stack address leak: %..
Mommy! I think I know how to make shellcodesssh asm@pwnable.kr -p2222 (pw: guest)Analysis/* asm.c */void sandbox(){ scmp_filter_ctx ctx = seccomp_init(SCMP_ACT_KILL); if (ctx == NULL) { printf("seccomp error\n"); exit(0); } seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(open), 0); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(read), 0); seccomp_rule_add(ctx, SCMP..
Are you tired of hacking?, take some rest here.Just help me out with my small experiment regarding memcpy performance.after that, flag is yours.http://pwnable.kr/bin/memcpy.cssh memcpy@pwnable.kr -p2222 (pw:guest)Analysis/* memcpy.c */char* fast_memcpy(char* dest, const char* src, size_t len){ size_t i; // 64-byte block fast copy if(len >= 64){ i = len / 64; len &= (64-1);..
'Wargame/pwnable.kr' 카테고리의 글 목록 (2 Page)