no image
Old - 20 (score:200)
Old 20번 문제입니다 :D 닉네임과 커맨드, 캡챠를 입력하라는군요? 그리고 위에 "time limit : 2 second"가 적혀있습니다! 시간 제한이 2초라구요..? 일단 입력 후 제출해보았습니다 :D 너무 느리답니다.... ㅠㅠㅠㅠ 2초안에 저 3개의 데이터를 넣는것은 당연 무리겠죠..? 일단 소스코드를 봅시다! 소스코드를 보니 ck()함수가 눈에 띄는군요 :D 저렇게 되어있다면 콘솔을 이용해서 한번에 값을 넣어주면 되지 않을까 싶었습니다 ㅎㅎㅎ 위의 소스코드 형식에 맞추고 id와 comment에는 "test"를 넣어주고 captcha 값에는 불러오는 임의의 값 cpatcha의 값을 그대로 넣고 submit()함수를 통해서 바로 넣어주도록 설정해 놓았습니다 :D 역시 바로 풀리네요 :D 이만 문제..
2020.04.07
no image
Basic RCE L19
문제를 보니 프로그램이 종료되는데 걸리는 시간을 찾으라고합니다 :D PUSHAD가 시작되는건 패킹이 되어 있다는 소리이니 편의상 언패킹 후 진행 하겠습니다! 프로그램을 실행시키면 이런 메시지 박스가 뜹니다...! 그래서 뭔가 이상해서 함수가 터지는 곳을 들어가 보았습니다 :D 들어가니 IsDebuggerPresent 함수가 보입니다! IsDebuggerPresent 함수는 디버깅을 탐지하는 함수로써 디버깅중이면 EAX값을 1로 반환합니다 ㅎㅎㅎ 저는 디버깅하여 분석을 해야하니 여러방법이 있지만 그 중 가장 간단한 방법인 EAX를 0으로 변환시켜 계속 분석을 진행했습니다 :D 그러자 다른 메시지박스가 나오는군요 :D 여기서 계속 갈피를 못잡고 있다가 시간을 찾아야하는데 그에 관한 함수인 timeGetTim..
2020.04.07
no image
Old - 1 (score:200)
이제 200점 문제입니다 :D 1번문제로 들어오니 "level : 1"이 보이고 소스코드를 볼 수 있습니다 ! 소스코드를 보도록 합시다 ㅎㅎㅎ! 소스코드를 보니.. 쿠키가 설정이 되어있습니다! 초기 쿠키 값은 1로 설정이 되어있고.. 6보다 크거나 같으면 1로 쿠키값이 다시 셋팅되고 5보다 크면 풀린다는군요! 그럼 간단하게 생각해보면 소수점을 넣어서 5와 6사이의 값을 넣으면 되지 않을까 생각했습니다 :D 예상대로 쿠키를 보니 1의 값이 들어가 있습니다! 그리고 5와 6사이의 값 5.1을 넣고 체크버튼을 눌러줍니다! 그리고 새로고침을 누르면 풀립니다 :D 이만 문제풀이를 마치겠습니다!
2020.04.02
no image
Basic RCE L18
앞의 여러문제와 동일한 문제군요 :D 한번 풀어보도록 합시다! EP는 콜함수부터 시작을 하는군요? 일단 문자열 검색을 통해서 의심가는 부분을 찾아봅시다! 쉽게 찾을 수 있었습니다! 보니 위의 4011F4 주소의 strcmp를 통해서 문자열을 비교한다음 분기점을 통해서 넘어가는 것을 확인할 수 있습니다. Name = CodeEngn Serial = 12 앞의 문제들과 동일하게 넣어주도록 하겠습니다 :D 보니까 String2에는 새로운 헥스값과 String1에는 제가 넣은 값 12가 들어가더군요 :D 그럼 String2가 CodeEngn의 Serial이겠죠 ㅎㅎㅎ? 실행을 시켰더니 Serial이 맞다고 하네요 ! 이만 문제풀이를 마치도록 하겠습니다 :D
2020.04.02
no image
Forensics - 잔상
250점 짜리 문제네요 ~_~ compare이라는 이름의 알집과 함께 똑같은 사진 2개가 있습니다! 똑같은 사진을 비교하라는 건가 싶어서 HxD로 열어봤는데 똑같더라구요 ?! 그래서 두개의 파일의 헥스값을 검사 해보았습니다! 검사를 해보니 다른 부분이 중간중간 들어가 있는것을 확인해 볼 수 있었습니다 :D 그리고 이렇게 나열해 보았습니다! 위의 Hex값은 1번사진 밑의 Hex값은 2번사진인데 2번 사진의 4번째 값까지 이어붙이니까 "Hack"이 나오더라구요 :D 그래서 2번 사진의 Hex값을 이어붙이면 플래그가 나오지 않을까 싶었습니다! 고러.. 노가다를 했죠... 역시 다 찾은 다음에 아스키값으로 풀어내니까 flag가 나오네요 :D 이만 문제풀이였습니다!
2020.04.02
no image
Basic RCE L17
오늘의 문제는 Key값이 주어지고 Name을 맞추라고 하는군요 ㅎㅎㅎㅎ 힌트는 Name은 1자리이고 알파벳또는 숫자라고 합니다 :D EP 입니다 ㅎㅎㅎ 별다른거 없어보이니 바로 문자열 검색하였습니다 :D 분기점을 찾을 수 있었습니다! 그리고 프로그램을 실행해 보겠습니다 :D 일단 1자리이고 알파벳 또는 숫자라고 했으니 임의의 문자 a를 넣어주겠습니다 ㅎㅎㅎ! 입력을하니.. 문자를 더 입력하라고 하네요..? 정답은 한자리라면서...=_=... 그래서 저 문자열을 찾아가 보았습니다 :D 글자 수를 체크하는 곳이 보입니다! 브레이크를 걸고 실행해서 보니 EAX에 1이 담깁니다! 글자수가 들어가는 것 같아보이는군요..! 그래서 문제가 오류인가 생각을 해봤는데.. 이것도 문제이겠거니 해서 변경해주었습니다! 3을 ..
2020.04.01
no image
Old - 47 (score:150)
문제로 들어오니 Mail을 보내는게 있습니다! 일단 위의 그대로 보내보았습니다 :D 전송을 하니 메일 통신을 보여줍니다.. ~_~ 그런데 메일을 보내는 사람과 받는 사람이 지정이 되어 있네요..! 여기서 보내는 부분은 subject로 메일의 헤더부분을 보내는 것 같습니다 :D 그럼 "Cc:"라는 참조를 이용해서 저에게도 메일을 오게 만들면될 것 같습니다 ㅎㅎㅎ burp suite를 이용해서 "Cc:xxxxx@xxxx"를 넣어줍니다 :D 그리고 전송!! 통신을 확인해보니 Cc 항목이 잘 들어갔음을 볼 수 있으며 위의 TO 항목에 저의 메일이 포함되어 있습니다! 그럼 제 메일로 가보겠습니다 :D 메일이 왔네용 !? 이렇게 플래그를 획득할 수 있었습니다 :D 이만 문제풀이를 마치겠습니다!
2020.03.31
no image
Basic RCE L16
문제를 접해보니 L14, L15문제와 동일합니다 :D 분석을 시작해봅시다! EP입니다 ! 바로 문자열 검색을 하여 의심스러운 곳을 찾아보도록 하겠습니다 :D "Good Job!"이라는 문자열을 보고 분기점을 찾았습니다! 40159C에서 EAX 레지스터 값과 [EBP-3C]에 담겨져있는 값을 비교하는 군요 :D 일단 프로그램을 실행시켜보겠습니다! 이전 L14, L15에서 했던것 처럼 Name => "CodeEngn" Password => 12 를 입력하겠습니다 :D 예상대로 분기점에서 걸립니다! 레지스터 EAX에는 C가 담겨져 있고 스택 [EBP-3C]에는 E4C60D97의 값이 담겨져 있네요 :D 나와있지만 스택에 가서 한번 확인해봅시다! EBP 기준이기 때문에 [Relative to EBP]로 보겠습니..
2020.03.31

