IT/CTF / / 2023. 6. 4. 09:48

CCE2023 APOLLO CRYPTO [100] - ROT

반응형

 

for_user (3).zip
0.00MB

 

flag를 입력할 수 있도록 나오는 페이지 존재

 

그리고 같이 첨부되는 html 파일

<!DOCTYPE Html />
<html>
 <body>
 <input type="text" name="flag" id="flag" value="enter the flag" />
 <input type="button" id="flag_dec" value="check-flag" />

 <script type="text/javascript">
    function dec(x) {
        var s=[];
        for(var i=0;i<x.length;i++) {
            var j=x.charCodeAt(i);
            if((j>=33)&&(j<=126)) {
                s[i]=String.fromCharCode(33+((j+ 14)%94));
            } else {
                s[i]=String.fromCharCode(j);
            }
        }
        return s.join('');
    }


    document.getElementById("flag_dec").onclick = function () {
        var flag = document.getElementById("flag").value;
        var enc = dec(flag)
            if ("2A@==@3LC~Ecf0u@CE*0DtGt?0C@Ecf0!2Dcf502&9N" == enc) {
                alert("Correct flag!");
            } else {
                alert("try again!");
            }
 }
 </script>
 </body>
</html>

암호화된 '2A@==@3LC~Ecf0u@CE*0DtGt?0C@Ecf0!2Dcf502&9N'를

 

ROT47로 디코딩

 

flag 획득

 

입력 페이지에 입력하면 아래와 같이 나온다.

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유