CTF's Write-up(141)
-
DreamHack - rev-basic-2
보호되어 있는 글입니다.
2021.01.12 -
HackCTF - World Best Encryption Tool
World Best Encryption Tool 문제입니다. 실행해보면 뭔가 암호화해서 출력해주는 프로그램 같습니다. nx와 카나리가 있네요. main함수를 보면 14번줄, 20번줄에서 bof가 발생합니다 17번째에서 src를 암호화 한 부분을 dest로 덮어씌우니 여기서 잘 활용하면 canary_leak이 가능할 거같네요. 그리고 Yes로 다시 메인으로 가서 libc_leak해서 oneshot으로 터트리면 될 것 같습니다. 페이로드는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 5..
2021.01.11 -
HackCTF - Register
이를 실행하면 문제 이름처럼 정말 정직하게 register을 받는다. main함수쪽을 보면 alarm으로 5초 후에 signal을 발생시킨다. signal이 발생할때 인자들은 system("/bin/sh") or execve("/bin/sh")형식으로 만들어 주면 shell을 획득할 수 있을 것이다. 즉 요약하면 sysrop인데 조금 편하게 풀 수 있는문제이다. 1. read systcall을 이용해서 bss 영역에 "/bin/sh"삽입 2. execve syscall 을 이용해서 bss를 인자로 전달 페이로드는 아래와 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 from pwn import ..
2021.01.10 -
HackCTF - RTC
return에서 read로 0x200을 읽기 때문에 bof가 터집니다. 간단히 보면 rop로 풀이가 가능할 것 같습니다. 하..지..만 read, write를 사용해서 rop를 하려면 pop rdi, pop rsi, pop rdx 가젯이 있어야하는데.. 가젯이 없으니 문제 이름과 같이 RTC를 사용해서 풀이해보겠습니다. 간략하게 정리하면 이 부분을 이용해서 가젯을 조작하고, 이 부분을 이용해서 함수를 호출하면 됩니다. payload는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51..
2021.01.08 -
DreamHack - simple-ssti
보호되어 있는 글입니다.
2021.01.04 -
DreamHack - web-misconf-1
보호되어 있는 글입니다.
2021.01.04