티스토리 뷰

Wargame/SuNiNaTaS

Challenge 5 (Web)

do9dark 2015. 12. 19. 17:29

개발자 도구를 이용해서 코드를 보면 중간에 <script> eval(function(p,a,c,k,e,r) ... </script>와 같이 난독화된 코드가 있고 Hint에는 12342046413275659 값이 나와있다.


난독화된 코드:

eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('g l=m o(\'0\',\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\',\'a\',\'b\',\'c\',\'d\',\'e\',\'f\');p q(n){g h=\'\';g j=r;s(g i=t;i>0;){i-=4;g k=(n>>i)&u;v(!j||k!=0){j=w;h+=l[k]}}x(h==\'\'?\'0\':h)}',34,34,'||||||||||||||||var|result||start|digit|digitArray|new||Array|function|PASS|true|for|32|0xf|if|false|return'.split('|'),0,{}))


인터넷에 찾아보면 난독화된 코드를 해독해주는 게 많이 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var digitArray = new Array('0''1''2''3''4''5''6''7''8''9''a''b''c''d''e''f');
function PASS(n) {
    var result = '';
    var start = true;
    for (var i = 32; i > 0;) {
        i -= 4;
        var digit = (n >> i) & 0xf;
        if (!start || digit != 0) {
            start = false;
            result += digitArray[digit]
        }
    }
    return (result == '' ? '0': result)
}
cs


PASS(n) 값에 Hint로 받은 값을 넣어주면 9c43c20c를 얻을 수 있고 이 값을 Check 해주면 Authkey를 알 수 있다.



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

Challenge 6 (Web)  (0) 2015.12.22
Challenge 4 (Web)  (0) 2015.12.19
Challenge 3 (Web)  (0) 2015.12.19
Challenge 2 (Web)  (0) 2015.12.19
Challenge 1 (Web)  (0) 2015.12.19
댓글
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
링크
공지사항
Total
Today
Yesterday