no image
Old - 27 (score:150)
문제를 들어가보니 SQL Injection 문제입니다 :D 소스를 볼 수 있으니 봅시다! 소스코드를 보니 필터링, 쿼리가 보입니다! 문제를 풀려면 id를 admin으로 해야하는데 admin의 no는 2라고 명시되어 있네용 :D 그럼 쿼리를 어떻게 넣어줄지 생각을 해봅시다! where id='guest' and no=(0) or no=2 이렇게 만들어주면 되지 않을까 싶습니다! 이렇게하면 앞의 id와 no는 거짓이 되고 뒤의 no=2는 참이기 때문에 admin으로 접속할 수 있을 것입니다 :D 그러나 " "이랑 "="는 필터링이 되어 있는것을 확인할 수 있습니다 :D " "을 우회할 수 있는 방법은 %09, %0a, %0d 등등 있습니다! 여기선 %09를 사용하겠습니다 ㅎㅎㅎ "="을 우회할 수 있는 방법..
2020.03.28
no image
Basic RCE L14
문제를 봅시다 :D 뭔지는 모르겠지만 이름이 "CodeEngn"일때 Serial을 구하라고 합니다! 답은 여러개가 될 수 있으며 숫자로 되어 있는 정답을 찾으라고 하네요 ㅇㅅㅇ bruteforce가 필요..=_=? 일단 분석을 시작해 봅시다! 프로그램이 UPX 패킹되어 있더라구요! 편의상 언패킹하고 시작하도록 하겠습니다 :D 언패킹 완료! 이쯤이면 너무 많이해서 이제 자연스럽게 흘러가야겠죠..~_~ EP입니다! 크게 특별한게 눈에 띄지는 않네요! 문자열 검색을 통해서 찾아보았습니다 :D 문자열을 검색해서 찾아보았습니다! 바로 나오더라구용 :D 40133C의 분기를 통해서 성공과 실패 메시지박스가 실행이되는군요..! 실행 시켜볼까용 ! 프로그램에서 두 개의 입력칸과 CHECK, ABOUT 버튼이 있습니다 ..
2020.03.28
no image
Misc - QRCODE
QRCode답게 QRCode가 나옵니다 :D 한번 스캔 해볼려고 했는데 스캔이 안되더라구요..! 그래서 QRCode를 분석할 수 있는 방법이 있나 열심히 검색해 보았습니다..! 위의 사진은 QRCode의 원리인데 문제로 받았던 지금 보시면 QRCode에서 뭔가 다른점을 찾으셨나요 :D ? 바로 큰 사각형 안에 검은색으로 채워져있어야하는데 비워져있습니다! 그래서 저는 그림판으로 열어서 색을 넣어줬습니다! 쨘! 이렇게 채워주고 휴대폰으로 QRCode 인식을 다시 해보았습니다 :D 오우! Flag가 뜨네용 :D!!! 그럼 이만 문제풀이를 마치겠습니다 ㅎㅎㅎㅎ
2020.03.28
no image
Misc - Who am I ?
문제를 보니 다른거 없이 퀴즈가 나옵니다 :D x86 Instruction 회사에서 EIP를 터트려 주는 역할이라... 그게 누굴까요..? 일단 EIP가 무엇인지부터 알아야겠죠 ! EIP란? 다음 실행 주소를 나타내는 레지스터입니다 :D 그럼 이런 EIP를 터트려주는 놈은 무엇일까..? 제가 공부하던 교재에서 무언가를 찾을 수 있었습니다! "RET는 단순히 스택의 상단에 저장된 주소를 EIP로 pop하고 컨트롤을 전송한다" 라고 언급하고 있네요! 그래서 저는 ret이 아닐까 생각을 해보았습니다 :D 그래서 인증을 해보니 정답이라고 하네용! 앞으로 리버싱에 관련된 포스팅을 계속해볼려고 합니다! 여기서는 간단하게 문제풀이만 포스팅 하였습니다 :D
2020.03.26
no image
Old - 19 (score:150)
문제로 들어가보니 id를 제출하라는게 나옵니다! default로 admin이 들어가있어서 제출해보았습니다 :D 으아..? admin이 아니라고 하면서 다시 제출하게 되더라구요! 그래서 임의로 test를 입력하여 제출 했는데 로그인이 되었습니다! logout해도 먹히지가 않더라구요... :( 그리고 소스코드를 보아도 특별한게 보이지 않았습니다 =_= 그래서 쿠키값을 보았는데 기존에 없던 userid가 생성이 되었습니다! 알수없는 문자열이 나열이 되어있습니다! 맨뒤에 보니 %3D가 있는데 URL 인코딩 된것으로써 원래는 "=" 입니다 :D 그럼 맨마지막에 =가 들어가는 암호화는 base64이죠 ! 그래서 Decoding을 해보았습니다 :D 디코딩을 해보니 되는것으로 확인이 됩니다! 그래서 한번더 해보았습니다..
2020.03.22
no image
Basic RCE L13
문제가 정답을 맞추라는 것 같네요 :D 다운받아 실행해보니 어떤 패스워드를 맞춰야하나 봅니다! 그럼 Ollydbg로 열어보도록 하겠습니다 :D 잉!? 열리지 않네요..!!! 파일 형식을 보도록합시다! C#으로 만들어진 프로그램이었군요.. C#으로 만들어진 파일은 닷넷 프레임워크가 없는 환경에서는 분석할 수 없기 때문이죠 :D 닷넷 프레임워크란 ? (.NET Framework) MS에서 개발한 Window 프로그램 개발 및 실행환경을 의미합니다. C#, C++, F# 등 여러가지 존재하는데 이중에서도 C#이 대표적이라고 할 정도로 닷넷이 없으면 안되는 존재이죠 :D 그럼 닷넷을 분석할수 있는 프로그램인 ".NET reflector"를 사용해 보겠습니다! 다행히 소스코드가 전부 보이는군요 :D 소스코드를 가..
2020.03.22
no image
Misc - BF
BF 문제를 보니 이상한 글이 있습니다 ! 보니까 -,[,],+, 로만 구성이 되어있네요... 그래서 한참 검색을 해봤는데 브레인퍽(?)이라는 난해한 프로그래밍 언어라는군요..! 그리고 알고보니 문제이름부터 힌트였어요.. BF(Brain F**k).. ↓브레인퍽에 대한 자세한 설명은 밑의 사이트를 참조해주세용 :D https://ko.wikipedia.org/wiki/%EB%B8%8C%EB%A0%88%EC%9D%B8%ED%8D%BD 브레인퍽 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 브레인퍽(Brainfuck)은 우어반 뮐러(Urban Müller)가 1993년 경에 만든 최소주의 컴퓨터 프로그래밍 언어이다. 이름에 포함된 fuck이 욕설이기 때문에, 정중한 표현을 위해서 때때..
2020.03.20
no image
Misc - Baseball Price
문제를 보니 nc를 이용해 접속해야하는 것 같습니다 :ㅇ 접속하여보니 갑자기 문제가 나옵니다! 풀어주도록 하겠습니다 ㅎㅎㅎ 문제를 푸니.. 바로 Flag가 출력이 되네요! 음..! 이만 문제풀이였습니다 :D
2020.03.08

Old 27번 문제

문제를 들어가보니 SQL Injection 문제입니다 :D

소스를 볼 수 있으니 봅시다!

source code

소스코드를 보니 필터링, 쿼리가 보입니다!

문제를 풀려면 id를 admin으로 해야하는데 admin의 no는 2라고 명시되어 있네용 :D

 

그럼 쿼리를 어떻게 넣어줄지 생각을 해봅시다!

where id='guest' and no=(0) or no=2 이렇게 만들어주면 되지 않을까 싶습니다!

이렇게하면 앞의 id와 no는 거짓이 되고 뒤의 no=2는 참이기 때문에 admin으로 접속할 수 있을 것입니다 :D

 

그러나 " "이랑 "="는 필터링이 되어 있는것을 확인할 수 있습니다 :D

" "을 우회할 수 있는 방법은 %09, %0a, %0d 등등 있습니다! 여기선 %09를 사용하겠습니다 ㅎㅎㅎ

"="을 우회할 수 있는 방법은 like, in, instr 등등 있습니다! 간단하게 like를 사용하겠습니다 ㅎㅎㅎ

 

그럼 최종적으로 어떻게 될까요?

no = 0)%09or%09no%09like%092;%00

