풀이(6)
-
[CTF write up] WACON CTF 2022 Qual - babystack : Begginer's Real-World Challenge
https://irrlicht.sourceforge.io/forum/viewtopic.php?f=7&t=52785&sid=82d189da1e8d466aea667d5958334975 [fixed]Stack buffer overflow in MD2 Parser - Irrlicht Engine You discovered a bug in the engine, and you are sure that it is not a problem of your code? Just post it in here. Please read the bug posting guidelines first. procfs Posts: 2 Joined: Thu Dec 09, 2021 11:12 am Post by procfs » Sun Dec 1..
2022.06.26 -
[CTF write up] CyberApocalypse CTF 2022 - bon-nie-appetit : Overlapping Chunk
from pwn import * context.log_level = 'debug' def command_create(size,content): p.sendline(b'1') time.sleep(1) p.sendline(str(size).encode()) time.sleep(1) p.send(content) time.sleep(1) def command_show(index): p.sendline(b'2') time.sleep(1) p.sendline(str(index).encode()) time.sleep(1) def command_edit(index,content): p.sendline(b'3') time.sleep(1) p.sendline(str(index).encode()) time.sleep(1) ..
2022.05.19 -
[CTF write up] KAIST GoN CTF 2022 - NullNull : Null byte Poisoning to Stack Pivot (2022 Spring GoN Open Qual CTF)
scanf에서 마지막에 Null 바이트가 붙는 것 때문에 1바이트 오버플로우가 발생한다. 이걸로 SFP의 값 하위 1바이트를 0x00으로 바꾸어주면 RBP 값을 낮은 주소로 위조할 수 있다. 일반적으로 스택의 변수를 참조할때 RBP 값을 기준으로 참조하기 때문에 변수에 데이터를 쓰는 부분에서 더 낮은 스택 주소에 데이터를 쓸 수 있게 되고 결과적으로 RET를 오버라이트할 수 있다. 익스할 때 주의할 점이 좀 있는데 일단 RBP를 오프셋 기준으로 위조하는게 아니라 그냥 NULL 바이트로 오버라이트 하는 것이기 때문에 위조된 RBP의 주소는 랜덤하다. 그렇기 때문에 익스를 될 때까지 여러번 해줘야 한다. 그외에도 RET 부분에 ROP 체인을 쌓을 때 scanf를 이용해서 추가적인 stack pivot을 해줘..
2022.05.11 -
[CTF write up] WITHCON 2021 - chunk_manager : Unsorted bin leak (WhiteHatContest)
당시 솔버 수가 굉장히 적은 문제였던 걸로 기억하는데, 지금 풀어보니 말도 안되게 쉬운 문제였다.. 풀고 난 후 출제진 설명을 보니 AAW 취약점으로 breaking calloc 버그를 일으켜 메모리 주소를 유출하는 것이 의도된 풀이인 것으로 확인된다. 하지만 breaking calloc 트릭을 알지 못하더라도 unsorted bin의 특징을 알면 매우 쉽게 메모리를 유출 할 수 있다. 작은 크기의 청크 할당이 요청 될 경우 unsorted bin에 청크가 있을 때 해당 청크를 떼주게 된다. 따라서 큰 unsorted bin 크기의 청크를 해제하고 작은 크기의 청크를 할당하면 unsorted bin에 들어있는 프리 청크 바로 위에 요청한 청크가 할당된다. AAW로 내부 값을 전부 채워주면 unsorted..
2022.05.02 -
[침투 테스팅] HackTheBox - Horizontall : 웹 프레임워크 RCE 취약점 Exploit
Nmap 스캔 결과에서는 일단 특별한 점이 보이지 않는다. 웹 서버에 접속하려고 하면 이제까지 시스템과 다른 반응을 보여주는데 http://horizontall.htb 이라는 주소로 리다이렉트 시켜버린다. 해당 주소는 실제로 존재하지 않는 주소이기에 당연히 없는 주소라고 뜨고 제대로 된 분석을 할 수가 없게 된다. 이건 해당 시스템이 horizontall.htb 라는 주소를 이용할 것이라고 가정하고 코드가 짜여있어서 그런 것이니 그냥 hosts 파일을 수정하여 침투 테스팅 시스템의 IP와 해당 도메인을 연결시켜주면 된다. sudo vi /etc/hosts 위 명령어로 hosts 파일을 열어서 시스템의 IP와 도메인을 기록해주자. hosts 파일을 수정하고 웹 서버에 접속해보면 다행히 제대로된 웹 페이지가..
2022.01.14 -
[침투 테스팅] HackTheBox - Popcorn : Web Shell 업로드를 이용한 내부 침투
SSH 서버와 웹 서버가 열려있다. 이외에도 운영체제가 Ubuntu라는 것을 확인, 정확한 OS 정보는 웹 서버를 탐색하면서 더 자세히 얻을 수 있는 경우가 많다. Searchsploit을 통해 취약점을 검색해보았지만 별다른 내용을 확인할 수 없었다. 일단 대부분 Username Enumeration이라 지금 당장 큰 도움은 되지 않을 것 같고 중간에 있는 Command Execution 관련 취약점은 CVE도 안붙었고 자세한 내용을 찾을 수 없었다. 웹에서 취약점을 찾아보고 공격 벡터가 발견되지 않는다면 Command Execution 관련 취약점을 찾아보던가 Username Enumeration과 Brute Force를 연계한 공격을 시도하는 것으로 하고 일단은 넘어가자. 일단 기본 페이지에 아무것도..
2022.01.10