Web/Web Hacking (Wargame)

[webhacking.kr] old-19

✏️ Check


원래는 id를 입력하는 창이 나타난다.

admin을 입력하면 'you are not admin'이라는 메세지가 나온다.

 

guest로 로그인하니 hello guest가 뜨고, logout 버튼은 있지만 실제로 logout이 되지는 않는다.

GET 방식으로 id=admin을 입력해도 다시 hello guest로 돌아온다.

 

🔎 Analyze


cookie 값을 보면 userid에 대한 cookie가 있는 것을 볼 수 있다.

보아하니 여러번 디코딩 또는 복호화를 해줘야 할 것 같다.

 

확인을 조금 더 쉽게 하기 위해 id=a로 변경해준다.

 

일단 %3D가 "=" 기호를 나타내는 것을 알 수 있고 그렇다면 1차적으로 base64 인코딩이 되어있음을 알 수 있다.

base64 decoding

이처럼 32bit의 값이 나온다면 md5 암호화된 값일 가능성이 있다.

 

md5로 암호화되었던 것이 맞았다.

 

그럼 이제 userid의 cookie 값으로 admin이 들어갈 수 있도록 차례대로 암호화해준다.

🔓 Exploit


1. MD5 암호화 → 2. Base64 Encoding → 3. URL Decoding

 

MD5 암호화를 할 때 주의할 점은 각 자리를 하나씩 암호화를 해야한다는 것이다.

guest를 id로 전달했을 때, 전체 해시값이 32개 이상의 문자가 나왔다는 것은 각 자리를 하나씩 암호화했다는 것을 보여준다.

더보기

a: 0cc175b9c0f1b6a831c399e269772661

d: 8277e0910d750195b448797616e091ad

m: 6f8f57715090da2632453988d9a1501b

i: 865c0c0b4ab0e063e5caa3387c1a8741

n: 7b8b965ad4bca0e41ab51de7b31363a1

 

0cc175b9c0f1b6a831c399e2697726618277e0910d750195b448797616e091ad6f8f57715090da2632453988d9a1501b865c0c0b4ab0e063e5caa3387c1a87417b8b965ad4bca0e41ab51de7b31363a1

 

 

 

SMALL

'Web > Web Hacking (Wargame)' 카테고리의 다른 글

[webhacking.kr] old-18  (0) 2023.02.10
[webhacking.kr] old-33  (0) 2023.02.04
[Dreamhack] out of money  (0) 2023.02.04
[webhacking.kr] old-32  (0) 2023.02.03
[hackthissite/Javascript] Mission 1 ~ Mission 7  (1) 2023.01.30