목표 : MD5, 쿠키
<html>
<head>
<title>Challenge 19</title>
<style type="text/css">
body { background:black; color:white; font-size:10pt; }
input { background:silver; color:black; font-size:9pt; }
</style>
</head>
<body>
<form>
id : <input type=text name=id value='admin' maxlength=5 size=5>
<input type=submit>
</form>
</body>
</html>
PHP
복사
admin이 기본적으로 입력돼있고 제출을 누르면 페이지가 이동한다.
<html>
<head>
<title>Challenge 19</title>
<style type="text/css">
body { background:black; color:white; font-size:10pt; }
input { background:silver; color:black; font-size:9pt; }
</style>
</head>
<body>
you are not admin<meta http-equiv=refresh content=3;url=./>
PHP
복사
3초 뒤 새로고침하며 첫 페이지로 넘어간다.
guest로 로그인해보자
세상 친절하게 맞이해준다.
생긴게 base64인데 바로 디코딩이 안된다
%3d%3d = ==
이럴 때는 한 글자씩 확인해보는 것이 좋다
쿠키에서 userid값을 삭제하면 로그아웃된다.
#쿠키
MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE%3D
#base64 decode
0cc175b9c0f1b6a831c399e269772661
PHP
복사
a로 로그인. 비교적 짧은 게 나왔다.
딱 32글자다. md5 복호화하자
ad 두 글자를 해보자
#쿠키
MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZA%3D%3D
#base64 decode
0cc175b9c0f1b6a831c399e2697726618277e0910d750195b448797616e091ad
PHP
복사
그냥 봐도 a d 두 글자 md5 붙인 형태다.
그냥 md5 a d m i n 5글자를 붙이면 되겠다.
이제 반대로 a d m i n > md5 > base64를 하면 된다.
#admin md5
0cc175b9c0f1b6a831c399e2697726618277e0910d750195b448797616e091ad6f8f57715090da2632453988d9a1501b865c0c0b4ab0e063e5caa3387c1a87417b8b965ad4bca0e41ab51de7b31363a1
#md5 base64
MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4N2MxYTg3NDE3YjhiOTY1YWQ0YmNhMGU0MWFiNTFkZTdiMzEzNjNhMQ==
#change ==
MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4N2MxYTg3NDE3YjhiOTY1YWQ0YmNhMGU0MWFiNTFkZTdiMzEzNjNhMQ%30%30
PHP
복사
해당 값으로 쿠키를 바꾸고 새로고침하면 된다.