반응형

워게임 270

[CTFlearn] Inj3ction Time - 웹해킹 / SQL Injection

CTFlearn의 서른 여섯번째 문제 사실 이 문제는 이전에 포스팅한 문제보다 훨씬 앞에 있는데 빼먹고 넘어가버려서 실제 CTFlearn에 있는 문제 순서와 포스팅 순서가 조금 다르게 되어버렸다. 오랜만에 만난 Hard 난이도의 문제이다. 점수는 무려 100점이다. 난이도와 점수때문에 조금 흠칫 할수도 있지만 이 문제는 SQL Injection의 정석같은 문제라 그렇게 어렵지 않게 풀 수 있다. 문제설명에서 문제 페이지 주소가 제공되고, 힌트로 UNION 이 도움이 될 거라고 알려주고 있다. 문제페이지에 접속하면 이런 화면이 나온다. Dog Viewer 라고 되어있고, ID를 입력할 수 있는 칸이 보인다. 아래쪽에 나오는 정보를 보니 강아지들 정보를 조회하는 기능인것 같다. 시험삼아 ID 입력창에 HEL..

워게임/CTFlearn 2022.11.13

[Root Me] APNG - Just A PNG - 포렌식 / 스테가노그래피

오랜만에 풀어본 Root Me의 스테가노그래피 문제 처음 보는 문제유형이라 신기했다. 문제 설명을 읽어보면 대학 동기가 애니메이션 안에 어떤 메세지를 숨겨놓았다고 적혀있다. 문제 제목은 APNG 인데 이게 아주 큰 힌트였다. 문제에서 주어지는것은 ch21.apng 파일이다. 문제 제목과 확장자가 일치하는게 뭔가 있는것 같다. 뭔가 특이한 점이 있나 살펴보기 위해 HxD로 해당 파일을 열어보았다. 맨 앞부분이 89 50 4E 47 0D 0A 1A 0A 로 시작하는것을 볼 수 있는데 모든 PNG 파일은 89 50 4E 47 0D 0A 1A 0A 로 시작한다. 이런걸 파일 시그니처 라고 하는데 아무 PNG 파일이나 골라서 HxD 프로그램으로 열어보면 이렇게 파일의 맨 앞에 똑같이 89 50 4E 47 0D 0..

워게임/Root Me 2022.11.11

[CTFlearn] Gobustme? - 웹해킹 / dirb / Python

CTFlearn의 서른다섯번째 문제 이번엔 easy 난이도의 웹해킹 문제이다. 문제 설명을 일어보면 ghost 들이 웹사이트를 만들었는데 숨겨진 장소가 있는것 같다고 한다. 아래쪽에 웹 페이지 주소가 적혀있다. 문제페이지에 접속하면 이런 화면이 나온다. ghost 들이 웹사이트에 침임해서 flag 를 어딘가에 숨겨놓았다고 적혀있다. 스크롤을 내려보면 아래쪽에 가사같은게 써있는데 마지막 줄에 보면 common wordlist 가 도움이 될거라고 적혀있다. common wordlist 를 눌러보면 이런 화면이 나온다. 웹 페이지를 구성할때 자주 쓰는 파일, 폴더명이 주욱 적혀있다. 이걸 주소창에 하나씩 대입해보면 실마리를 찾을 수 있을 것이다. 이번 문제처럼 URL에 무차별적으로 대입해서 웹 구조를 파악하는..

워게임/CTFlearn 2022.11.09

[HackTheBox] Gunship - 웹해킹 / Prototype Pollution / RCE

HackTheBox 에서 제공하는 very easy 난이도의 웹해킹 문제 프로토타입 폴루션과 관련된 문제인데 당시 프로토타입 폴루션이라는걸 처음 접해봐서 푸는데 시간이 좀 걸렸다. 사실 아직도 완벽하게 이해는 못했다. 문제페이지에 접속하면 이런 화면이 나온다. 레트로 감성 가득한 웹페이지에 Who's your favourite artist? 라는 문구와 함께 이름을 입력하는 창이 보인다. 찾아보니 Gunship 은 밴드의 이름이다. Alex Gingell, Dan Haigh, Alex Westaway 세 사람으로 이루어졌다고 한다. const path = require('path'); const express = require('express'); const pug = require('pug'); con..

[Root Me] NoSQL injection - Authentication - 웹해킹 / Python

NoSQL Injection 과 관련된 웹해킹 문제 NoSQL 이란 Not only SQL 의 약자로 SQL 만을 사용하지 않는 DBMS 를 말한다. 기존 관계형 데이터베이스 보다 덜 제한적인 특징을 가진다. 이번 문제의 목표는 NoSQL Injection 을 통해 숨겨진 USER 를 찾는 것이다. 문제 페이지에 접속하면 이런 로그인 창이 나온다. 시험삼아 ID 와 PW 에 hello / hello 라고 입력해봤다. Bad username or bad password 라는 문구가 출력된다. URL을 보니 입력한 ID 와 비밀번호를 GET 방식으로 서버에 전송하고 있다. ID 는 login 변수에, 비밀번호는 pass 변수에 담아서 넘긴다. https://github.com/swisskyrepo/Paylo..