Old 20번 문제

Old 20번 문제입니다 :D

 

닉네임과 커맨드, 캡챠를 입력하라는군요?

 

그리고 위에 "time limit : 2 second"가 적혀있습니다!

시간 제한이 2초라구요..?

 

일단 입력 후 제출해보았습니다 :D

Too Slow...

너무 느리답니다.... ㅠㅠㅠㅠ

2초안에 저 3개의 데이터를 넣는것은 당연 무리겠죠..?

 

일단 소스코드를 봅시다!

Source Code

소스코드를 보니 ck()함수가 눈에 띄는군요 :D

 

저렇게 되어있다면 콘솔을 이용해서 한번에 값을 넣어주면 되지 않을까 싶었습니다 ㅎㅎㅎ

Console

위의 소스코드 형식에 맞추고 id와 comment에는 "test"를 넣어주고

captcha 값에는 불러오는 임의의 값 cpatcha의 값을 그대로 넣고

submit()함수를 통해서 바로 넣어주도록 설정해 놓았습니다 :D

풀이 성공!

역시 바로 풀리네요 :D

 

이만 문제풀이였습니다!

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

Old - 36 (score:200)  (0) 2020.10.07
Old - 23 (score:200)  (0) 2020.10.05
Old - 1 (score:200)  (0) 2020.04.02
Old - 47 (score:150)  (0) 2020.03.31
Old - 27 (score:150)  (0) 2020.03.28

