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 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..

2022 T3N4CI0US CTF Alegeria-BOF Write Up

한국시간 기준으로 2022.3.23 9:00부터 2022.3.25 9:00까지 진행될 2022 T3N4CI0US CTF에 참여했다. 홈페이지 문제로 무려 5시간이 연장되어 25일 14:00까지 진행됐다. 깔끔하게 밤새고 11시부터 금요일 수업을 들으려했으나, 야속하게도 14시까지 꼼짝못하고 컴퓨터 앞에 붙어있었다 ㅠ 각설하고, 가장먼저 요번 CTF의 유일한 Pwnable 문제였던 Algreria-BOF 문제를 풀어보았다. 매우매우 단순한 BOF 문제였다! 코드를 살펴보면 char v4[208] 버퍼에 gets로 길이 검증없이 값을 넣는다! 일단 BOF가 발생하는건 자명한데, RET를 어디로 옮기냐가 문제다. ? 이거 보고 띠용했다. 그냥 뭐 가지고 놀아보자. 아무런 보호기법이 없다. code = b"A"..

728x90