Old 42번 문제 풀이를 시작하도록 하겠습니다.😀

Old 42번 문제

문제를 들어와 보니 표가 존재하고 "test.txt" 와 "flag.docx"가 보입니다.

그리고 "flag.docx"를 읽으라고 하네요😁

 

소스코드

소스코드를 보니 "text.txt"는 "?down=dGVzdC50eHQ="로 이동하는 반면,

"flag.docx"는 "javascript:alert("Access%20Denied")"로 이동합니다.

 

즉, "flag.docx" 옆의 다운로드 기능은 그저 alert만 띄우는 것이라는 거죠🙄

그럼 다운을 받아야하는 방법을 알아야겠죠?😀

 

"text.txt"의 경로를 보면 "dGVzdC50eHQ="에서 "="가 들어간 것을 보고 base64 인코딩이라는 것을 알 수 있습니다.

 

atob

atob()는 base64 디코딩을 해주는 함수입니다😁

 

콘솔에서 실행 시켜보니 "text.txt"가 나오는 군요!

 

그럼 "flag.docx"도 base64 인코딩해서 down 인자에 넣으면 다운로드 되지 않을까 싶네요😀

 

btoa

btoa는 문자열을 base64 인코딩 해주는 함수 입니다😁

 

값을 down 인자에 넣어서 보내주면 되겠죠?

 

Success

이렇게 말이죠!

 

그럼 "flag.docx"가 다운이 되고 flag를 확인하실 수 있으실 겁니다😀

 

이만 문제풀이를 마치도록 하겠습니다😊

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

Old - 12 (score:250)  (0) 2020.10.12
Old - 10 (score:250)  (0) 2020.10.10
Old - 36 (score:200)  (0) 2020.10.07
Old - 23 (score:200)  (0) 2020.10.05
Old - 20 (score:200)  (0) 2020.04.07