CTF's Write-up(141)
-
DreamHack - cookie
보호되어 있는 글입니다.
2020.09.15 -
HACKCTF - SysROP
문제 자체에서 sysrop라고 알려주었으니 저쪽으로 방향 맞춰서 진행해보겠습니다. 먼저 실행해보면 입력받고 끝내네요.. ida로 확인해보면 read함수로 하나 입력받고, 바로 종료하는군요. 정말 건질 수 있는게 read함수밖에 없어보입니다. 문제 이름처럼 sysrop를 활용해서 문제를 풀어줬습니다. main함수에서 발생하는 BOF를 이용해서 sysrop를 해줘야겠네요. 1. bss
2020.09.15 -
HACKCTF - Unexploitable #1
문제화면입니다. 해당 문제를 실행시켜보면 출력하나시키고, 입력하다받고 끝나내요. 아마 입력부분이서 취약점이 존재할 것 같습니다. IDA를 통해 이 부분을 확인해보면 변수보다 fgets에서 읽어들이는 사이즈가 더 크니 BOF취약점이 발생하게 됩니다. 보호기법을 확인하면 leak한 후에 ROP를 통해 shell을 획득할 수도 있을 것 같은데. system가젯을 일부러 준 친절하신 출제자와, string부분을 보면 있는 fflush부분에서 sh부분만 추출 해 오면 되니 이 부분을 활용해주면 ex가 가능할 것 같습니다. payload는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 from pwn import * r = remote(..
2020.09.13 -
HACKCTF - ROP
해당 파일을 실행시켜보면 단순하게 hihi하나를 입력받고, "Hello, World!"을 출력시켜줍니다. 취약한 함수를 보면 read함수에서 bof가 일어나고, write함수도 있으니 문제 이름그대로 ROP를 이용해서 풀면 될 것 같습니다. ROP는 ROPASAROUXhttps://blog.pwnable.co.kr/266rop사우로드 문제에서 자세히 다뤘음으로 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 from pwn import * r = remote("ctf.j..
2020.09.13 -
[보호]HACKCTF - LOL
보호되어 있는 글입니다.
2020.09.09 -
HACKCTF - Random Key
random 이라는 elf파일을 줍니다. 해당 파일을 실행해보면 인증을 받고 맞는지 아닌지 확인하는 것 같습니다. ida로 까보면 랜덤으로 시드를 돌려서 v5 에 넣고, 사용자 입력값과 v5가 같는지 비교해서 이걸 맞춰주면 되겠네요. 그럼 같은 시점에 시드를 생성해주고 그 시드를 넘기면 되겠군요. 1 2 3 4 5 6 7 8 9 #include #include #include int main() { srand(time(0)); printf("%d\n", rand()); } cs 이렇게 c언어 하나 컴파일해주고 그대로 넘기면 flag를 획득할 수 있습니다.
2020.09.08