Shellcode 5

[THC CTF 2021] 내가 푼 문제들 풀이

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro Pwn Babyrop (94 point, 59 solves) rop ? rtl ? 대놓고 BOF가 터진다. secret_func에서 execve 함수를 사용해준다. 그래서 굳이 libc leak할 필요가 없다. 0x402204 + 22 = 0x40201a from pwn import * p = process('./babyrop') e = ELF('./babyrop') pop_rdi = 0x4012c3 pop_rsi_r15 = 0x4012c1 payload = '' payload += 'A' * 0x28 payload += p64(pop_rdi) payload += p64(0x40201a) # /bin/sh payload += p..

CTF/Write UPs 2021.06.17

[BCACTF 2.0 : binex] 내가 푼 문제들 풀이 (포넙 올클!) (예약글, 6/14 09:30 공개)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro BCA Mart 일정 금액의 money를 주고 그 money보다 많은 flag를 구매해야 하는 문제 이런 문제일 경우, 보통 음수로 입력하거나 int 최댓값 뭐 이런거 입력하면 바로 풀린다. amount 입력할 때 int 최대값 입력해서 내 money를 늘릴 수 있다. Honors ABCs 진심 이게 젤 어려웠음 ㅎㅎ; gets로 인한 BOF for문에서 response에 대한 값을 뭐 검증한 후, 밑의 if문 로직에서 grade 변수의 값에 따라 flag를 준다. 내가 한 삽질 처음에 BOF가 일어나서 grade 변수 부분의 값을 flag출력되는 조건에 맞게 변조시키려고 했으나, 내가 입력한 후 for문 안에서 grade 변수..

CTF/Write UPs 2021.06.14

[HackCTF : Pwnable] pzshell 풀이 (64bit, shellcode, shellcraft, orw, getdents)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro shellcode랑 친하지 않은 나2... 주어진 파일은 바이너리 파일과 c코드 Analysis mitigation 미티게이션...?은 아니지만 미티게이션 느낌이 나는 seccomp도 걸려있다 ㅠ_ㅠ execution 뭐 제대로 입력도 안했는데 세폴뜬다. 코드를 확인해보자. code 세콤이 걸려있다. 저 함수들은 쓰면 안된다. 바로 직전 문제 ezshell에서 사용했던 execve 함수는 사용하지 못한다... 그래서 open read write를 하기로 했다. 필터는 syscall만 걸려있는데, result 첫부분을 보면 syscall이 있다. 이 전의 ezshell문제처럼 syscall을 사용할 때 저기로 jmp를 해줘야 겠다..

WAR GAME/HackCTF 2021.04.30

[HackCTF : Pwnable] ezshell 풀이 (64bit, shellcode)

일문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro shellcode랑 친하지 않은 나... 주어진 파일은 바이너리 파일과 c코드 Analysis mitigation 풀렐로... execution null이요..? code 쉘코드를 제작해야하는 문제.. 저기 필터링이 보이는데 syscall을 의미하는 0f 05가 필터링 되어있다 ㅠ 3b는... 59번 execve 실행을 방지하는 걸로 보인다. b0은 분석할때는 몰랐고 문제 풀때 알게 되었는데 이걸 뜻한다. 저 구문을 왜 사용했냐면 필터링된 3b를 우회하기 위해 al에 3a를 옮겨놓고 inc하려고 했다 ㅎㅎ; 아무튼.. 내가 shellcode를 작성하면 result에 내가 작성한 shellcode를 옮겨 붙이고 result+2부..

WAR GAME/HackCTF 2021.04.30

[TAMUctf 2021 : Pwnable] Shellcode_Golf, Shellcode_Golf_2 풀이 (64bit, shellcode 제작, mmap, mprotect) (수정)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro 쉘코드랑 진짜 1도 안친해서 풀어보았다. 비슷한 문제라서 묶어서 풀이를 작성해본다.. Shellcode_Golf 문제 파일과 c코드를 같이 제공해 준다. mmap 함수는 메모리를 매핑시켜주는 함수이다. 12바이트만큼 권한을 0으로 설정해준다. 근데 이 권한이 만약 4라면..? (문제 푸는 것과는 관련이 없음ㅋㅋ) 더보기 더보기 rwx 중에 x권한이 있다는 것을 의미한다. 리눅스 권한과 반대인데.. 리눅스는 rwx이 421 순이지 않는가...? 얘는 124 순이다 ㅋㅋ; 그냥 tmi mprotect 함수는 원하는 코드 영역의 권한을 변경한다. 첫번째 인자인 shellcode는 0x1000의 주소여야 한다. 두번째 인자(12바이트)..

CTF/Write UPs 2021.04.26