워게임/Root Me 2022.11.05

[CTFlearn] Tux! - 포렌식 / HxD / Binwalk

CTFlearn의 서른네번째 문제 또다시 나온 그림파일 포렌식 문제이다. https://hackingstudypad.tistory.com/266 https://hackingstudypad.tistory.com/288 https://hackingstudypad.tistory.com/305 조금씩 다르긴 하지만 이전에 비슷한 문제를 많이 풀이했었다. 이번 문제는 쪼금 더 꼬아놓은 문제이다. 이게 주어진 Tux.jpg 파일이다. 귀어운 펭귄의 모습이 보이는데 얘는 턱스라고 부르는 리눅스 공식 마스코트 펭귄이다. HxD 프로그램을 이용해 Tux.jpg 파일을 열어보았다. 열자마자 바로 눈에 띄는 부분이 있는데, 두번째 줄부터 시작되는 ICAgICAgUGFzc3dvcmQ6IExpbnV4MTIzNDUK 라는 값이다..

워게임/CTFlearn 2022.11.02

[HackTheBox] baby CachedView - 웹해킹 / Flask

HackTheBox에서 제공하는 쉬운 난이도의 웹해킹 문제이다. 문제페이지에 처음 접속했을 때 화면이다. 토끼가 춤추고 있고, 아래에는 URL을 입력하는 창이 보인다. 시험삼아 네이버 주소를 입력해 봤더니 이렇게 아래쪽에 네이버 메인화면 스크린샷을 가져와서 표시해준다. 문제 제목 그대로 사용자가 입력한 URL에 방문해서 해당 페이지를 Caching 하는 기능의 웹페이지이다. 일단 주어진 문제파일을 통해서 flag 라는 사진파일이 서버 내에 있다는것을 알았다. @api.route('/cache', methods=['POST']) def cache(): print("Cache") if not request.is_json or 'url' not in request.json: return abort(400) r..

[CTFlearn] Chalkboard - 포렌식 / HxD / WolframAlpha

CTFlearn의 서른세번째 문제 이제부턴 풀이수가 3000대로 떨어졌다. 문제 자체는 어렵지 않은데 아마 여기까지 도전하는 사람이 없기 때문일것 같다. 이 문제는 새로운 유형이 아니다. https://hackingstudypad.tistory.com/266 https://hackingstudypad.tistory.com/288 기존에 포스팅했던 이 두 문제와 아주 유사하다. 거의 똑같다고 보면 된다. 문제 설명을 읽어보면, jpeg 파일에 포함된 방정식을 풀어서 플래그를 찾으라고 한다. 그리고선 math.jpg 파일이 제공되는데, math.jpg 파일을 열어보면 이런 사진이 들어있다. 복잡한 방정식이 보이는데 당연하지만 이걸 계산하는 문제는 아니다. HxD 라는 도구를 실행시켜, 문제파일을 드래그 앤 ..

워게임/CTFlearn 2022.10.27

[Root Me] PHP - Loose Comparison - 웹해킹 / MD5 Magic Hash

php의 약한 비교(Loose Comparison) 로 인해 발생하는 php magic hash 와 관련된 웹 해킹 문제이다. 문제 페이지에 접속하면 이런 화면이 나온다. seed 와 hash를 입력하는 칸이 있고, 옆에는 check 버튼이 있다. 뭔지 모르겠으니 일단 아래 source code 버튼을 눌러 소스코드를 확인해본다. source code 버튼을 누르면 이렇게 아래쪽에 소스코드가 출력된다. 이 부분부터 살펴본다. seed 에 입력한 값은 $s 에 저장되고, hash 에 입력한 값은 $h 에 저장된다. 각각의 변수에 저장되기 전에 sanitize_user_input 함수와 secured_hash_function 함수에 입력값을 먼저 넣어주는데, sanitize_user_input 함수는 정규식..

워게임/Root Me 2022.10.25

[CTFlearn] RSA Noob - 암호학

CTFlearn 의 서른두번째 문제 이번엔 암호학 문제이다. 문제 제목처럼 RSA 암호 알고리즘에 관한 문제인데 풀어보면 이게 무슨 RSA 문제인가.. 싶을정도로 황당하다. 문제에서 주어진 주소로 접속하면 텍스트 파일을 하나 받을 수 있다. e: 1 c:9327565722767258308650643213344542404592011161659991421 n: 245841236512478852752909734912575581815967630033049838269083 텍스트 파일의 내용은 위와 같다. 보통 CTF에서 n, e, c가 주어지면 RSA 문제라고 보면 된다. RSA는 지금까지도 아주 많이 사용하는 공개키 알고리즘의 이름이다. 개발자인 Rivest, Shamir, Adleman 세명의 이름 앞글자를..

워게임/CTFlearn 2022.10.23
반응형