-
<Webhacking.kr> old-19Wargame/Webhacking.kr 2021. 12. 1. 13:47
id 입력 창이 있고 기본 값으로 admin이 들어있다.
제출을 누르면
admin이 아니라고 한다.
1을 제출하면
0을 제출하면 URL에 ?id=0이 붙어있지만 입력 창은 변하지 않는다.
로그아웃 버튼을 눌려도 로그아웃이 되지 않는다.
'EditThisCookie'를 통해 userid의 쿠키를 지우면 로그아웃이 된다.
이것으로 보아 쿠키가 관련있는 것 같다.
1을 제출했을 때의 쿠키 값은
"YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWI%3D"라는 문자열을 가진다.
%3D가 있는 것으로 보아 URL Encoding 되어있는 것 같다.
URL Decoding하면 "YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWI="가 나온다.
"YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWI="에 대소문자와 숫자도 있고 끝이 '='이므로 base64로 인코딩되어 있는 것 같다.(base64에서 '='은 끝을 알리는 코드로 쓰임)
base64로 디코딩해보면 "c4ca4238a0b923820dcc509a6f75849b"가 나온다.
"c4ca4238a0b923820dcc509a6f75849b"의 길이는 32다. 0~f 까지 있는 걸로 보아 16진수임을 알 수 있다.
16진수로 32자리 문자열이므로 md5로 인코딩 되어 있음을 알 수 있다.
1을 md5로 암호화 해보면 "c4ca4238a0b923820dcc509a6f75849b"가 나옴을 알 수있다.
즉, 내가 입력한 값인 1 -> md5 -> base64 -> URL Encoding을 수행한 결과가 쿠키 값인 것을 알 수 있다.
11을 입력하면 "YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWJjNGNhNDIzOGEwYjkyMzgyMGRjYzUwOWE2Zjc1ODQ5Yg%3D%3D"라는 문자열을 가진다.
URL Decoding 해보면 "YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWJjNGNhNDIzOGEwYjkyMzgyMGRjYzUwOWE2Zjc1ODQ5Yg=="이 나오고
base64로 디코딩해보면 "c4ca4238a0b923820dcc509a6f75849bc4ca4238a0b923820dcc509a6f75849b"이 나온다.
이를 통해 1이상의 문자열은 한번에 처리되는 것이 아니라 한 글자씩 처리되는 것을 알 수 있다.
admin을 위와 같은 방법으로 구한 값을 쿠키 값으로 넣으면 문제가 풀릴 것 같다.
md5 a 0cc175b9c0f1b6a831c399e269772661 d 8277e0910d750195b448797616e091ad m 6f8f57715090da2632453988d9a1501b i 865c0c0b4ab0e063e5caa3387c1a8741 n 7b8b965ad4bca0e41ab51de7b31363a1 위의 5개 문자열을 한번에 base64 인코딩하면
"MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4N2MxYTg3NDE3YjhiOTY1YWQ0YmNhMGU0MWFiNTFkZTdiMzEzNjNhMQ==" 문자열이 나온다.
이를 URL Encoding 하면
"MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4N2MxYTg3NDE3YjhiOTY1YWQ0YmNhMGU0MWFiNTFkZTdiMzEzNjNhMQ%3D%3D" 문자열이 나온다.
그럼 admin을 제출한 페이지에서 이 문자열을 userid 쿠키의 값으로 주고 새로고침을 하면 문제가 풀린다.
'Wargame > Webhacking.kr' 카테고리의 다른 글
<Webhacking.kr> old-21 (0) 2021.12.03 <Webhacking.kr> old-20 (0) 2021.12.02 <Webhacking.kr> old-18 (0) 2021.11.30 <Webhacking.kr> old-17 (0) 2021.11.30 <Webhacking.kr> old-16 (0) 2021.11.30