본문 바로가기

Problem Solving/Wargame

[Webhacking.kr] Old - 06 문제 풀이

 

처음 들어가면 나오는 화면입니다. 아이디와 패스워드가 보이네요. 일단 소스 코드를 확인해 봅시다.

 

 

 

PHP 소스 코드가 보이네요. 이 부분은 아이디와 비밀번호를 암호화하는 부분인 것 같습니다. $val_idguest, $val_pw123qwe가 들어간 뒤 Base64 인코딩을 20번 수행합니다. 마지막으로 str_replace 함수로 몇 개의 문자열을 바꾼 뒤에 최종적으로 쿠키에 대입하네요.

 

 

 

이 부분은 위에서 수행한 작업을 반대로 하는 것으로 보아 암호화된 내용을 복호화하는 코드인 것 같습니다. 쿠키에 기록된 암호화된 아이디와 패스워드를 가져온 뒤에 복호화를 수행하고, 마지막에 아이디가 admin, 패스워드가 nimda가 되면 문제가 풀리는 것 같네요.

 

 

 

그럼 adminnimda를 암호화해 쿠키에 넣어주면 문제가 바로 풀리겠네요. 구글에 online php compiler를 검색해서 나온 아무 사이트에 들어가서 암호화 코드를 그대로 복사해 값을 확인할 수 있게 했습니다.

 

 

 

실행하니 이렇게 암호화된 값을 확인할 수 있네요.

 

 

 

이제 이걸 쿠키의 userpassword 항목에 대입해서 새로고침을 하게 되면

 

 

 

이렇게 문제가 풀리는 것을 볼 수 있습니다.


https://webhacking.kr

 

Webhacking.kr

Index Welcome Stranger! Notice(en) [2019-08-18] In the process of receiving service, some loss of data has been observed. For example, in very few accounts there may be a truncation of the last one letter of an userid. If userid contains multibyte characte

webhacking.kr