๐ŸŒณ WarGame/๐Ÿ webhacking.kr

[webhacking.kr] 5๋ฒˆ ๋ฌธ์ œ

(ํ•™์Šต ๋ชฉ์ ์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์ง€์ ํ•ด์ฃผ์„ธ์š”.)

 

5๋ฒˆ ๋ฌธ์ œ๋กœ ๋“ค์–ด๊ฐ€ ๋ณด์ž.

 

๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋ณด์ธ๋‹ค.

 

 

๋กœ๊ทธ์ธ ๋ถ€๋ถ„๊ณผ ํšŒ์›๊ฐ€์ž… ๋ถ€๋ถ„์œผ๋กœ ๋ถ„๋ฅ˜๋˜์–ด์žˆ๋‹ค.

 

๋จผ์ € ๋กœ๊ทธ์ธ์„ ํด๋ฆญํ•˜์—ฌ ๋“ค์–ด๊ฐ€๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.

 

 

id๋ถ€๋ถ„๊ณผ pw๋ถ€๋ถ„์— admin/admin์œผ๋กœ ๋กœ๊ทธ์ธ ์‹œ๋„๋ฅผ ํ•ด ๋ณด์•˜๋‹ค.

 

 

ํŒจ์Šค์›Œ๋“œ๊ฐ€ ๋งž์ง€ ์•Š๋‹ค๋Š” ์ถœ๋ ฅ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

id๋Š” ๋งž์œผ๋‚˜, ํŒจ์Šค์›Œ๋“œ๊ฐ€ ํ‹€๋ฆฐ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

id๊ฐ€ ์‹ค์ œ๋กœ admin์ธ์ง€ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด admin2/admin์œผ๋กœ ์ ‘์† ์‹œ๋„ํ•ด ๋ณด์•˜๋‹ค.

 

 

id๊ฐ€ ํ‹€๋ ธ๋‹ค๋Š” ๋ฌธ๊ตฌ๊ฐ€ ์ถœ๋ ฅ๋จ์œผ๋กœ์จ id๋Š” admin์ด๋‹ค.

 

 

ํŒจ์Šค์›Œ๋“œ๋Š” ํ˜„์žฌ ๋ชจ๋ฅด๋Š” ์ƒํ™ฉ์ด๋‹ˆ, ํšŒ์›๊ฐ€์ž…์„ ํŽ˜์ด์ง€์— ์ ‘์†ํ•ด๋ณด์ž.

 

 

join ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ๋ณด์ž.

 

 

์ ‘๊ทผ์ด ํ—ˆ๊ฐ€๋˜์ง€ ์•Š์•˜๋‹ค๊ณ  ํ•œ๋‹ค.

 

์†Œ์Šค๋ณด๊ธฐ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ด๋ณธ ๊ฒฐ๊ณผ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

 

no() ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋จ์œผ๋กœ์จ alert์ฐฝ์ด ์‹คํ–‰๋œ๋‹ค.

 

์—ฌ๊ธฐ์„œ move(page) ํ•จ์ˆ˜๋ฅผ ์ž์„ธํžˆ ๋“ค์—ฌ๋‹ค ๋ณด๋ฉด

 

location.href ๊ฒฝ๋กœ๊ฐ€ mem ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ‘์— login.php๋กœ ์ด๋™๋œ๋‹ค๋Š” ์†Œ์Šค๊ฐ€ ์žˆ๋‹ค.

 

 

์ด๋Ÿฐ์‹์œผ๋กœ ๊ฒฝ๋กœ๊ฐ€ ๋…ธ์ถœ๋˜์–ด ์žˆ์œผ๋ฉด join์œผ๋กœ ๊ฐ€๊ธฐ ์œ„ํ•œ ๊ฒฝ๋กœ๋ฅผ ์ถ”์ธก์„ ํ•ด ๋ณผ ์ˆ˜์žˆ๋‹ค.

 

ํ•„์ž๊ฐ€ ์ถ”์ธกํ•œ ๊ฒฝ๋กœ๋Š”

 

mem/register.php

mem/join.php

 

๋‘ ๊ฐ€์ง€ ์ด๋‹ค.

 

์ฒซ ๋ฒˆ์งธ mem/register.php๋Š” ํŽ˜์ด์ง€๊ฐ€ ์—†๋‹ค๊ณ  ํ•œ๋‹ค.

