CTF 33

Canary 우회 ( __fortify_fail() 및 환경변수env를 이용한 Arbitrary Read)

1. flag 값을 전역변수(주소를 알고있는) 에 저장하는 루틴이 있음 2. 주어진 함수나 ROP를 이용해 write할 수 있는 방법이 없음(출력 -> leak 불가) 3. __fortify_fail() 을 이용하여 환경변수에서 파일 이름을 가져오는 경우 사용할 수 있는 canary leak 방법이다. int __cdecl main(int argc, const char **argv, const char **envp) { char buf[256]; // [esp+4h] [ebp-10Ch] BYREF unsigned int canary; // [esp+104h] [ebp-Ch] canary = __readgsdword(0x14u); read_flag(); read(0, buf, 512); return 0; ..

CTF 2024.04.17

ModuleNotFoundError: No module named 'elftools.common.py3compat' 오류해결

문제점 pwntools 파이썬 라이브러리를 사용해서 익스코드를 열심히 짜보았으나 아래와 같은 오류가 발생했다. (2023.9 기준) pwntools 라이브러리에서 사용하는 elftools라는 라이브러리의 버전이 맞지않아 이를 찾을 수 없어 발생하는문제로 추측된다. ubuntu@ubuntu-2204:~/jun/hacktheworld/pwn$ python3 basic_bof.py Traceback (most recent call last): File "/home/ubuntu/jun/hacktheworld/pwn/basic_bof.py", line 1, in from pwn import * File "/usr/local/lib/python3.10/dist-packages/pwn/__init__.py", lin..

[CCE2022] byenance Pwnable Write-Up

https://www.cce.cstec.kr/ 2022 사이버공격방어대회 디지털플랫폼 시대 사이버위협 대응을 위한 범국가적 사이버안보 역량을 점검하고, 미래 사이버보안 인재양성과 대국민 사이버보안 인식제고를 위해 2022 사이버공격방어대회를 개최합니다. www.cce.cstec.kr 2022 cce의 byenance 문제이다. 바이낸스라는 가상 코인 거래소 프로그램을 해킹하는 재미있는 문제였다. 코인을 구매하거나 판매할 수 있는 기능이 있고 주문이 완료될때마다 해당 거래 내역을 기록해주는 기능이 있는 프로그램이었다. BOF도 발생하지 않아 초기에 취약점을 찾는데에 시간이 조금 걸렸지만.. 주문 횟수를 기록해주는 order_cnt 라는 변수가 있었고, 해당 변수를 이용해서 주문내역을 출력해주었다. ```c..

CTF 2022.09.24

Pwnable 문제를 풀기위한 CTF configuration 총정리

CTF에 출전하여 Pwnable 문제를 풀기위해서 반드시 필요한 도구들이 있다. 모든 도구들의 세팅방법들을 차근차근 정리해보려고 한다. 1. Pwntools & Pwndbg pwntools -> 익스플로잇 코드 개발을 위한 파이썬 라이브러리 pwndbg -> 리눅스 바이너리 분석을 위한 디버거 위 두개의 프로그램이 없으면 문제를 풀 수 없다. 시험을 보는데 펜이 없는 셈이다. 반드시 필요한 프로그램이므로 꼭 설치해주자. 아래 링크의 setup.sh을 통해 설치할 수 있다. https://github.com/junfuture1103/pwnable_conf/tree/main/Basic_configuration GitHub - junfuture1103/pwnable_conf: Configuration for ..

2022 T3N4CI0US CTF hell Write Up

Where is the place in the picture? Find the coordinates of the picture. flag format : BCTF{...} Link : https://bit.ly/3qrPJQq [Author] Dolpari 해당 사진의 좌표를 찾아보자. 구글 이미지 검색에는 잘 안나왔는데, 네이버 이미지 검색을 하니 Door to hell 이라 불리는 Darvaza gas crater 라는 장소임을 알게되었다. 이 링크에 완벽히 동일한 사진이 있었기 때문이다. 이에 구글 지도를 이용해 좌표를 찾으니 BCTF{40.253, 58.440}가 정답이었다.

2022 T3N4CI0US CTF osint-no3 Write Up

[osint] Turkey - OSINT NO.3 The best green juice!! Flag Format : BCTF{} Please mark the space as _ Author : Center https://bit.ly/3D84nRF 다음과 같은 제시문과 함께 사진을 한장 준다. 구글 이미지 검색을 해보니 다음과 같은 사이트를 발견할 수 있었고 커피나 음료수를 파는 매장인 것 같다는 느낌을 받았다. 요 마크에 집중해보니 요 매장이라는 것을 알 수 있었고, BCTF{Joe_&_The_Juice}같은 매장 이름자체는 플래그가 아니더라. 제시문이 best green juice여서 해당 매장에서 파는 초록색 주스 메뉴들을 입력해봤고 결국 정답은 아래에서 찾을 수 있었다. https://www.abo..

2022 T3N4CI0US CTF yemen Write Up

2022 T3N4CI0US CTF 문제의 misc-yemen 문제를 풀어보았다. You can solve the problem without exploits nc 34.125.129.166 10000 flag format : BCTF{()_FULLNAME} [Author] Dolpari nc 서버와 포트를 주고, 해당 주소에 nc로 접속해보면 다음과 같은 화면을 만들 수 있었다. 오잉 설마 포너블? 인가 싶었지만 pwntools interactive로 확인해보니까, 서버에서 돌아가는 서비스가 인풋을 받지를 않는다. (????) p = remote 로 연결하고 p.interactive()로 바로 붙어보니까, 바로 EOF를 만난다. pwntools interactive()에서 Got EOF while rea..