Basic RCE L19

HelloMG
|2020. 4. 7. 22:11

Basic RCE L19 문제

문제를 보니 프로그램이 종료되는데 걸리는 시간을 찾으라고합니다 :D

PUSHAD

PUSHAD가 시작되는건 패킹이 되어 있다는 소리이니 편의상 언패킹 후 진행 하겠습니다!

프로그램 실행

프로그램을 실행시키면 이런 메시지 박스가 뜹니다...!

그래서 뭔가 이상해서 함수가 터지는 곳을 들어가 보았습니다 :D

IsDebuggerPresent

들어가니 IsDebuggerPresent 함수가 보입니다!

IsDebuggerPresent 함수는 디버깅을 탐지하는 함수로써 디버깅중이면 EAX값을 1로 반환합니다 ㅎㅎㅎ

저는 디버깅하여 분석을 해야하니 여러방법이 있지만

그 중 가장 간단한 방법인 EAX를 0으로 변환시켜 계속 분석을 진행했습니다 :D

!?

그러자 다른 메시지박스가 나오는군요 :D

 

여기서 계속 갈피를 못잡고 있다가 시간을 찾아야하는데 그에 관한 함수인 timeGetTime 함수가 보였습니다!

그래서 브레이크를 걸고 다시 실행을 해보았습니다 :D

timeGetTime

IsdebuggerPresent함수를 우회한 후 [F9]를 눌렀는데 딱 잡히는 부분이 있었습니다!

디버깅 탐지 우회를 하지 않고 실행했을 땐 잡히지 않았는데 우회하니 보이더라구요!

분기점

timeGetTime함수를 실행시키고 난 후 어떤 한 분기점을 마주칠 수 있었습니다 :D

EAX와 [EBX+4]의 값을 비교하는 것인데

EAX에는 timeGetTime함수로 현재 시스템 시간을 반환하여 담은 값이고 [EBX+4]에는 어떤 시간값이 담겨져있겠죠 :D?

 

그래서 [EBX+4]를 확인해보니 2B70이 담겨져 있는 것을 확인해볼 수 있었습니다!

그래서 이게 혹시 프로그램을 종료시키는 값이지 않을까 생각해서 체크해보니

정답이였던 것을 확인해 볼 수 있었습니다 :D

 

다른 문제에 비해서 갑자기 난이도가 확 올라간 문제가 아닌가 싶네용..!!

좀 엉성하지만 이만 문제풀이를 마치겠습니다 :D

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

Basic RCE L18  (0) 2020.04.02
Basic RCE L17  (0) 2020.04.01
Basic RCE L16  (0) 2020.03.31
Basic RCE L15  (0) 2020.03.30
Basic RCE L14  (0) 2020.03.28

Old 1번 문제

이제 200점 문제입니다 :D

1번문제로 들어오니 "level : 1"이 보이고 소스코드를 볼 수 있습니다 !

 

소스코드를 보도록 합시다 ㅎㅎㅎ!

source code

소스코드를 보니.. 쿠키가 설정이 되어있습니다!

초기 쿠키 값은 1로 설정이 되어있고..

6보다 크거나 같으면 1로 쿠키값이 다시 셋팅되고

5보다 크면 풀린다는군요!

 

그럼 간단하게 생각해보면 소수점을 넣어서 5와 6사이의 값을 넣으면 되지 않을까 생각했습니다 :D

쿠키값

예상대로 쿠키를 보니 1의 값이 들어가 있습니다!

5.1

그리고 5와 6사이의 값 5.1을 넣고 체크버튼을 눌러줍니다!

solve!

그리고 새로고침을 누르면 풀립니다 :D

 

이만 문제풀이를 마치겠습니다!

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

Old - 23 (score:200)  (0) 2020.10.05
Old - 20 (score:200)  (0) 2020.04.07
Old - 47 (score:150)  (0) 2020.03.31
Old - 27 (score:150)  (0) 2020.03.28
Old - 19 (score:150)  (0) 2020.03.22