๋‘ ๋ฒˆ์งธ mem/join.php๋Š” ์„ฑ๊ณต์ ์œผ๋กœ ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€์— ์ ‘์†๋๋‹ค.

 

์œ„์™€๊ฐ™์ด ์ถ”์ธกํ•˜์—ฌ ์„ฑ๊ณต์ ์œผ๋กœ ์ ‘์†ํ–ˆ์ง€๋งŒ, ๊ฒฝ๋กœ๋ฅผ ์ž˜ ๋ณด๋ฉด ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ mem์ด๋ž€ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

์ด๊ฒƒ ๋˜ํ•œ ๋””๋ ‰ํ† ๋ฆฌ๊นŒ์ง€์˜ ๊ฒฝ๋กœ๋กœ ์ ‘์† ์‹œ๋„ํ•ด๋ณผ ๋งŒํ•˜๋‹ค.

 

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์—ˆ๋‹ค.

 

 

mem์œผ๋กœ ์ ‘์† ์‹œ๋„ํ•˜์˜€๋”๋‹ˆ mem๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์ด ๋ฌด์—‡์ด ์žˆ๋Š”์ง€ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์ด๋Ÿฌํ•œ ๊ฒƒ์„ '๋””๋ ‰ํ† ๋ฆฌ ๋ฆฌ์ŠคํŒ…'์ด๋ผ๊ณ  ํ•œ๋‹ค.

(๋‹ค๋ฅธ ์šฉ์–ด๋„ ์กด์žฌํ•œ๋‹ค.)

 

 

join ํŽ˜์ด์ง€๋ฅผ ์ถ”์ธกํ•˜์—ฌ ์‰ฝ๊ฒŒ ์ ‘์†ํ•˜์˜€์ง€๋งŒ, ์•„๋ฌด๊ฒƒ๋„ ํ‘œ์‹œ๋˜์–ด์žˆ์ง€ ์•Š๋‹ค.

 

์†Œ์Šค๋ณด๊ธฐ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ด ๋ณธ ๊ฒฐ๊ณผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด javascript ๋‚œ๋…ํ™”๋œ ์†Œ์Šค๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

์‚ฌ์šฉ์ž๋“ค ์ž…์žฅ์—์„œ ์‚ฌ์ดํŠธ์˜ ์†Œ์Šค๋ณด๊ธฐ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ด ๋ณด๋ฉด javascript ์ฝ”๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์งœ์—ฌ์ ธ ์žˆ๋Š”์ง€ ๋ชจ๋‘ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์ด๋Ÿฌํ•œ ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด javascript ๋‚œ๋…ํ™”๊ฐ€ ํƒ„์ƒ?๋˜์—ˆ๋‹ค.

 

l์ด ํ•˜๋‚˜์ผ ๊ฒฝ์šฐ 'a'๋ผ๋Š” ๋ฌธ์ž๋ผ๋Š” ๋œป์ด๊ณ ,

l์ด ๋‘ ๊ฐœ์ผ ๊ฒฝ์šฐ 'b'๋ผ๋Š” ๋ฌธ์ž๋ผ๋Š” ๋œป์ด๋‹ค.

 

์ด๋Ÿฐ์‹์œผ๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ์กฐํ•ฉํ•ด๋ณธ๋‹ค๋ฉด ๋‹ต์ด ๋‚˜์˜ค์ง€๋งŒ, ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.

 

javascript ๋‚œ๋…ํ™”๋ฅผ ๋ณตํ˜ธํ™”ํ•ด์ค„ ์‚ฌ์ดํŠธ๊ฐ€ ๋งŽ์ด ๋•Œ๋ฌธ์— ํ•„์ž๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์ด์šฉํ•ด ๋ณตํ˜ธํ™”์‹œ์ผœ ๋ณด์•˜๋‹ค.

 

 

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<html>
<title>Challenge 5</title>
</head>
 
