목록전체 글 (67)
R4mbb

문제를 보니 파일에서 플래그를 찾으라고 한다. 힌트는 파일의 헤더를 고쳐야한다고 한다. 일단 Hxd로 열어보자. Header Signature를 보니 뭔지 잘 모르겠다. file signature 모음은 (forensic-proof.com/archives/300) 여기서 확인해보자. Footer Signature를 확인 해보자. footer를 보니 png 파일의 footer signature 였다. 헤더를 수정하고 확장자를 바꾼 뒤에 실행해보자. 아직 실행되지 않는다. 자세히보니 png 파일 헤더 청크에 문제가 있어 보인다. png 파일 구조에 대해 알아보자. File Signature (8 byte) { Length (4 byte), Chunk Type (4 byte), Chunk Data (lengt..

금고문 문제가 또 나왔다. 소스를 분석해보자. import java.util.*; class VaultDoor3 { public static void main(String args[]) { VaultDoor3 vaultDoor = new VaultDoor3(); Scanner scanner = new Scanner(System.in); System.out.print("Enter vault password: "); String userInput = scanner.next(); String input = userInput.substring("picoCTF{".length(),userInput.length()-1); if (vaultDoor.checkPassword(input)) { System.out.pri..

문제를 보니 picobrowser로 플래그를 찾을 수 있다고 한다. 찾아보자. 플래그 버튼을 누르니 picobrowser가 아니라고 한다. burp suite를 사용해 picobrowser로 접속을 해보자. User-Agent를 picobrowser로 바꿔 주면 될 것 같다. 바꿔서 계속 Request를 보내보자. 플래그가 나왔다. 플래그는 picoCTF{p1c0_s3cr3t_ag3nt_e9b160d0} 이다.

문제를 보니 프로그램 출력을 유지하고 플래그를 검색하라고 한다. 힌트에는 파이프를 사용하라고 한다. 먼저 실행해보자. nc로 접속해보니 이상한 것들이 출력된다. 파이프로 플래그를 골라내보자. 플래그가 나왔다. 플래그는 picoCTF{digital_plumb3r_06e9d954} 이다.

문제를 보니 2진수 또는 16진수를 데이터 인코딩을 이해하라고 한다. 주소에 접속해보자. 45초 안에 2진수를 단어로 변환하라는 것 같다. python 코드를 짜서 변환해보자. import sys for i in "01101110 01110101 01110010 01110011 01100101".split(" "): sys.stdout.write(chr(int(i,2))) 실행을 해주자. nurse이 나왔다. 이번엔 8진수인 것 같다. 마찬가지로 python 코드로 변환해주자. import sys for i in "154 141 155 160".split(" "): sys.stdout.write(chr(int(i,8))) lamp가 나왔다. 16진수를 변환 해주자. import sys for i in "..

문제를 보니 그림에서 플래그를 찾으라고 한다. 한번 찾아보자. 아무것도 모르겠으니 Hxd로 열어보자. Header Signature와 Footer Signature가 맞는지 확인 해보니 footer쪽에 플래그가 있었다. 나는 이 문제를 풀 때 이 방법으로 플래그를 찾았지만 다른 Writeup을 보니 다른 풀이가 있었다. 그 풀이를 한번 해보자. wget 으로 문제의 png 파일을 다운받고 exiftool 패키지도 설치해준다. exiftool은 이미지, 오디오, 비디오등의 메타 데이터를 조작하기 위해 만들어진 툴이다. 사용해보자. 플래그를 찾았다. 플래그는 picoCTF{s0_m3ta_fec06741} 이다.