Basic RCE L18

HelloMG
|2020. 4. 2. 17:58

Basic RCE L18 문제

앞의 여러문제와 동일한 문제군요 :D

한번 풀어보도록 합시다!

EP

EP는 콜함수부터 시작을 하는군요?

 

일단 문자열 검색을 통해서 의심가는 부분을 찾아봅시다!

분기점

쉽게 찾을 수 있었습니다!

보니 위의 4011F4 주소의 strcmp를 통해서 문자열을 비교한다음 분기점을 통해서 넘어가는 것을 확인할 수 있습니다.

프로그램 실행

Name = CodeEngn

Serial = 12

앞의 문제들과 동일하게 넣어주도록 하겠습니다 :D

strcmp

보니까 String2에는 새로운 헥스값과 String1에는 제가 넣은 값 12가 들어가더군요 :D

 

그럼 String2가 CodeEngn의 Serial이겠죠 ㅎㅎㅎ?

시리얼 입력

실행을 시켰더니 Serial이 맞다고 하네요 !

 

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

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

Basic RCE L19  (0) 2020.04.07
Basic RCE L17  (0) 2020.04.01
Basic RCE L16  (0) 2020.03.31
Basic RCE L15  (0) 2020.03.30
Basic RCE L14  (0) 2020.03.28

Forensics - 잔상

HelloMG
|2020. 4. 2. 17:42

잔상 문제

250점 짜리 문제네요 ~_~

파일

compare이라는 이름의 알집과 함께 똑같은 사진 2개가 있습니다!

 

똑같은 사진을 비교하라는 건가 싶어서 HxD로 열어봤는데 똑같더라구요 ?!

그래서 두개의 파일의 헥스값을 검사 해보았습니다!

compare

검사를 해보니 다른 부분이 중간중간 들어가 있는것을 확인해 볼 수 있었습니다 :D

나열

그리고 이렇게 나열해 보았습니다!

위의 Hex값은 1번사진 밑의 Hex값은 2번사진인데

2번 사진의 4번째 값까지 이어붙이니까 "Hack"이 나오더라구요 :D

 

그래서 2번 사진의 Hex값을 이어붙이면 플래그가 나오지 않을까 싶었습니다!

고러.. 노가다를 했죠... 

flag

역시 다 찾은 다음에 아스키값으로 풀어내니까 flag가 나오네요 :D

 

이만 문제풀이였습니다!

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

Web - LOL  (0) 2020.09.28
Reversing - Handray  (0) 2020.04.07
Forensics - Terrorist  (0) 2020.03.31
Forensics - Magic PNG  (0) 2020.03.30
Misc - QRCODE  (0) 2020.03.28

Basic RCE L17

HelloMG
|2020. 4. 1. 17:25

Basic RCE L17 문제

오늘의 문제는 Key값이 주어지고 Name을 맞추라고 하는군요 ㅎㅎㅎㅎ

힌트는 Name은 1자리이고 알파벳또는 숫자라고 합니다 :D

 

EP

EP 입니다 ㅎㅎㅎ

별다른거 없어보이니 바로 문자열 검색하였습니다 :D

분기점

분기점을 찾을 수 있었습니다!

그리고 프로그램을 실행해 보겠습니다 :D

프로그램 실행

일단 1자리이고 알파벳 또는 숫자라고 했으니

임의의 문자 a를 넣어주겠습니다 ㅎㅎㅎ!

Please Enter More Chars...

입력을하니.. 문자를 더 입력하라고 하네요..?

정답은 한자리라면서...=_=...

그래서 저 문자열을 찾아가 보았습니다 :D

글자 수 제한

글자 수를 체크하는 곳이 보입니다!

글자 수 확인

브레이크를 걸고 실행해서 보니 EAX에 1이 담깁니다!

글자수가 들어가는 것 같아보이는군요..!

그래서 문제가 오류인가 생각을 해봤는데.. 이것도 문제이겠거니 해서 변경해주었습니다!

CMP EAX,1

3을 1로 바꾸어 1글자여도 동작될 수 있도록 해주었습니다!

 

그리고 문자를 통해서 암호화가 되기 때문에 먼저 암호화가 어디서 이루어지는 찾아야합니다 :D

CALL 45B850

45BB9B 주소의 함수을 지나니 EAX에 어떤 키가 담기는 것을 확인했습니다 ㅎㅎㅎ

 

그래서 들어가서 분석을 해보았습니다!

KEY 생성

들어가서 보시다보면 이 위와같은 구조가 4개가 보였습니다!

