Web - Client | Javascript - Obfuscation 3

2022. 5. 29. 14:56root-me.org

728x90

문제 정보

처음으로 풀어보는 난이도 3짜리 문제...!

어떤 문제일지 기대되네요.

 

알림창

메인 페이지에 들어가자 역시나 alert 창이 뜹니다.

PW를 입력하라고 하네요.

 

아무 문자열이나 입력한 결과

<html>
<head>
    <title>Obfuscation JS</title>
    <script type="text/javascript">
    function dechiffre(pass_enc){
        var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
        var tab  = pass_enc.split(',');
                var tab2 = pass.split(',');var i,j,k,l=0,m,n,o,p = "";i = 0;j = tab.length;
                        k = j + (l) + (n=0);
                        n = tab2.length;
                        for(i = (o=0); i < (k = j = n); i++ ){o = tab[i-l];p += String.fromCharCode((o = tab2[i]));
                                if(i == 5)break;}
                        for(i = (o=0); i < (k = j = n); i++ ){
                        o = tab[i-l]; 
                                if(i > 5 && i < k-1)
                                        p += String.fromCharCode((o = tab2[i]));
                        }
        p += String.fromCharCode(tab2[17]);
        pass = p;return pass;
    }
    String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));
    
    h = window.prompt('Entrez le mot de passe / Enter password');
    alert( dechiffre(h) );
    
</script>
</head>

</html>

 

이번에는 다른 문제들보다 JS Code가 조금 복잡해 보입니다.

윗부분은 쭉 보니 딱히 중요한 부분이 없는 것 같습니다.

dechiffre() 함수 밖에 있는 String["fromCharCode"] 부분을 보면 dechiffre~~라고 써져있습니다.

여기서 괄호 안에 들어있는 16진수들을 10진수로 바꿔보겠습니다.

 

ASCII?

제대로 나온 것 같습니다.

아마도 아스키코드의 10진수인 것 같네요.

이제 이 문자열을 fromCharCode()에 넣은 뒤, Console에서 실행해보겠습니다.

 

FLAG 획득 완료
문제 풀이 성공

난이도가 3이 되니 슬슬 풀 맛이 나네요 :>

728x90

'root-me.org' 카테고리의 다른 글

Web - Server | HTML - Source code  (0) 2022.06.02
Web - Client | XSS - Stored 1  (0) 2022.06.01
Web - Client | Javascript - Webpack  (0) 2022.05.28
Web - Client | Javascript - Native code  (0) 2022.05.27
Web - Client | Javascript - Obfuscation 2  (0) 2022.05.26