해당 코드를 입력할 수 있다면 풀리는 문제입니다.



우선 그대로 입력해봅니다.

그대로 입력하면 <script>와 </script> 부분이 필터링 되는지 삭제가 됩니다.



앞쪽 <script>부분에 대문자를 섞어서 해보겠습니다.

php의 경우 대소문자 구분을해서 통과합니다.


그러나 모든 글자가 사라집니다.



그럼 앞뒤로 >, < 를 넣어봅니다.

<script>와 </script> 만 필터링되고 사라집니다.


"<" 자체를 필터링 하지는 않나봅니다.



그렇다면 <script>부분을 <> 로 감싸봤습니다.

그러니 안에 <script>와 </script> 부분만 사라졌습니다.



확실하게 하기위해 실험해봅니다.

<>안에 아무 글자나 입력하고 전송을 하면 필터링되어 나타나지 않습니다.


<script>를 필터링하는게 아니라 "<>"안에 문자열들이 있으면 필터링하는거 같습니다.



방금해본 것을 <>로 감싸보면 <>만 남고 사라집니다.

<>가 두겹으로 되어있으면 밖에있는 <>는 영향을 받지 않는거 같습니다.


이걸 이용해서 <script>부분을 감싸고 script라는 문자열을 입력하면 성공하게 됩니다.



'WarGame > hackthis.co.uk' 카테고리의 다른 글

[HackThis] Basic+ level3  (0) 2018.09.09
[HackThis] Basic+ level4  (0) 2018.09.03
[HackThis] Main level10  (0) 2018.08.31
[HackThis] Main level9  (0) 2018.08.31
[HackThis] Real level1  (0) 2018.08.31

관리자로 로그인 하라는 문제입니다.


처음에 보고서 생각된 방법은 당연히 SQLi를 이용해서 로그인을 하라고 하는줄 알았습니다.

하지만 필터링도 되어있으며 글자 수 제한도 있어서 되지 않았습니다


그리고 SQLi 문제였으면 [WEB]에 있어야는데 [MISC]에 있는거도 의문이였고.. 

QnA을 참조해보니 관리자분께서 ID/PWD를 이용한 방법말고 여러 방법이 있다하셔서 다른 방식으로 풀어야 했습니다.



관리자 페이지가 어떻게서든 있으리라 생각하고 소스코드도 뒤져보고 js 코드도 확인해 봤습니다.


① 관리자 로그인 버튼이 숨어있을 것이다.

② 관리자 페이지가 어디든 기록되어 있을 것이다.

③ js 코드에 명시되어 있을 것이다.

.. 등등 다양한 방법으로 시도해 봤지만 찾지 못했습니다.


그러다.. 황당하게도 URL에 /admin이라고 해보니 다음과 같은 QR Code가 등장했습니다..



QR Code의 내용에 URL이 적혀있어 이동해 봤습니다.



ID / PW를 입력하는 창과 버튼이 있었습니다. 열심히 이것저것 넣어봤지만 실패하고 소스코드를 봐보니

".swf" 파일로 그냥 flash 파일이였습니다.


flash파일이니 어디로 전송하지도 않고 그냥 작동만하는 것이였습니다...



여기서 한참을 찾아헤매다가 flash decoding을 하라는 애기를 듣고.. (도움을 받았네요 ㅜ)


flash decoding 프로그램인 "Sothink SWF Decompiler"를 받았습니다. (30일 체험판)

해당 프로그램으로 불러보니 모양/이미지/사운드/글꼴/텍스트/버튼/프레임/동작/기타태그 로 나눠서 보였습니다.




하나하나 눌러보면서 혹시 무슨 내용이 있을까 확인해봤습니다. 

그러다 다음과 같은 코드가 나왔습니다.


".swf" 파일도 프로그램이니만큼 특정 언어로 코딩되어 있었습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Action script...
 
on (release)
{
    function receipt()
    {
        if (flashid != "" || flashpw != "")
        {
            flashmessage = "Worng ID or PW";
            play ();
        }
        else
        {
            flashmessage = "Auth : \"\"";
            play ();
        } // end else if
    } // End of the function
    receipt();
}
cs


ID/PW/Auth 는 모두 지웠습니다.

'WarGame > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS_22 [WEB]  (0) 2018.10.01
SuNiNaTaS_24 [SYSTEM]  (0) 2018.09.22
SuNiNaTaS_29 [FORENSIC]  (0) 2018.09.15
SuNiNaTaS_16 [SYSTEM]  (0) 2018.09.14
SuNiNaTaS_5 [WEB]  (0) 2018.09.13

처음 문제를 보고 다운로드 받았을 때 어떻게 해야할지 몰랐습니다...


HxD로 열어봐서 파일시그니처가 뭔지도 확인했지만.. 나오지 않았고.. 막막해서 넘어갔던 문제인데


다시돌아와서 iso나 zip파일 같은 압축파일이 아닐까해서 확장자를 zip으로 바꾸고 확인해보니 가상머신이 나왔습니다!!



