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


처음에 보고서 생각된 방법은 당연히 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

+ Recent posts