ROP(8)
-
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 - SysROP
문제 자체에서 sysrop라고 알려주었으니 저쪽으로 방향 맞춰서 진행해보겠습니다. 먼저 실행해보면 입력받고 끝내네요.. ida로 확인해보면 read함수로 하나 입력받고, 바로 종료하는군요. 정말 건질 수 있는게 read함수밖에 없어보입니다. 문제 이름처럼 sysrop를 활용해서 문제를 풀어줬습니다. main함수에서 발생하는 BOF를 이용해서 sysrop를 해줘야겠네요. 1. bss
2020.09.15 -
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 -
ROP 32bit vs 64bit
ROP할때 32bit : 함수호출 --> pr --> 인자 > p32(read_plt) + p32(pppr) + p32(0) +p32(bss) + p32(len(shell)) 64bit : pr --> 인자 --> 함수호출 > p64(pop_rdi) + p64(elf.got['puts']) + p64(elf.plt['puts']) 이런 식으로 이루어진다. 둘다 개념은 모두 똑같으니 ROP할때 필수적으로 알야아한다. 요즘 문서들의 중요성을 조금씩 느끼고 있다. 진짜 많이 읽어야지..
2020.07.29 -
ROP동아리 수업자료
TRUST 동아리 선배님들께서 대회 시상식에 가셔서 대신 수업을 진행하였다.주제는 ROP였다. 이해한지 얼마되지않은 기법이지만 그래도 수업진행하는데 문제는 없을정도로는 이해가 되었던 것 같다. 미숙한 디자인이지만 전통을 위해 흰색배경의 검정색 글씨로 디자인하였다.. (grin)
2018.08.20 -
[pico CTF 2013] rop2
pico CTF 2013 ROP2번문제입니다.보호기법 체크하기! IDA로 까서 취약점을 찾아보겠습니다. 이전문제하고 똑같은 취약점이군요 ㅎㅎ쉽게 풀릴 것 같아서 not_called함수로 들어가보겠습니다. 어라... "/bin/bash"가 아니라 "/bin/data"로 바뀌어있네요.당황 ㅋㅋㅋㅋ조금더 살펴보니 system함수를 내부에서 호출하니, system함수로 ret를 주고, 인자로 "/bin/sh"를 주면 될 것 같습니다. system주소 찾고, "/bin/bash"가젯 찾고, payload 작성하면? 1234567891011121314151617181920from pwn import * r = process("./rop2")system_plt = 0x80483a0shell = 0x08048610 p..
2018.08.16