처음 윈도우가 다켜지면 조금있다가 갑자기 30초뒤에 꺼진다는 알림이 나옵니다.

대수롭지 않게 생각했지만 진짜 꺼지더라고요... 켜지고 꺼지고 켜지고 꺼지고 반복했습니다.


윈도우가 시작하자마자 작동하는걸 보니 시작프로그램이나 작업스케줄에 설정이 되어있는거 같습니다.



빠르게 30초가 되기전에 작업스케줄에가서 확인해보니 "Restart"라는 이름으로 설정이 되어있었습니다.

... 필요없는 내용같으니 삭제합니다.



이제 본격적으로 문제를 풀어봅시다.



①번


1번은 www.naver.com 으로 접속했을때 경찰청 waring 사이트로 열린다는 문제입니다.


www.naver.com으로 접속을 시도했는데 왠 이상한 사이트가 나오는걸 보니 redirect 시킨다는 느낌을 처음에 받았습니다.

그래서 인터넷 주소를 찾을때 DNS에서 도메인에 대한 IP를 질의하기 전에 사용자PC의 "DNS cache"를 먼저 확인 하기에 windows의 hosts파일을 먼저 확인할 필요가 있었습니다.

(hosts파일 위치: C:\Windows\System32\drivers\etc\host)



hosts.txt라는 파일이 보이길래 확인해보니 별다른 내용이 없었습니다.

모두 주석처리 되어있어 작동하지 않을 것입니다..



그렇게 별생각 없이 다음 문제를 풀때 "숨김파일 해제"를 하고 다시 이 문제로 돌아왔는데

"hosts" 파일이 숨김파일로 되어있었습니다.!!


생각해보니 hosts파일 확장자가 txt라는건 말도 안되는 얘기였습니다..ㅜㅜ (낚였네요..)



해당 파일을 열어보면 다음과 같이 키값을 얻을 수 있습니다.





②번


키로거를 찾는 문제입니다.


키로거는 사용자의 키보드로 입력되는 값들을 전부 획득하는 프로그램입니다. 

해당 프로그램이 작동하고 있을때 id/pwd를 입력하여 사이트에 접속하면 악의적인 사용자가 이 값을 얻어 사용할 수 있습니다.


컴퓨터가 꺼져도 다시 켜질 때 작동을 해야하기 때문에 키로거 프로그램은 시작 프로그램으로 등록을 해놓습니다.

[HKEY_LOCAL_MACHINE\SOFWARE\Microsoft\Windows\CurrentVersion\Run]는 컴퓨터가 부팅 시 작동할 프로그램 정보가 있습니다.


아래와 같이 "v1tvr0"라는 이름의 파일이 등록되어 있습니다.



※주의: C:\ 와 c:\는 MD5 hash 할 때 완전히 다른 값을 나타냅니다.. (소문자로 하셔야 합니다.) 한참 고생했네요ㅜ




③번


해당 경로로 이동하시면 다음과 같은 파일들을 만나볼 수 있습니다.


처음에보시면 숨김파일들이 많아 안보이겠지만 숨김해제를 하시고 보시면 많은 파일들이 보이게 됩니다.



처음에 단순히 수정한 날짜와 만든 날짜로 인증을 하는 것이라고 생각했는데..

알고보니 다운로드 시간은 다를 수 있다는걸 알게 되었습니다.


"BrowsingHistoryView"라는 툴을 이용해서 브라우져에 접속한 시간과 다운로드 받은 시간들을 확인할 수 있습니다.





④번


키로거로 알아내고자 했던 내용을 찾으면 되는 문제입니다.


숨겨진 폴더인 "v1valv\Computer1" 에 들어가시면 아래와 같은 폴더가 나옵니다.

첫번째 파일은 오늘 날짜로 제가 이리저리 찾으면서 쓴 단어들이 있을 것이고,

두번째 파일에 16년도로 이 문제가 만들어지 날짜이니 들어가봅니다.



파일이 두개 있는데 "z1.dat" 파일을 보시면 키보드로 입력했던 문자열들이 나올꺼고 키값까지 나와있습니다.


4개의 인증키 값을 모두 합쳐서 MD5 Hash하고 대문자를 소문자로 바꾸면 문제 인증키가 됩니다.





[참고]

키로거 설명: http://blog.naver.com/PostView.nhn?blogId=abyofasha&logNo=97321742

BrowsingHistoryView 설명: https://m.post.naver.com/viewer/postView.nhn?volumeNo=6955001&memberNo=21532239

'WarGame > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS_24 [SYSTEM]  (0) 2018.09.22
SuNiNaTaS_12 [MISC]  (0) 2018.09.19
SuNiNaTaS_16 [SYSTEM]  (0) 2018.09.14
SuNiNaTaS_5 [WEB]  (0) 2018.09.13
SuNiNaTaS_31 [FORENSIC]  (0) 2018.09.13

+ Recent posts