rev
-
HolyShield CTF write up$ Capture The Flag $ 2019. 10. 28. 13:32
Forensic Leak1 문제를 압축 해제를 하고 vmdk를 문자열 검색을 해보면 아래와 같습니다. Flag : HS{Y0u_4re_7hE_B3sT_rEpairm4N} ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ Web Hidden Board[서버가 닫힘..] 먼저 robots.txt 에 들어가서 관리자 페이지 URL 을 획득한다. 관리자 페이지는 아래와 같습니다. 해당 사이트에 들어가 보면 이런 식의 화면이 출력이 됩니다. eval 과 f라는 변수에 값이 없다는 에러 문과 file_get_contents 라는 함수가 filename 이 비어있다고 함녀서 Warning 으로 뜹니다. file_get_contents를 보고 lfi 공격을 할 수가 있습니다. ..
-
LAYER7 CTF write up$ Capture The Flag $ 2019. 10. 17. 17:34
Welcome to Layer7 CTF 디스코드를 연결하면 다음과 같은 Flag 확인 가능 Flag : LAYER7{10월 9일 한글날 기념 한글 플래그 세종대왕 만세} ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ Catch Mind If You Can URL 에 들어가 보면 아래와 같이 사진을 하나 확인 할 수 있습니다. Decrypt me! 를 눌러보면 다음과 같이 encrypt.png 파일이 있습니다. 사진에 뭔가 그려져 있다는 생각이 들었고 원본 파일.png 와 encrypt.png 파일과 비교하면 Flag 를 찾을 수 있을 것 같습니다. encrypt.png - 원본 파일.png = flag.png 가 될 거라고 생각 됩니다. (REV 문제인데.. ..
-
Easy Crack$ 리버싱 $/reversing.kr 2019. 9. 11. 11:34
문제를 실행해보면 아래와 같은 창이 뜹니다. Serial 값을 찾는 문제 인것 같습니다. 틀리면 Incorrect Password 라는 문자열이 나옵니다. 올리디버거로 분석해 보겠습니다. 틀렸을때 나오는 문자열을 검색해서 들어가보면 40113C 주소에 존재 합니다. 그래서 위로 좀 올려서 401080에 BP를 걸고 F9를 눌러서 1234를 입력해 줬습니다. 아래로 내리다 보면 GetDlgItemTextA함수를 지나고 CMP 함수가 등장을 합니다. ESP+5 와 61이라는 값을 비교 합니다. ESP+5 자리에는 저희가 입력한 1234의 값중에서 2라는 값이 들어 있는 주소입니다. 61은 16진수의 값이므로 a를 의미합니다. 그래서 두번째글자가 a면 분기를 뛰어 넘어가지 않고 그냥 계속 진행됩니다. 그대로 ..
-
CodeEngn Advance RCE 8$ 리버싱 $/CodeEngn Advance RCE 2019. 7. 20. 11:00
문제를 확인하면 Name이 2글자 라고 합니다. 하지만 2글자를 입력하면 위와 같이 Please Enter More Chars... 라고 출력이 됩니다. 그렇기 때문에 글자수가 몇으로 되어있는지 확인도 하고 2글자도 가능하도록 해보겠습니다. Please Enter More Chars... 문자열로 찾아보겠습니다. 해당 문자열이 포함된 곳의 시작 점을 확인해 보겠습니다. 45BAE8 주소로 가보면 확인할 수 있습니다. 좀 아래로 내려가면 다음과 같이 CMP로 비교하는 구문을 찾아 볼수 있습니다. 3글자 이상이여야 합니다. 그래서 CMP EAX, 2로 바꿔 보겠습니다. 그리고 아래로 좀더 내려보면 CMP EAX, 1E를 확인 할 수 있습니다. 1E = 30 , Serial은 30글자 이상이여야 합니다. 분석..
-
-
CodeEngn Advance RCE 6$ 리버싱 $/CodeEngn Advance RCE 2019. 7. 19. 18:49
해당 문제는 저번 4번 문제와 비슷한 문제 입니다. 문제 파일을 열어보겠습니다. 이런식으로 해서 맨마지막 숫자가 답이 되는 문제입니다. 파일을 한번 확인해 보겠습니다. UPX 언패킹을 해보겠습니다. 올리디버거에 넣고 바로 실행을 하면 안티 디버깅 기법이 적용 되어 있습니다. 이렇게 뜨게 됩니다. IsDuggerPresent 함수에 BP를 걸어서 문제를 해결할 수 있을 것 같습니다. 바로 다음인 40E967 주소에 TEST EAX, EAX 를 이용해서 디버거 툴을 이용해서 분석을 하면 EAX에 1이 들어가는데 EAX값이 1이 되면 JNZ 에서 점프를 해서 위와 같은 문자열을 출력하게 됩니다. 그래서 TEST EAX, EAX를 CMP EAX, EAX로 바꾸면 우회를 할 수 있습니다. 수정하고 파일을 아예 저..
-
CodeEngn Advance RCE 5$ 리버싱 $/CodeEngn Advance RCE 2019. 7. 18. 01:46
문제 파일을 확인해 보겠습니다. 다음과 같이 매우 작은 창이 하나 뜹니다. 1234를 입력하면 다음과 같이 창이 출력됩니다 이제 올리디버거로 열어보겠습니다. 4번 문제와 비슷해 보이지만 Dump가 되지 않습니다. 그래서 함수에 BP를 걸고 분석을 해보겠습니다. 함수를 보면 402476에 vbaStrCmp 함수가 있습니다. 해당함수를 따라가서 확인해 보겠습니다. 입력값은 1234로 하겠습니다. 1234와 677345 비교를 합니다. 들어갈 값이 677345인것 같습니다. 한번 직접넣어서 어떤 결과가 나오는지 확인해 보겠습니다. 이렇게 나오네요! Clear!
-
CodeEngn Advance RCE 4$ 리버싱 $/CodeEngn Advance RCE 2019. 7. 18. 01:16
대부분의 문제들이 Name에 따른 Serial 값을 구하는 문제입니다. 문제 파일을 실행해 보겠습니다. 맞지 않으면 다음과 같은 메세지 창이 나옵니다. Incalid Serial! 이라고 뜹니다. 이제 분석을 해보겠습니다. 분석을 해보려고 하니... 패킹이 되어있는 것 같습니다. 여기서 2가지의 방법이 있습니다. 1. dump를 이용해서 언패킹후에 문제풀기! 2. 그냥 패킹한 상태에서 함수 bp 걸고 풀기! 두가지 방법을 전부 소개해 드리겠습니다. 1번째 방법! 먼저 실행을 하고 f8을 한번 누르면 다음과 같은 화면이 뜹니다. 4011C2에서 BP걸고 루프를 빠져 나와서 F8 을 한번더 누르면 다음과 같은 곳으로 가게됩니다. 여기가 OEP 인것 같습니다. 여기에서 dump를 떠보겠습니다. 위와 같이 Re..