본문 바로가기
Hacking/WebHacking.kr

Webhacking.kr : old-19 (150 pt)

by newbie22 2021. 1. 25.

 

문제에 접속하면 다음과 같은 화면이 나타납니다.

 

id 입력란의 기본 값이 admin으로 되어 있습니다. 제출을 클릭하면 you are not admin이라는 문구가 나타났다가 시간 좀 지나면 다시 해당 페이지로 돌아옵니다.

 

F12 -> Elements 탭에서 코드를 확인해봤지만 정보를 쉽게 얻을 수 없었습니다.

 

따라서 임의로 guest라는 값을 넣고 제출해보았습니다.

 

 

-> 해당 페이지에서 아무리 logout을 클릭해도 이전 페이지로 돌아가지 않았습니다. 따라서 쿠키를 확인해보았습니다.

 

 

-> userid라는 쿠키가 생성되었습니다. 이때 해당 쿠키 값을 보면 %3D(=) 가 있는 것을 확인할 수 있습니다. base64으로 인코딩 되어 있다고 판단하였습니다.

 

-> 예상에서 벗어난 값이 나왔습니다. (id is guest 이런 문구를 예상하였습니다.)

-> 한지만 값 형태가 마침 hash 같았습니다. 하지만 160자리의 hash는 알고 있는 것은 없었습니다.  

 

따라서 여러 개 값을 확인해보면 알 수 있을지도 몰라서 id가 1인 것으로 로그인하였습니다.

 

-> 이번에는 32자리의 값이 나왔습니다. 

 

 

-> md5로 암호화했을 때 같은 값이 나왔습니다. 따라서 입력한 id의 각 자리를 따로 md5한 것을 합친 후에 bas64으로 인코딩한 것이 쿠키 값임을 알 수 있습니다. 

 

ex) guest

base64.encoding(md5(g) + md5(u) + md5(e) + md5(s) + md5(t))

이런 방식으로 쿠키 값이 이루어지는 것을 확인할 수 있습니다.

 

따라서 이런 방식으로 쿠키 값을 admin으로 변조하면 문제는 풀립니다.

 

 

 

끝~~

'Hacking > WebHacking.kr' 카테고리의 다른 글

Webhacking.kr : old-27 (150 pt)  (0) 2021.01.25
Webhacking.kr : old-25 (150 pt)  (0) 2021.01.25
Webhacking.kr : old-61 (200 pt)  (0) 2021.01.25
Webhacking.kr : old-59 (200 pt)  (0) 2021.01.25
Webhacking.kr : old-42 (200 pt)  (0) 2021.01.24