그리고 이 루틴의 첫 시작이 제가 입력한 e인 것을 보아 KEY 생성하는 구간이구나 생각했습니다 ㅎㅎㅎ

'-'를 기준으로 총 5개가 있는데 위의 루틴은 첫번째 구간이니 'BEDA'를 만들어내는 녀석을 찾으면 될 것 같습니다 :D

루틴 설명

위의 사진과 같이 루틴의 수식을 다 적어 놓은 후..

python

파이썬을 이용해서 간단히 코딩해 보았습니다 :D

 

그리고 실행!!

F

beda가 포함된 녀석을 찾았습니다 :D

바로 "F"군요!!

맞는지 확인해 봐야겠죠 ㅎㅎㅎ?

Well done!

"Well done!"창이 뜨는군요 ㅎㅎㅎㅎ!

정답은 "F"이네용!

이제 MD5로 해쉬화해서 인증하면됩니다!

 

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

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

Basic RCE L19  (0) 2020.04.07
Basic RCE L18  (0) 2020.04.02
Basic RCE L16  (0) 2020.03.31
Basic RCE L15  (0) 2020.03.30
Basic RCE L14  (0) 2020.03.28

Old 47번 문제

문제로 들어오니 Mail을 보내는게 있습니다!

 

일단 위의 그대로 보내보았습니다 :D

메일 전송

전송을 하니 메일 통신을 보여줍니다.. ~_~

그런데 메일을 보내는 사람과 받는 사람이 지정이 되어 있네요..!

 

여기서 보내는 부분은 subject로 메일의 헤더부분을 보내는 것 같습니다 :D

그럼 "Cc:"라는 참조를 이용해서 저에게도 메일을 오게 만들면될 것 같습니다 ㅎㅎㅎ

burp

burp suite를 이용해서 "Cc:xxxxx@xxxx"를 넣어줍니다 :D

그리고 전송!!

성공

통신을 확인해보니 Cc 항목이 잘 들어갔음을 볼 수 있으며 위의 TO 항목에 저의 메일이 포함되어 있습니다!

 

그럼 제 메일로 가보겠습니다 :D

메일받았따

메일이 왔네용 !?

 

이렇게 플래그를 획득할 수 있었습니다 :D

 

이만 문제풀이를 마치겠습니다!

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

Old - 20 (score:200)  (0) 2020.04.07
Old - 1 (score:200)  (0) 2020.04.02
Old - 27 (score:150)  (0) 2020.03.28
Old - 19 (score:150)  (0) 2020.03.22
Old - 58 (score:150)  (0) 2020.03.06

Basic RCE L16

HelloMG
|2020. 3. 31. 17:29

Basic RCE L16 문제

문제를 접해보니 L14, L15문제와 동일합니다 :D

 

분석을 시작해봅시다!

EP

EP입니다 !

바로 문자열 검색을 하여 의심스러운 곳을 찾아보도록 하겠습니다 :D

분기점

"Good Job!"이라는 문자열을 보고 분기점을 찾았습니다!

40159C에서 EAX 레지스터 값과 [EBP-3C]에 담겨져있는 값을 비교하는 군요 :D

 

일단 프로그램을 실행시켜보겠습니다!

프로그램 실행

이전 L14, L15에서 했던것 처럼

Name => "CodeEngn"

Password => 12

를 입력하겠습니다 :D

분기점

예상대로 분기점에서 걸립니다!

 

레지스터 EAX에는 C가 담겨져 있고

스택 [EBP-3C]에는 E4C60D97의 값이 담겨져 있네요 :D

 

나와있지만 스택에 가서 한번 확인해봅시다!

Relative to EBP

EBP 기준이기 때문에 [Relative to EBP]로 보겠습니다 :D

EBP-3C

예상대로 [EBP-3C]에는 E4C60D97이 담겨져 있네요 :D

 

Password로 12를 넣었는데 EAX에 C가 담긴다는 것은 16진수로 변환되어서 들어가는 것이니

정답은 E4C60D97을 10진수로 변환한 값이겠네용 :D

3838184855

계산기를 이용해서 10진수로 변환한 값을 가져옵니다!

성공!!

패스워드에 넣으니 "Good Job!"이 출력되네용 :D

 

L14, L15와 문제풀이 방식이 거의 동일한 문제네요!

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

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

Basic RCE L18  (0) 2020.04.02
Basic RCE L17  (0) 2020.04.01
Basic RCE L15  (0) 2020.03.30
Basic RCE L14  (0) 2020.03.28
Basic RCE L13  (0) 2020.03.22