[Dreamhack] CSP Bypass
문제 링크 https://dreamhack.io/wargame/challenges/435 문제 설명 Exercise: CSP Bypass에서 실습하는 문제입니다. 문제 분석 문제의 기본적인 구조는 이전에 풀었던 XSS Filtering Bypass와 동일하다. 하지만, 이러한 동작이 추가되었다. @app.after_request def add_he...
문제 링크 https://dreamhack.io/wargame/challenges/435 문제 설명 Exercise: CSP Bypass에서 실습하는 문제입니다. 문제 분석 문제의 기본적인 구조는 이전에 풀었던 XSS Filtering Bypass와 동일하다. 하지만, 이러한 동작이 추가되었다. @app.after_request def add_he...
문제 링크 https://dreamhack.io/wargame/challenges/436 문제 설명 Exercise: CSP Bypass에서 실습하는 문제입니다. 문제 분석 문제는 거의 이 문제와 같지만, /vuln 엔드포인트가 변경되었다. @app.route("/vuln") def vuln(): param = request.args.get...
winpwn은 PE 파일을 대상으로 유용한 기능들을 제공하는 파이썬 라이브러리이다. Linux Pwnable을 할 때 사용했던 pwntools와 거의 동일한 기능들을 제공한다. 실행 환경 Windows 11 Python 3.13.2 pip 24.3.1 설치 pip install winpwn pip install pefile pip install k...
/etc/apt/sources.list 파일을 수정하여 서버를 국내 서버로 설정하면, 더 빠르게 apt update, apt upgrade가 가능하다. # See sources.list(5) manpage for more information # Remember that CD-ROMs, DVDs and such are managed through th...
문제 링크 https://dreamhack.io/wargame/challenges/2103 문제 설명 You can board Dreamhack Express from platform 9½! 문제 분석 스택이 다음과 같은 구조를 가진다. // ... some local variables ... char *s[10]; char ...
문제 링크 https://dreamhack.io/wargame/challenges/1997 문제 설명 usually notes are stored in the heap, but this time it’s stored in the stack. 문제 분석 하나의 노트는 다음과 같은 구조를 가지며, main 함수의 스택 영역에 총 10개(0~9 인덱스)...
__printf_arginfo_table, __printf_function_table 조작을 통한 임의 코드 실행 연관 문제 Dreamhack wheat-and-barley 필요 조건 임의 주소 쓰기를 통해 libc의 __printf_arginfo_table, __printf_function_table을 덮어쓸 수 있어야 함. AAW 후 ...
문제 링크 https://dreamhack.io/wargame/challenges/2146 문제 설명 You reap what you sow. 문제 분석 stdout (_IO_2_1_stdout) 으로부터 최대 0x2000만큼 떨어진 위치에 총 2번의 임의 값 쓰기가 가능하다. stdout과 가까운 위치에 __printf_function_...
카테고리 Web 문제 분석 및 풀이 처음 접속하면 인증 코드를 입력해야 하는데, 웹 페이지의 주석을 보면 인증 코드의 sha256 해시 값이 적혀 있다. 이를 구글에 검색해보면 magic hash table에 등록되어 있는 값이므로, 이를 이용하면 인증 코드를 통과할 수 있다. 이후 pdf 파일을 업로드할 수 있는데, pdf 구조에 대한 검사와 확...
카테고리 Pwnable 문제 분석 및 풀이 서버에 처음 접속하면 회원가입 기능과 로그인 기능이 있는데, 회원가입 기능은 아래와 같다. unsigned __int64 SignUp() { ... printf("[*] New ID: "); fgets(s, 32, stdin); s[strcspn(s, "\n")] = 0; printf("[...