본문 바로가기
정보보안/Web Hacking

드림핵 문제풀이 - Carve party // 웹 해킹 기초, JavaScript 문법기초, JavaScript 함수

by 우동이 2022. 8. 2.
300x250

난이도 : 하하

 

Dreamhack CTF Season 1 Round #2에 출제된 문제라고 합니다.

저는 드림핵에서 나오는 웹 해킹 로드맵을 쭉 따라가다가

에필로그에서 풀게 되었습니다.

문제 서버가 제공되지는 않고 문제 파일만 다운로드합니다.

. html 파일 하나만 다운로드됩니다.

파일을 웹으로 열어보겠습니다.

??

맨 아래를 보면 10,000번을 클릭해야 한다고 합니다.

클릭해봅시다.

30번가량 클릭하니 잭 오 랜턴 입이 보입니다.

정말 1만 번을 클릭해야 하나 봅니다.

처음엔 어떻게 풀어야 하나 머리가 안 돌아가더라고요

그래서 별 생쇼를 다했습니다.

잭오랜턴 파일이 돌아갈 웹서버

먼저 jack-o-lantern.html 파일을 플라스크에 템플릿으로 넣고

웹 서버를 하나 돌린 후에

selenium으로 오토 클리커를 만들기도 했는데

파이썬 라이브러리 selenium을 이용한 오토클리커

하지만 다 허튼짓이었습니다.

제 실력으로는 작동을 못 시키더라고요 하하

그래서 알아보니 html 코드 웹 페이지는

웹 개발자 도구를 사용해 콘솔로 JavaScript 함수를 짜서 넣을 수 있더라고요

chrome, firefox 기준 [F12] 개발자 도구로 진입해

콘솔 창에서 코드를 작성해줍니다.

작성된 코드는

for(i=0; i<10000; i++){
    $('#jack-target').trigger("click")
}

자바스크립트의 함수 코드입니다.

jack-target을 타깃으로 'click' trigger를 10,000번 발생시키는 반복문입니다.

 

타깃은 호박 이미지인 <svg> 태그의 id가 타깃입니다.

실제로 개발자 도구의 마우스로 가져 다대 보시면 저 호박은 img 태그가 아닌 svg 태그입니다.

아무튼 코드를 실행시켜봅시다.

반복문이 실행되고 1만 번의 클릭이 수행되었습니다.

이후 flag가 출력됩니다.

 

 

이 간단한 코드 하나를 못 짜서 문제를 헤맨 걸 생각하니

확실히 자바스크립트 공부를 소홀히 한 제 자신에 자책이 듭니다.

 

300x250

댓글