Yozzang의 해킹일기 💻
article thumbnail
FridaLab (Challenge 1)
Wargame/FridaLab 2022. 9. 25. 00:07

이번 포스트에서는 FridaLab의 Challenge 1 문제에 대해 다루겠다. 문제를 실행하면 다음과 같다. ## 문제 해석 : Challenge 1의 문제 코드는 다음과 같다. package uk.rossmarks.fridalab; /* loaded from: classes.dex */ public class challenge_01 { static int chall01; public static int getChall01Int() { return chall01; } } chall01의 값을 0이 아닌 다른 값으로 변경하면 되는 것으로 보인다. ## 문제 풀이 : 우선 우리가 삽입할 JS code를 실행해줄 JSInjector를 작성해보겠다. ### JSInjector : import frida,sys..

article thumbnail
Python Challenge (Level 24)
Wargame/Python Challenge 2022. 9. 24. 00:43

이번 포스트에서는 Python Challenge의 Level 24 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : 미로 사진이 출력되어 있다. 우선 해당 미로의 시작과 끝을 찾은 다음에 미로를 풀면 되는 것으로 보인다. ## 문제 풀이 : 우선 파이썬을 통해 미로의 시작점과 끝점을 알아내보겠다. ### 공격 코드 : from PIL import Image maze = Image.open("maze.png") w, h = maze.size for i in range(w): # Top line print(maze.getpixel((i, 0))) print("================= Top, Bottom 구별 선 =================") for i ..

article thumbnail
Lena Tutorial (Level 17)
Wargame/Lena Tutorial 2022. 9. 23. 00:30

이번 포스트에서는 레나 튜토리얼의 Level 17 문제에 대해 다루겠다. 문제를 실행하면 다음과 같다. ## 문제 해석 : 키를 점검하는 프로그램이다. 우리가 입력한 값의 대응키를 구하면 되는 것으로 보인다. ## 문제 풀이 : Ollydbg를 통해 해당 프로그램을 실행해보겠다. 우선 해당 프로그램에 아무 값이나 입력한 다음에 정지를 해보겠다. 그럼 위와 같이 오류창 하나가 뜬다. 이어서 Call stack 부분을 확인해보겠다. Call stack을 보면 위와 같이 오류 메시지 박스가 출력된 부분을 확인할 수 있다. 해당 부분에 들어가서 모든 References에 대해 BP를 걸어보겠다. 그런 다음에 재실행하면 아래와 같이 모든 MessageBoxA에 bp가 걸린 모습을 확인할 수 있다. 해당 코드의 윗..

article thumbnail
Python Challenge (Level 23)
Wargame/Python Challenge 2022. 9. 22. 00:38

이번 포스트에서는 Python Challenge의 Level 23 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : 소 사진이 출력되어 있다. 개발자 도구를 확인하면 다음과 같은 문장들을 볼 수 있다. TODO : 사과를 구해야 할 일이 있었나요? 지금이 바로 그 사람에게 사과를 할 좋은 시간이빈다. 이 레벨에서 할일이 딱히 없더라도 그사람에게 좋은 매너를 보여주세요. "this"는 문서화되지 않는 모듈이다. 'va gur snpr bs jung?' "this"라는 파이썬의 모듈을 확인하고, 세 번째 문장을 해석하면 될 것으로 보인다. ## 문제 풀이 : 우선 파이썬의 "this" 모듈을 확인해보겠다. ### 실행 결과 : this는 파이썬의 특수 모듈이다. 또한..

article thumbnail
Python Challenge (Level 22)
Wargame/Python Challenge 2022. 9. 21. 00:33

이번 포스트에서는 Python Challenge의 Level 22 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : 조이스틱 사진이 출력되어 있다. 개발자 도구를 열어보면 다음과 같다. "white.gif"가 존재한 것을 알 수 있다. 해당 GIF 파일을 다운로드 해보면 다음과 같다. GIF 파일을 밝기를 조절해보면 아래와 같이 여러 개의 점이 존재한다는 것을 알 수 있다. 해당 점들의 위치를 조사하고 이어보면 될 것 같다. ## 문제 풀이 : 우선 파이썬을 통해 해당 파일의 프레임들을 출력해보겠다. ### 공격 코드 : from PIL import Image with Image.open("white.gif") as gif: for f in range(gif.n_..