<body bgcolor=black>
    <center>
        <script>
            l = 'a';
            ll = 'b';
            lll = 'c';
            llll = 'd';
            lllll = 'e';
            llllll = 'f';
            lllllll = 'g';
            llllllll = 'h';
            lllllllll = 'i';
            llllllllll = 'j';
            lllllllllll = 'k';
            llllllllllll = 'l';
            lllllllllllll = 'm';
            llllllllllllll = 'n';
            lllllllllllllll = 'o';
            llllllllllllllll = 'p';
            lllllllllllllllll = 'q';
            llllllllllllllllll = 'r';
            lllllllllllllllllll = 's';
            llllllllllllllllllll = 't';
            lllllllllllllllllllll = 'u';
            llllllllllllllllllllll = 'v';
            lllllllllllllllllllllll = 'w';
            llllllllllllllllllllllll = 'x';
            lllllllllllllllllllllllll = 'y';
            llllllllllllllllllllllllll = 'z';
            I = '1';
            II = '2';
            III = '3';
            IIII = '4';
            IIIII = '5';
            IIIIII = '6';
            IIIIIII = '7';
            IIIIIIII = '8';
            IIIIIIIII = '9';
            IIIIIIIIII = '0';
            li = '.';
            ii = '<';
            iii = '>';
            lIllIllIllIllIllIllIllIllIllIl = lllllllllllllll + llllllllllll + llll + llllllllllllllllllllllllll + lllllllllllllll + lllllllllllll + ll + lllllllll + lllll;
            lIIIIIIIIIIIIIIIIIIl = llll + lllllllllllllll + lll + lllllllllllllllllllll + lllllllllllll + lllll + llllllllllllll + llllllllllllllllllll + li + lll + lllllllllllllll + lllllllllllllll + lllllllllll + lllllllll + lllll;
            if (eval(lIIIIIIIIIIIIIIIIIIl).indexOf(lIllIllIllIllIllIllIllIllIllIl) == -1) {
                bye;
            }
            if (eval(llll + lllllllllllllll + lll + lllllllllllllllllllll + lllllllllllll + lllll + llllllllllllll + llllllllllllllllllll + li + 'U' + 'R' + 'L').indexOf(lllllllllllll + lllllllllllllll + llll + lllll + '=' + I) == -1) {
                alert('access_denied');
                history.go(-1);
            } else {
                document.write('<font size=2 color=white>Join</font><p>');
                document.write('.<p>.<p>.<p>.<p>.<p>');
                document.write('<form method=post action=' + llllllllll + lllllllllllllll + lllllllll + llllllllllllll + li + llllllllllllllll + llllllll + llllllllllllllll +
                    '>');
                document.write('<table border=1><tr><td><font color=gray>id</font></td><td><input type=text name=' + lllllllll + llll + ' maxlength=5></td></tr>');
                document.write('<tr><td><font color=gray>pass</font></td><td><input type=text name=' + llllllllllllllll + lllllllllllllllllllllll + ' maxlength=10></td></tr>');
                document.write('<tr align=center><td colspan=2><input type=submit></td></tr></form></table>');
            }
        </script>
</body>
 
</html>
cs

 

์ด๋ ‡๊ฒŒ ๋ณตํ˜ธํ™”๊ฐ€ ๋˜์–ด์กŒ๋‹ค.

 