쿼리 뒤의 ) 때문에 주석처리를 해주어야합니다! 그래서 ;%00를 넣어서 주석처리를 해주는 방법을 선택했습니다 :D

 

또 다른방법은 no = 0)%09or%09no%09like%092--%09

--%09 또한 주석처리를 하는것이지요 :D

그리고 %09를 붙인 이유는 --뒤에 반드시 한칸의 공백을 넣어줘야 된다고 하네요..!

그래서 trim 함수나 직접 공백을 필터하는 경우에는 "#"를 사용한답니다 :D

풀이 성공!

 

이렇게 문제풀이를 마치도록 하겠습니다 :D

'CTF > Webhacking.kr' 카테고리의 다른 글

Old - 1 (score:200)  (0) 2020.04.02
Old - 47 (score:150)  (0) 2020.03.31
Old - 19 (score:150)  (0) 2020.03.22
Old - 58 (score:150)  (0) 2020.03.06
Old - 32 (score:150)  (0) 2020.03.05

Basic RCE L14

HelloMG
|2020. 3. 28. 23:17

Basic RCE L14 문제

문제를 봅시다 :D

뭔지는 모르겠지만 이름이 "CodeEngn"일때 Serial을 구하라고 합니다!

답은 여러개가 될 수 있으며 숫자로 되어 있는 정답을 찾으라고 하네요 ㅇㅅㅇ