article thumbnail
Python Challenge (Level 21)
Wargame/Python Challenge 2022. 9. 20. 00:20

이번 포스트에서는 Python Challenge의 Level 21 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : 파일을 HexEditor로 실행하면 다음과 같다. 헤더의 시작부분은 78 9c이다. 이는 zlib의 확장자이므로 해당 파일을 확장자별로 압축 해제하면 되는 것으로 보인다. ## 문제 풀이 : 파이썬을 통해 해당 파일안의 모든 확장자를 하나씩 확인해보겠다. ### 공격 코드 : import zlib with open("package.pack", "rb") as f: data = f.read() while 1: try: data = zlib.decompress(data) print(data[0:2]) except: break ### 실행 결과 : x9c..

article thumbnail
Python Challenge (Level 20)
Wargame/Python Challenge 2022. 9. 19. 00:10

이번 포스트에서는 Python Challenge의 Level 20 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : "주의 깊게 살펴보는 것은 허용하다"는 말과 함께 경고판 사진이 출력되어 있다. 개발자 도구를 확인해보겠다. "unreal.jpg"말고 단서가 없다. 여기서 해당 사진의 헤더 부분을 확인해보면 다음과 같다. Response Headers가 존재한다. 또한 파일의 크기는 2123456789이지만 오직 0-30202만 제공된다는 것도 확인할 수 있다. 파일의 30203부터 확인해보면 될 것 같다. ## 문제 풀이 : 파이썬을 통해 30203부터의 데이터를 확인해보겠다. ### 공격 코드 : import re import urllib.request imp..

article thumbnail
Python Challenge (Level 19)
Wargame/Python Challenge 2022. 9. 18. 00:52

이번 포스트에서는 Python Challenge의 Level 19 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : 인도 사진이다. 개발자 도구를 확인해보면 아래와 같이 MIME 타입의 이메일이 보인다. 이메일 본문의 데이터를 이용하여 푸면 될 것으로 보인다. ## 문제 풀이 : 우선 데이터를 파일로 저장한 다음에 파이썬을 통해 indian.wav로 변경해보겠다. ### 공격 코드 : import base64 with open("level_19.txt", "r") as f: data = f.read() data = data.replace("\n", "") data = base64.b64decode(data) with open("indian.wav", "wb") a..

article thumbnail
Python Challenge (Level 18)
Wargame/Python Challenge 2022. 9. 17. 00:23

이번 포스트에서는 Python Challenge의 Level 18 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : 문제의 제목을 보면 "can you tell the difference?"라고 되어있다. 해당 사진의 차이는 바로 밝기(brightness)이다. brightness.html로 접속하면 진짜 문제가 보인다. ### 공격문 : http://www.pythonchallenge.com/pc/return/brightness.html ### 실행 결과 : 개발자 도구를 확인해보면 다음과 같이 deltas.gz라는 파일이 존재하는 것을 확인할 수 있다. 해당 파일을 다운로드해서 분석해보면 되는 것으로 보인다. ## 문제 풀이 : gz파일을 압축해제하면 다음과 ..

article thumbnail
Python Challenge (Level 17)
Wargame/Python Challenge 2022. 9. 16. 00:19

이번 포스트에서는 Python Challenge의 Level 17 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : 화면 좌측 하단에 보면 Level 4에 나왔던 사진이 다시 나온 것을 확인할 수 있다. Python Challenge (Level 4) 이번 포스트에서는 Python Challenge의 Level 4 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : 사진이 한 장 달려 있다. 사진을 클릭하면 다음과 같은 화면이 jy05un.tistory.com Level 4에 들어가서 쿠키를 확인해보면 다음과 같이 파라미터를 busynothing을 쓰라고 한다. 파라미터만 busynothing으로 바꾼 다음에 레벨 4와 같은..