1을 넣어본다
로그아웃 안된다. 사이트 에러인듯 싶다ㅜ.
그냥 url값으로 바꿔주며 뭔갈 얻어내야 했다.
일단 이상태로 오면 기존에 없던 쿠키값이 생긴다.
YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWI%3D
%3D가 있는걸로 보아 현재 문자가 UrlEncoding 되어있는 상태를 미루어 짐작해볼 수 있다.
UrlDecoding 해주면 나머지 문자들은 그대로고 %3D만 '='로 바뀌게 된다.
YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWI= //UrlDecoding 이후.
대소문자가 구분되어있고, 숫자도 있으며 = 문자도 있는 것을 미루어 Base64 인코딩 방식을 사용했다는 것을 알 수 있다.
%3D는 '=' 문자로 base64에서 인코딩 시 공백을 표현하는 방식이다.
ps. 디코딩 해줄 때에는 '='를 제거해주고 디코딩 해주는 것이 깔끔하다.
따라서
YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWI=
또는
YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWI
이걸 base64로 디코딩시켜보면
c4ca4238a0b923820dcc509a6f75849b 라는 문자가 나온다.
구글 개발자 콘솔에 "c4ca4238a0b923820dcc509a6f75849b".length 확인결고 길이가 32다.
16진수로 길이가 32라면 빼박 md5다.
▶︎ 참고
md5 -> 128비트 -> 2의 4승이 16진수이므로, 4로 나누면 32. 16진수 32자리.
sha-1 -> 160비트 -> 마찬가지로 계산하면 16진수 40자리.
sha-256 -> 256비트 -> 마찬가지로 계산하면 16진수 64자리.
세 해싱 함수는 정말 자주 등장하는 함수이므로
16진수 32자리면 md5, 40자리면 sha-1, 64자리면 sha-256 이라는 것을 외워두면 좋다.
어쨌든, 내가 1을 입력했을 때 c4ca4238a0b923820dcc509a6f75849b 가 나온거기 때문에,
1의 md5값이 저것인지를 확인해보면 맞다는 것을 알 수 있다.
즉 내가 입력한 값에 대해 md5해싱한 뒤 base64인코딩 한 뒤 url인코딩 하여 쿠키값 안에 넣는 형식이다.
그래서 admin을 md5해싱한 뒤 base64 해싱하고 url 인코딩하여 쿠키값으로 넣어줬더니
뭘까. 일단 암호화가 어떤 형식으로 진행되는진 알았으므로, 다른 값을 입력해보면서 뭐가 잘못된건지 알아봐야했다.
아까 1을 입력했으니 11을 입력해봤다.
YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWJjNGNhNDIzOGEwYjkyMzgyMGRjYzUwOWE2Zjc1ODQ5Yg%3D%3D
//UrlDecoding
YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWJjNGNhNDIzOGEwYjkyMzgyMGRjYzUwOWE2Zjc1ODQ5Yg==
//Base64Decoding
c4ca4238a0b923820dcc509a6f75849bc4ca4238a0b923820dcc509a6f75849b
그랬더니 md5해시 해시 함수값으로 1의 해싱값이 연속으로 붙여서 나온 것을 알았다.
아 한자리씩 md5해싱 한 뒤에 묶어서 Base64Encoding해주고 UrlEncoding해주면 되겠다는 것을 알 수 있다.
'a', 'd', 'm', 'i', 'n' 5자리를 차례로 md5 해싱해준다.
a = 0cc175b9c0f1b6a831c399e269772661
d = 8277e0910d750195b448797616e091ad
m = 6f8f57715090da2632453988d9a1501b
i = 865c0c0b4ab0e063e5caa3387c1a8741
n = 7b8b965ad4bca0e41ab51de7b31363a1
이걸 묶어서
0cc175b9c0f1b6a831c399e2697726618277e0910d750195b448797616e091ad6f8f57715090da2632453988d9a1501b865c0c0b4ab0e063e5caa3387c1a87417b8b965ad4bca0e41ab51de7b31363a1 값을 base64 인코딩해준다.
->
MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4N2MxYTg3NDE3YjhiOTY1YWQ0YmNhMGU0MWFiNTFkZTdiMzEzNjNhMQ==
이걸 UrlEncoding해준다
->
MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4N2MxYTg3NDE3YjhiOTY1YWQ0YmNhMGU0MWFiNTFkZTdiMzEzNjNhMQ%3D%3D
이 값을 쿠키값에 넣어주고 새로고침
'[웹해킹] > [Webhacking.kr]' 카테고리의 다른 글
[Webhacking.kr] 21번 (0) | 2020.10.02 |
---|---|
[Webhacking.kr] 20번 (0) | 2020.09.30 |
[Webhacking.kr] 18번 (0) | 2020.09.28 |
[Webhacking.kr] 17번 (0) | 2020.09.28 |
[Webhacking.kr] 16번 (0) | 2020.09.28 |