bruteforce가 필요..=_=?

일단 분석을 시작해 봅시다!

UPX 패킹

프로그램이 UPX 패킹되어 있더라구요!

편의상 언패킹하고 시작하도록 하겠습니다 :D

UPX 언패킹

언패킹 완료!

이쯤이면 너무 많이해서 이제 자연스럽게 흘러가야겠죠..~_~

EP

EP입니다!

크게 특별한게 눈에 띄지는 않네요!

 

문자열 검색을 통해서 찾아보았습니다 :D

분기점

문자열을 검색해서 찾아보았습니다!

바로 나오더라구용 :D

 

40133C의 분기를 통해서 성공과 실패 메시지박스가 실행이되는군요..!

실행 시켜볼까용 !

프로그램 실행

프로그램에서 두 개의 입력칸과 CHECK, ABOUT 버튼이 있습니다 :D

그래서 저는 직감적으로 위의 칸이 Name, 아래의 칸이 Serial이라고 생각하고 입력했습니다 :D

 

Name -> CodeEngn

Serial -> 123

검색

40132F주소에서 Serial인 "123"이 들어가고

401334주소에서 CALL함수가 실행되니 반환값(EAX)으로 "7B"를 내뱉는군요!

 

그리고 ESI와 비교를하는데 ESI는 "129A1"을 가지고 있습니다 :D

느낌이 오시나용 ㅇㅅㅇ?

7B

7B는 바로 10진수 123의 16진수 값입니다!

 

그럼 "129A1"의 값을 EAX에 저장시켜야 조건문이 일치하니까

Serial값은 당연히 16진수 129A1의 10진수 값이 되겠네요 :D

129A1

이렇게 계산기를 통해서 "76193"이란 값을 알아냅니다!

76193 체크!

그리고 예상대로 EAX와 ESI 레지스터가 같은 값을 가지게 되는군요 :D

Good Job, I Wish You the Very Best

기분 좋은 칭찬의 메시지 박스를 띄웠습니다 ~_~

 

BruteForce가 필요하다고 했는데.. 왜 필요한지는 잘 모르겠네요..!

 

이렇게 문제풀이를 마치도록 하겠습니다 :D

'CTF > CodeEngn.kr' 카테고리의 다른 글

Basic RCE L16  (0) 2020.03.31
Basic RCE L15  (0) 2020.03.30
Basic RCE L13  (0) 2020.03.22
Basic RCE L12  (0) 2020.02.28
Basic RCE L11  (0) 2020.02.24

Misc - QRCODE

HelloMG
|2020. 3. 28. 21:23

QRCODE 문제

QRCode답게 QRCode가 나옵니다 :D

한번 스캔 해볼려고 했는데 스캔이 안되더라구요..!

 

그래서 QRCode를 분석할 수 있는 방법이 있나 열심히 검색해 보았습니다..!

QRCode 원리

위의 사진은 QRCode의 원리인데 문제로 받았던 지금 보시면 QRCode에서 뭔가 다른점을 찾으셨나요 :D ?

바로 큰 사각형 안에 검은색으로 채워져있어야하는데 비워져있습니다!

 

그래서 저는 그림판으로 열어서 색을 넣어줬습니다!

QRCode 복구

쨘! 이렇게 채워주고 휴대폰으로 QRCode 인식을 다시 해보았습니다 :D

Flag

오우! Flag가 뜨네용 :D!!!

 

그럼 이만 문제풀이를 마치겠습니다 ㅎㅎㅎㅎ

'CTF > HackCTF' 카테고리의 다른 글

Forensics - Terrorist  (0) 2020.03.31
Forensics - Magic PNG  (0) 2020.03.30
Misc - Who am I ?  (0) 2020.03.26
Misc - BF  (0) 2020.03.20
Misc - Baseball Price  (0) 2020.03.08

Misc - Who am I ?

HelloMG
|2020. 3. 26. 16:34

Who am I 문제

