## prob4(web, 150pt)
[Main]
4번 문제는 별도의 php소스코드나 html 소스코드를 볼 필요가 없었던 문제입니다. 단순히 base64 인코딩 방식을 알고 있는지를 묻는 문제였습니다.
우선 문제 페이지를 살펴보면 아래 [그림 1]과 같습니다.
[그림 1] 문제 페이지
뭔가 알 수 없는 문자열이 보이고 아래에 password를 입력하고 제출 버튼을 누르면 될 것 같았습니다. 우선 위의 문자열은 제일 마지막에 "=="값으로 끝나는 점, 인코딩된 문자열의 범위 등을 보았을 때 대충 base64라는 것을 눈치챌 수 있습니다. 그래서 이 문자열을 간단히 python으로 디코드 해보면 아래 [그림 2]와 같습니다.
[그림 2] base64 decode
그래서 나온 디코드된 값을 password에 입력했더니 아무 반응이 없었습니다. 아마 base64로 디코드 시킨 후 나온 결과도 hash값인 것 같으니 decrypt해줘야 한다고 생각했고, 대충 online hash decrypter를 이용해 아래 [그림 3]과 같이 decrypt해주면 sha1방식의 hash인 것을 알 수 있었고, decrypt결과 또 hash값이 나왔습니다.
[그림 3] base64 -> sha1 -> ??? decode
나온 값이 또 hash처럼 보입니다. 당연히 password에 입력해보았지만 아무 반응이 없어서, 다시 한번 decrypt해주었습니다. 그랬더니 아래 [그림 4]의 결과가 나왔습니다.
[그림 4] base64 -> sha1 -> sha1
결국 답은 "test"이었습니다.
'Wargame > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] prob5(300pt) (0) | 2018.02.21 |
---|---|
[webhacking.kr] prob33(200pt) (0) | 2018.02.21 |
[webhacking.kr] prob1(200pt) (0) | 2018.02.21 |
[webhacking.kr] prob46(300pt) (0) | 2018.01.26 |
[webhacking.kr] prob25(150pt) (0) | 2018.01.26 |