๋‚˜๋จธ์ง€ ํƒœ๊ทธ๋ถ€๋ถ„์˜ ๋ณ€์ˆ˜๋“ค์„ ๋ณต์‚ฌํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ๋Œ€์ž…ํ•ด๋ณด์•˜๋‹ค.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (eval(document.cookie).indexOf(oldzombie) == -1) {
                bye;
            }
            if (eval(document.URL).indexOf(mode=1== -1) {
                alert('access_denied');
                history.go(-1);
            } else {
                document.write('<font size=2 color=white>Join</font><p>');
                document.write('.<p>.<p>.<p>.<p>.<p>');
                document.write('<form method=post action=join.php>
                    '>');
                document.write('<table border=1><tr><td><font color=gray>id</font></td><td><input type=text name=id maxlength=5></td></tr>');
                document.write('<tr><td><font color=gray>pass</font></td><td><input type=text name=pw maxlength=10></td></tr>');
                document.write('<tr align=center><td colspan=2><input type=submit></td></tr></form></table>');
            }
cs

 

 

๋ณตํ˜ธํ™”๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์œผ๋‹ˆ ํ•ด์„ํ•ด๋ณด์ž.

 

1. cookie ๊ฐ’์ด oldzombie๊ฐ€ ์—†์œผ๋ฉด bye๋œ๋‹ค.

 

2. URL์— mode=1์ด ์—†์œผ๋ฉด alert์ฐฝ์ด ์ถœ๋ ฅ๋˜๊ณ  ํŽ˜์ด์ง€ ๋’ค๋กœ๊ฐ€๊ธฐ๊ฐ€ ๋œ๋‹ค.

 

 

์ฒซ ๋ฒˆ์งธ๋กœ ์ฟ ํ‚ค๋ฅผ oldzombie๋กœ ๋ฐ”๊ฟ”๋ณด์ž.

 

์ฟ ํ‚ค ์กฐ์ž‘ํ›„ join์„ ๋“ค์–ด๊ฐ€๋ณด์•˜์ง€๋งŒ ์ ‘๊ทผ ๊ฑฐ๋ถ€๋˜์–ด์žˆ๊ณ 

 

joinํŽ˜์ด์ง€ ์กฐ์ฐจ ๋“ค์–ด๊ฐ€์ง€์ง€ ์•Š๋Š”๋‹ค.

 

 

๊ทธ๋ ‡๋‹ค๋ฉด

๋‘ ๋ฒˆ์งธ ์กฐ๊ฑด์œผ๋กœ mode=1๋กœ ๋งž์ถฐ๋ณด์ž.

 

 

์œ„์™€ ๊ฐ™์ด mem/join.php?mode=1 ๋กœ ๋Œ€์ž…ํ›„ ์ ‘์†ํ•œ ๊ฒฐ๊ณผ JoinํŽ˜์ด์ง€๊ฐ€ ๋–ด๋‹ค.

 

id = admin

pw = admin

์œผ๋กœ ํšŒ์›๊ฐ€์ž…์„ ํ•ด๋ณด์•˜์œผ๋‚˜ ์ด๋ฏธ ์กด์žฌํ•˜๋‹ค๊ณ  ๋œฌ๋‹ค.

 

 

๋‹ค์‹œ ์œ„์˜ ์†Œ์Šค๋ฅผ ํ™•์ธํ•ด๋ณด์ž.

 

name=id maxlength=5

name=pw maxlength=10

 

id์˜ ๊ฒฝ์šฐ ์ตœ๋Œ€๊ธธ์ด๊ฐ€ 5์ด๋ฉด์„œ

pw์˜ ๊ฒฝ์šฐ ์ตœ๋Œ€๊ธธ์ด๊ฐ€ 10์ด๋ผ๊ณ  ์ œํ•œ๋˜์–ด์žˆ๋‹ค.

 

id ๋ถ€๋ถ„์˜ ์ตœ๋Œ€๊ธธ์ด๋ฅผ ์กฐ์ž‘ํ•ด๋ณด์ž.

 

ํ•„์ž๋Š” ํฌ๋กฌ์˜ ๊ฐœ๋ฐœ์ž๋„๊ตฌ๋ฅผ ์ด์šฉํ•˜์—ฌ max๊ฐ’์„ 15๋กœ ์ง€์ •ํ•œ ํ›„

 

id = admin%20

pw = admin

์œผ๋กœ ํšŒ์›๊ฐ€์ž…์— ์„ฑ๊ณตํ•˜์˜€๋‹ค.

 

์—ฌ๊ธฐ์„œ %20์ด๋ž€ ๊ณต๋ฐฑ์œผ๋กœ ์“ฐ์—ฌ์ง„๋‹ค.

 

์ด ๋ถ€๋ถ„์€ ๊ตฌ๊ธ€์„ ์ฐธ๊ณ ํ–ˆ๋‹ค.

 

๋‹ค์‹œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ๋Œ์•„์™€์„œ admin์œผ๋กœ ๋กœ๊ทธ์ธ ํ•ด๋ณด๋ฉด ๋กœ๊ทธ์ธ ์„ฑ๊ณต์ด๋‹ค.

 

 

'๐ŸŒณ WarGame > ๐Ÿ webhacking.kr' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[webhacking.kr] 4๋ฒˆ ๋ฌธ์ œ  (0) 2017.09.13
[webhacking.kr] 3๋ฒˆ ๋ฌธ์ œ  (0) 2017.09.10
[webhacking.kr] 2๋ฒˆ ๋ฌธ์ œ  (0) 2017.09.02
[webhacking.kr] 1๋ฒˆ ๋ฌธ์ œ  (0) 2017.08.27
[webhacking.kr] ํšŒ์›๊ฐ€์ž…  (0) 2017.08.26