yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆

challenge (old-42) 본문

wargame 풀이/webhacking.kr

challenge (old-42)

yehey 2021. 1. 19. 22:32

42번 풀이

이번 문제에는 문서를 download 받을 수 있는 링크가 보인다!

우리가 원하는 건 flag이므로 flag.docx를 눌러보았다

 

역시 쉽게 다운받아지지 않고 접근이 제한되었다.

test.txt를 다운로드 해보았을 때는 잘 다운로드 되어 저장되었다.

 

파일 다운로드 할때 누르는 download가 html의 a태그와 비슷하게 생겨서 해당 페이지의 코드를 확인해보았다.

 

정상적으로 다운로드가 진행되는 test.txt의 경우 down에 인자가 전달되어 링크가 실행되는 것을 볼 수 있다.

반면에 flag.docx의 경우에는 javascript로 Access denied를 alert로 출력하는 것을 볼 수 있다.

그러면 flag.docx도 test.txt처럼 down 받을 수 있게 인자를 전달할 수 있지 않을까?

 

먼저 test.txt의 down 인자로 무엇이 전달되었는지 알아내야 할 것 같다. (그래야 flag.docx도 인자를 추측하겠죠!)

우선 base64 인코딩인지 확인하기 위해 콘솔 창에서 atob 함수를 사용해보았다.

 

base64가 맞는 것 같다.

그럼 down의 인자로 flag.docx를 base64로 인코딩 한 값을 주면 될 것 같다.

btoa 함수를 사용해서 flag.docx의 base64 encode 값을 얻어보자

 

 이제 URL을 통해 down의 인자로 위의 값을 넣어주면 flag.docx가 정상적으로 다운로드 된다!

 

'wargame 풀이 > webhacking.kr' 카테고리의 다른 글

challenge (old-41)  (0) 2021.01.31
challenge (old25)  (0) 2021.01.21
challenge (old-6)  (0) 2021.01.19
challenge (old-45)  (0) 2021.01.15
challenge (old-44)  (0) 2021.01.14
Comments