문제를 보니 다른거 없이 퀴즈가 나옵니다 :D

 

x86 Instruction 회사에서 EIP를 터트려 주는 역할이라... 그게 누굴까요..?

 

일단 EIP가 무엇인지부터 알아야겠죠 !

 

EIP란?

다음 실행 주소를 나타내는 레지스터입니다 :D

 

그럼 이런 EIP를 터트려주는 놈은 무엇일까..?

제가 공부하던 교재에서 무언가를 찾을 수 있었습니다!

RET

"RET는 단순히 스택의 상단에 저장된 주소를 EIP로 pop하고 컨트롤을 전송한다" 라고 언급하고 있네요!

그래서 저는 ret이 아닐까 생각을 해보았습니다 :D

 

그래서 인증을 해보니 정답이라고 하네용!

 

앞으로 리버싱에 관련된 포스팅을 계속해볼려고 합니다!

여기서는 간단하게 문제풀이만 포스팅 하였습니다 :D

'CTF > HackCTF' 카테고리의 다른 글

Forensics - Magic PNG  (0) 2020.03.30
Misc - QRCODE  (0) 2020.03.28
Misc - BF  (0) 2020.03.20
Misc - Baseball Price  (0) 2020.03.08
Forensics - 나는 해귀다  (0) 2020.03.07

 

Old 19번 문제

문제로 들어가보니 id를 제출하라는게 나옵니다!

default로 admin이 들어가있어서 제출해보았습니다 :D

you are not admin

으아..? admin이 아니라고 하면서 다시 제출하게 되더라구요!

test

그래서 임의로 test를 입력하여 제출 했는데 로그인이 되었습니다!

