본문 바로가기
Web/Webhacking.kr

Webhacking.kr Challenge old-19 문제 풀이

by jh117jh 2023. 6. 19.
728x90

오랜만에 webhacking.kr 문제를 푸니까 재밌는 거 같다.

 

이번에 풀 문제는 19번 문제로

 

접속하면 위와 같이 id입력칸에 admin이 입력되어 있고 제출이 있다.

제출하면 admin이 아니라는 말과 함께 다시 로그인페이지로 돌아갔다.

다른 아이디를 입력했을 때는 정상적으로 로그인이 됐다.

바로 쿠키를 봤더니 아니나다를까 

userid라는 쿠키값이 생긴걸 볼 수 있다.

여기서 쿠키값을 보면 마지막이 %3D%3D(==)로 되어있는 것을 볼 수 있다.

이것은 base64로 인코딩된 특징이다.

 

사실 이문제는 admin값을 md5로 암호화하고 그걸 base64로 인코딩하여 쿠키값에 넣어줘야 하는 문제인데

잔머리 좀 굴려봤다.

 

어차피 admin만 로그인이 안될 뿐 Admin과 a는 로그인이 된다 그는 즉, 각각 로그인해서 A부분과 a부분의 쿠키값을 바꿔주면 된다

 

a로 로그인 했을때

MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE%3D

 

A로 로그인했을 때

N2ZjNTYyNzBlN2E3MGZhODFhNTkzNWI3MmVhY2JlMjk%3D

 

Admin으로 로그인했을 때 ->여기서 A부분을 a값으로 교체 (각각 뒤에 %3D부분은 빼고 교체)

N2ZjNTYyNzBlN2E3MGZhODFhNTkzNWI3MmVhY2JlMjk4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4N2MxYTg3NDE3YjhiOTY1YWQ0YmNhMGU0MWFiNTFkZTdiMzEzNjNhMQ%3D%3D

 

결과 = admin

MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4N2MxYTg3NDE3YjhiOTY1YWQ0YmNhMGU0MWFiNTFkZTdiMzEzNjNhMQ%3D%3D

 

이 쿠키값을 넣어주면

정상적으로 로그인되는 것을 볼 수 있다.

 

번외

 

사실 이 문제를 보자마자 2분 만에 풀었는데.... 그 풀이를 왜 그렇게 풀렸는지 저도 잘 몰라서 참고만 하시기 바란다.

 

아이디를 입력할 때 5글자 제한이 걸려있는데 

개발자 모드로 maxlength를 늘려준다음 

 

admin뒤에 주석처리를 하면 문제가 풀린다. ex)#,--

 

처음에 그냥 시도해 봤는데 풀려서 당황했다.

728x90