본문 바로가기
CTF/webhacking.kr

[CTF] webhacking.kr 19번 Write-Up

by spareone 2022. 10. 15.

webhacking.kr 19번 문제풀이 Write Up 입니다.

[그림 1] Level 19 페이지

id를 입력하는 칸이 있고, admin이 기본값으로 들어가 있습니다.

[그림 2] admin 로그인 실패

[그림 1]의 상태로 바로 Submit를 하면 사기치지 말라고 합니다.

[그림 3, 4] 임의의 문자열로 로그인 시도

아무거나 치고 Submit를 했더니 반갑다는 표시가 뜹니다.
근데 로그아웃은 작동을 하지 않습니다. logout 버튼을 누르면 로그아웃이 되지 않습니다.

[그림 5] Cookie 확인

이것저것 뒤저보다가 cookie가 있는 것을 발견했습니다.
저기 뒤에 %3D는 = 입니다.
맨 뒤에 =는 base64 인코딩할 때 패딩으로 많이 사용하는데, base64로 인코딩 된 값임을 유츄할 수 있습니다.

[그림 6] base64 decoding 한 모습

base64 디코딩을 한 결과입니다. 디코딩이 되긴 했지만 아직은 알아볼 수 없습니다.

[그림 7] 다시 base64 decoding을 시도한 모습

해당 결과를 긁어와 다시 디코딩을 시도했지만, 깨져서 나오는 것을 보니 더 이상의 디코딩은 의미가 없다고 판단했습니다.

답이 안 나와서 계속 생각해 보다가, 문자열을 잘라 원본과 1:1 매칭해보기로 했습니다.

[그림 8] 문자열 매칭을 한 모습

5글자 기준으로 전체 문자열 길이가 160이고, 160/5=32이기 때문에 32씩 잘라서 매칭해 보았습니다.
hash쪽으로 방향을 잡고 생각해 보았습니다.
hash가 단방향 함수이지만 MD5 이런 것들은 보안취약점으로 인해 더 이상 사용하지 않고 복호화 도구도 많이 돌아다니고 있습니다.

https://md5.web-max.ca/

MD5 hash decrypter / decoder: Reverse lookup MD5 hashes online with this tool

Tools to decode / decrypt / reverse lookup MD5 hashes This tool searches multiple MD5 rainbow tables for matches to a large number of MD5 hashes. MD5 is a hashing algorithm and therefore is technically not encryption, but hashes can be resolved and reverse

md5.web-max.ca

여기서 해독해 보겠습니다.

[그림 9, 10, 11, 12, 13] MD5 해독한 모습

[그림 8]과 결과가 동일합니다.
사실 이건 취약점 때문에 해독이 가능하다기보다는, 한 글자씩 변환하다 보니 원본 -> hash 조합을 쉽게 찾을 수 있는 것으로 보는 게 맞습니다.

[그림 14, 15, 16, 17, 18] 한 글자씩 MD5 변환한 모습

이제 admin을 한 글자 하나하나 MD5로 변환합니다.
(결과가 소문자가 되어야 합니다. 처음에 썼던 툴이 대문자로 출력해줘서 헤멤)

[그림 19] base64 인코딩 한 모습

변환이 끝나면 모두 이어붙여서 base64 인코딩합니다.

[그림 20] cookie를 수정한 모습

cookie를 수정 후 새로고침합니다.

[그림 21, 22] 문제 해결 완료 메시지

새로고침하면 문제가 정답처리 됩니다.

'CTF > webhacking.kr' 카테고리의 다른 글

[CTF] webhacking.kr 23번 Write-Up  (0) 2022.10.18
[CTF] webhacking.kr 20번 Write-Up  (0) 2022.10.15
[CTF] webhacking.kr 18번 Write-Up  (0) 2022.10.14
[CTF] webhacking.kr 17번 Write-Up  (0) 2022.10.14
[CTF] webhacking.kr 16번 Write-Up  (0) 2022.10.14

댓글