logout해도 먹히지가 않더라구요... :(

 

그리고 소스코드를 보아도 특별한게 보이지 않았습니다 =_=

그래서 쿠키값을 보았는데 기존에 없던 userid가 생성이 되었습니다!

userid

알수없는 문자열이 나열이 되어있습니다!

맨뒤에 보니 %3D가 있는데 URL 인코딩 된것으로써 원래는 "=" 입니다 :D

그럼 맨마지막에 =가 들어가는 암호화는 base64이죠 !

그래서 Decoding을 해보았습니다 :D

Decoding

디코딩을 해보니 되는것으로 확인이 됩니다!

그래서 한번더 해보았습니다!

Decoding

한번더 디코딩을 했는데 되질 않습니다...

뭔가 다른것으로 암호화가 되어있나봅니다 :(

 

그래서 일단 글자수를 알아보았습니다!

자릿수

총 128자로 나오더라구요!

 

그래서 여러가지 경우의 수를 생각을 했습니다...

노가다를 열심히 하다가...

"test"는 총 4자리이니까 128자를 32자씩 나누어 보았습니다!

4개로 나누기!

4개로 나누고 32자로 암호화될 수 있는 것 중 대표적인 MD5로 복호화 해보았습니다!

MD5 복호화

userid가 글자마다 MD5 해쉬암호화 후 base64 인코딩된 것입니다!

 

그럼 admin으로 로그인하기 위해 똑같이 MD5 암호화 후 base64인코딩을 진행하여 userid에 넣어주면 되겠군요 :D

풀이성공!

예상대로 풀이 성공하였습니다 !!

hello admin

쨘!! admin으로 로그인이 되었다고 나오네용 :D

 

이만 19번 문제 풀이를 마치겠습니다 :D

'CTF > Webhacking.kr' 카테고리의 다른 글

Old - 47 (score:150)  (0) 2020.03.31
Old - 27 (score:150)  (0) 2020.03.28
Old - 58 (score:150)  (0) 2020.03.06
Old - 32 (score:150)  (0) 2020.03.05
Old - 25 (score:150)  (0) 2020.02.29

Basic RCE L13

HelloMG
|2020. 3. 22. 16:26

Basic RCE L13

문제가 정답을 맞추라는 것 같네요 :D

실행화면

다운받아 실행해보니 어떤 패스워드를 맞춰야하나 봅니다!

 

그럼 Ollydbg로 열어보도록 하겠습니다 :D

Error

잉!? 열리지 않네요..!!!

 

파일 형식을 보도록합시다!

C#

C#으로 만들어진 프로그램이었군요..

C#으로 만들어진 파일은 닷넷 프레임워크가 없는 환경에서는 분석할 수 없기 때문이죠 :D

 


닷넷 프레임워크란 ?

(.NET Framework)

 

MS에서 개발한 Window 프로그램 개발 및 실행환경을 의미합니다.

C#, C++, F# 등 여러가지 존재하는데

이중에서도 C#이 대표적이라고 할 정도로 닷넷이 없으면 안되는 존재이죠 :D


 

그럼 닷넷을 분석할수 있는 프로그램인 ".NET reflector"를 사용해 보겠습니다!

.NET reflector

다행히 소스코드가 전부 보이는군요 :D

 

소스코드를 가져옵시다!

Export Source Code

소스코드를 가져오기 위해 오른쪽 클릭 후 [Export Source Code] 기능을 사용하여 추출해 냅니다 :D

Visual Studio

비쥬얼을 이용해서 열고 이제 어떻게 하느냐?!

 

간단하게 생각하면 정답이 들어가는 변수를 출력해주면 간단히 풀리겠죠 :D

직접해보시는기 바랍니다 !!

 

그럼 이만 13번문제 풀이를 마치도록 하겠습니다 :D

'CTF > CodeEngn.kr' 카테고리의 다른 글

Basic RCE L15  (0) 2020.03.30
Basic RCE L14  (0) 2020.03.28
Basic RCE L12  (0) 2020.02.28
Basic RCE L11  (0) 2020.02.24
Basic RCE L10  (0) 2020.02.23

Misc - BF

HelloMG
|2020. 3. 20. 17:02

BF 문제

BF 문제를 보니 이상한 글이 있습니다 !

보니까 -,[,],+,<,> 로만 구성이 되어있네요...

그래서 한참 검색을 해봤는데 브레인퍽(?)이라는 난해한 프로그래밍 언어라는군요..!

그리고 알고보니 문제이름부터 힌트였어요.. BF(Brain F**k)..

 

↓브레인퍽에 대한 자세한 설명은 밑의 사이트를 참조해주세용 :D

https://ko.wikipedia.org/wiki/%EB%B8%8C%EB%A0%88%EC%9D%B8%ED%8D%BD

 

브레인퍽 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 브레인퍽(Brainfuck)은 우어반 뮐러(Urban Müller)가 1993년 경에 만든 최소주의 컴퓨터 프로그래밍 언어이다. 이름에 포함된 fuck이 욕설이기 때문에, 정중한 표현을 위해서 때때로 Brainf*ck, Brainf***, 혹은 단순히 BF라고 부르기도 한다. 언어의 설계[편집] 뮐러는 가장 작은 컴파일러로 구현할 수 있는 간단하면서도 튜링 완전한 프로그래밍 언어를 만드는 것이 목적이었다. 이 언어는 여덟

ko.wikipedia.org

브레인퍽 명령어들

참.. 알 수 없는 언어들이 많은 것 같습니다 : o

 

그럼 이제 무엇인지 알아냈으니 복호화만 하면 되겠군요 :D

https://www.dcode.fr/brainfuck-language

 

Brainfuck Language - Decoder, Encoder, Translator, Interpreter

Search for a tool Brainfuck Tool to decode/encode in Brainfuck. Brainf**k is a minimalist programmation language that takes its name from two words that refer to a kind of cerebral masturbation. Results Brainfuck - dCode Tag(s) : Programming Language Share

www.dcode.fr

저는 이 사이트를 통해서 복호화를 했답니다!

 

 

Flag 획득

쨘! 이렇게 해결했습니다 ㅎㅎㅎㅎ

 

브레인퍽이라는 새로운 프로그래밍 언어를 알게되었군요 :D

 

이상 BF문제 풀이였습니다 !

'CTF > HackCTF' 카테고리의 다른 글

Misc - QRCODE  (0) 2020.03.28
Misc - Who am I ?  (0) 2020.03.26
Misc - Baseball Price  (0) 2020.03.08
Forensics - 나는 해귀다  (0) 2020.03.07
Forensics - 세상에서 잊혀진 날 찾아줘!  (0) 2020.03.06

Misc - Baseball Price

HelloMG
|2020. 3. 8. 18:06

Baseball Price 문제

문제를 보니 nc를 이용해 접속해야하는 것 같습니다 :ㅇ

nc 원격 연결

접속하여보니 갑자기 문제가 나옵니다!

 

풀어주도록 하겠습니다 ㅎㅎㅎ

flag

문제를 푸니.. 바로 Flag가 출력이 되네요!

 

음..!

이만 문제풀이였습니다 :D

'CTF > HackCTF' 카테고리의 다른 글

Misc - Who am I ?  (0) 2020.03.26
Misc - BF  (0) 2020.03.20
Forensics - 나는 해귀다  (0) 2020.03.07
Forensics - 세상에서 잊혀진 날 찾아줘!  (0) 2020.03.06
Forensics - Secret Document  (0) 2020.03.05