챌린지6 페이지를 들어가보면 위와같이 ID와 PW가 표시된 것을 확인할 수 있습니다.

페이지 소스보기를 해보면 ID와 PW를 base64로 20번 인코딩 후 숫자는 지정된 특수문자로 replace처리한 결과를 쿠키로 지정하는 것을 확인 할 수 있습니다.

이후 페이지를 불러올 때 ID와 PW를 특수문자를 지정된 문자열로 치환 후 다시 20번 디코딩하고 ID와 PW를 보여주는 것을 확인 할 수 있습니다.

디코딩의 결과의 ID는 "admin" 이고 PW는 "nimda"가 되었을 때 solve() 함수를 호출하는 것을 확인 할 수 있습니다.

이를 파이썬으로 짜보면 아래와 같습니다.

위는 인코딩 소스입니다.

위는 인코딩 결과입니다.

이제 위의 결과를 토대로 프록시툴을 이용하여 ID와 PW를 세팅해주면 됩니다.

저는 칼리리눅스에 내장된 burp를 이용하여 진행했습니다.

먼저 기본 설정된 ID와 PW로 프록시를 잡아보겠습니다.

쿠키값에 인코딩된 문자열이 기재되어 있는 것을 확인 할 수 있습니다.

이제 저 부분에 파이썬 코드로 돌린 결과를 대입해주면 될 것 같습니다.

위와 같이 대입했습니다.

이제 결과를 확인해보겠습니다.

성공적으로 admin, nimda가 출력되는 것을 확인 할 수 있습니다.

챌린지6 완료!!

'WAR GAME > Webhacking.kr' 카테고리의 다른 글

[webhacking.kr] Level8 (old)  (0) 2020.04.27
[webhacking.kr] Level7 (old)  (0) 2020.04.27
[webhacking.kr] Level5 (old)  (2) 2020.04.27
[webhacking.kr] Level4 (old)  (312) 2020.04.27
[webhacking.kr] Level3 (old)  (313) 2020.04.27

+ Recent posts