반응형

해킹 640

[HouseplantCTF] thedanzman - 리버싱 / Python / ROT13 / Base64

마지막 Python 리버싱 문제. 문제 설명을 읽어보면, EZ, PZ, LEMON, SQUEEZY 문제보다 훨씬 어렵게 만들어서 플래그를 절대 획득하지 못할것이라고 한다. (EZ : https://hackingstudypad.tistory.com/167) (PZ : https://hackingstudypad.tistory.com/169) (LEMON : https://hackingstudypad.tistory.com/171) (SQUEEZY : https://hackingstudypad.tistory.com/172) 하지만 역시나 차근차근 계산하면 충분히 풀 수 있는 문제이다. 주어지는 문제파일은 pass4.py 파일이다. 패턴은 이전 문제와 똑같다. IDLE을 이용해 py 파일을 실행시켜 보니 Ente..

CTF/리버싱 2022.06.17

[Root Me] ELF x86 - 0 protection - 리버싱 / IDA

Root Me에서 제공하는 첫번째 리버싱 문제 아무래도 첫번째 문제이기때문에 아주 쉽다.(배점도 5 point 밖에 안된다.) 제목도 참 정직하다. 문제파일로 ch1.bin 파일이 주어지는데 해당 파일을 HxD 프로그램을 이용해 열어보면 ELF 파일인것을 확인할 수 있다. 제목의 ELF 뒤에 오는 x86은 32bit 환경에서 동작하는 프로그램임을 알려주고, 0 protection은 말 그래도 아무런 보안조치도 되지 않은 프로그램 이라는 뜻이다. 리눅스 환경에서 file ch1.bin 명령어를 통해서도 확인할 수 있다. ELF 파일은 리눅스에서 실행 가능한 EXE 파일같은거라고 생각하면 된다. 실험삼아 ./ch1.bin 해서 프로그램을 실행시켜 봤다. Veuillez entrer le mot de pass..

워게임/Root Me 2022.06.16

[HouseplantCTF] SQUEEZY - 리버싱 / Python / Base64 / XOR

계속해서 이어지는 python 리버싱 문제 Ok this time, you aren't getting anywhere near anything 자꾸 쉬운 문제만 내면서 멘트는 엄청난 각오를 다지고 있는게 귀엽다. 주어지는 문제파일은 pass3.py 파일이다. 먼저 IDLE을 이용해 py파일을 한번 실행시켜 봤다. 역시나 이번에도 패턴은 똑같다. Enter the password: 라는 문구가 나오고, 123을 입력해봤더니 Incorrect password! 라는 문구가 나오면서 저번처럼 약올리는듯한 멘트를 출력한다. import base64 def checkpass(): userinput = input("Enter the password: ") key = "meownyameownyameownyameown..

CTF/리버싱 2022.06.15

[HouseplantCTF] LEMON - 리버싱 / Python

계속해서 이어지는 쉬운 파이썬 리버싱 문제 똑같은 패턴이다. 조금 더 secure한걸 만들었다고 한다. 하지만 역시나 아주 쉽게 플래그를 얻을 수 있다. 주어지는 문제파일은 pass2.py 파일이다. 먼저 IDLE을 이용해 py파일을 한번 실행시켜 봤다. Enter the password: 라는 문구가 나오고, 123을 입력해봤더니 Incorrect password! 라는 문구가 나온다. 그리고 나서 저번처럼 약올리는듯한 멘트를 출력한다. def checkpass(): userinput = input("Enter the password: ") if userinput[0:4] == "rtcp": if userinput[10:13] == "tHi": if userinput[22:25] == "cuR": if..

CTF/리버싱 2022.06.14

[HouseplantCTF] PZ - 리버싱 / Python

어려운 Java 리버싱 문제를 풀고 난 후 다시 머리를 식혀주는 쉬운 문제 문제 제목부터 PZ (EZ-PZ) 이다. (EZ : https://hackingstudypad.tistory.com/167) 문제 설명을 읽어보면 EZ 문제보다 조금 더 잘 만든거 같다고 아마 플래그를 얻지 못할것이라고 한다. 하지만 아주 쉽게 얻을 수 있다. EZ문제도 그렇고 이 문제도 그렇고 리버싱 이라기보다 그냥 틀린그림찾기 정도가 아닐까 싶다. 이번에도 역시 pass1.py 파일이 주어진다. IDLE을 이용해 py파일을 실행시켜 보았다. Enter the password: 라는 문구가 나오고, 123을 입력해봤더니 Incorrect password! 라는 문구가 나온다. 그다음 뭔가 은근 기분나쁜 느낌의 노래같은걸 출력한다..

CTF/리버싱 2022.06.12

[HouseplantCTF] Bendy - 리버싱 / Java

Java 리버싱 최종단계 문제 확실히 이전 두 문제(Fragile, Breakable) 보다 더 어렵다. 막 기술적으로 어렵다기보다 계산을 복잡하게 해서 머리가 아파진다. Fragile : https://hackingstudypad.tistory.com/163 Breakable : https://hackingstudypad.tistory.com/164 이번에도 역시 java 파일이 주어진다. import java.util.*; public class bendy { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); System.out.print("Enter flag: "); String userInput = ..

CTF/리버싱 2022.06.11

[HouseplantCTF] EZ - 리버싱 / Python / 주석

본격적으로 어려운 Java 리버싱 문제를 풀기 전 조금 머리를 식히는 느낌으로 나온 귀여운 문제이다. 사실 이 문제는 리버싱이라고 부르기도 좀 그렇다; 문제 설명을 읽어보면 password system을 만들어서 flag를 획득하지 못할 것이라고 한다. 문제 파일로 주어진건 pass0.py 파일이다. 시험삼아 윈도우 cmd창에서 해당 파일을 먼저 실행시켜 봤다. 그랬더니 무슨 사람 모양으로 특수문자들이 출력되는데, 맨 위쪽에 보면 플래그 같은것도 같이 출력되어 있다. rtcp{tH1s_i5_4_d3c0Y_fL4g_s0_DoNt_sUbm1T_1t!} 라고 적혀있는데 이걸 읽기 쉽게 다시 쓰자면 This is a decoy flag so Don't submit it! 이라고 적혀있는것이다. 한마디로 함정이다..

CTF/리버싱 2022.06.10

[Root Me] HTTP - Cookies - 웹해킹 / 쿠키변조

20점짜리 HTTP - Cookies 문제 난이도(레벨)을 보면 중간으로 표시되어있는데 사실 이 문제는 굉장히 쉬운 문제이다. Bob 이라는 사람이 사용자 이메일을 수집하기 위해 PHP 스크립트를 작성했다고 한다. 문제페이지에 접속하면 이렇게 Email을 입력하는 칸이 있다. 시험삼아 test@test.com 이라고 입력하고 send 버튼을 눌러보니 Email saved 라는 문구가 출력이됐다. Saved email adresses 버튼을 눌러보니 You need to be admin 이라는 문구가 출력됐다. 해당 내용은 admin만 확인이 가능한 것 같다. f12를 눌러 개발자 도구를 통해 HTML 내용을 살펴보니 중간에 주석으로 처리된 SetCookie("ch7", "visiteur"); 부분이 보였..

워게임/Root Me 2022.06.09

[Root Me] File upload - MIME type - 웹해킹 / WebShell

두번째 파일 업로드 취약점 문제 (지난문제 : https://hackingstudypad.tistory.com/153) 파일 업로드 취약점이란 인가 받지 않은 악성 파일을 공격자가 웹 서버에 업로드하여 시스템 권한을 획득할 수 있는 취약점을 말한다. 보통 웹쉘(WebShell)이라는 것을 만들어서 업로드를 하는데 웹쉘을 업로드하게 되면 웹 페이지를 통해 운영체제 명령어까지 입력할 수 있게 되기 때문에 아주 위험한 취약점이다. 보통 개발자들이 .asp, .php, .jsp 이런 확장자를 업도르 하지 못하게 막아놓는데, 그 이유가 저런 확장자들이 서버에 업로드 될 경우, 서버의 일부로 동작이 되면서 웹쉘로서 기능을 하기 때문이다. 이번 문제역시 저번처럼 php로 작성된 웹쉘을 업로드 하고, 서버 내부에 있는..

워게임/Root Me 2022.06.08

[HouseplantCTF] Breakable - 리버싱 / Java

두번째 리버싱 문제 어제 포스팅한 Fragile 문제보다 조금 더 어렵게 진화한 문제이다. Fragile : https://hackingstudypad.tistory.com/163 이번에도 역시 java 파일이 주어진다. import java.util.*; public class breakable { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); System.out.print("Enter flag: "); String userInput = scanner.next(); String input = userInput.substring("rtcp{".length(),userInput.length()-1); if..

CTF/리버싱 2022.06.07
반응형