Wargame/webhacking.kr(30)
-
webhacking.kr 12번 문제(old)
문제 페이지에 접속하면 위와같이 javascript challenge 라는 글자만 적혀있다. 자바스크립트와 관련된 문제일 것 같아 f12 를 눌러 소스코드를 확인해 봤다. 아무래도 이 코드를 해석하면 자바스크립트 코드인 것 같아 해당 내용을 개발자 도구의 console에서 실행 시켜보았다. 그래서 이 코드를 복사해서 console 창에 붙여넣고 이 쓸모없는 문자를 빼고 ;를 넣어주면 소스코드가 바로 해석이 된다. 콘솔 창에 위와같이 소스가 잘려서 뜨는데 이 소스코드를 더블클릭하면 전체 소스를 볼 수 있다. 이 코드를 해석해보면 URL 의 "="문자부터 문자열을 잘라서 ck 변수에 저장한다. 아래의 반복문에선 아스키 코드의 1~122 까지의 문자를 enco 변수에 저장한다. enco_(x) 함수에서는 en..
2019.10.04 -
webhakcing.kr 11번(old)[정규표현식]
우선 이 포스팅을 보기전 혼자 공부해서 풀고싶다면 https://opentutorials.org/course/909/5142여기서 보고 온다면 충분히 풀 수 있을 것이다. 11번 페이지를 들어가자마자 Wrong 라는 글자가 뜬다. 바로 소스코드를 확인해보자. 소스코드를 해석해보면 $pat 는 위와같은 정규표현식으로 이루어져 있고 GET 방식으로 전달된 val 의 값과 $pat의 값이 같으면 문제가 풀리는 것 같다. 다들 정규표현식을 알거라 생각하고 바로 식을 쓰겠다. 혹시라도 모른다면 상단의 사이트를 클릭해 공부하고 오는 것을 권장한다. [1-3] : 1~3까지의 숫자중 하나 [a-f]{5} : a~f 까지의 문자 5개 *자신의 아이피* \t 탭키 :url인코딩을 하여 %09로 적는다. 사이에 있는 p,..
2019.10.02 -
webhacking.kr 10번(old)
10번 문제는 로또를 사러 가는 문제이다. 10번문제의 코드는 위와 같은데 태그를 유심히 보자. ->해석하자면 클릭할때마다 오른쪽으로 1씩 이동한다. 그래서 O가 1600이 되면 문제가 풀리는것 같다. 근데 이 O를 1600번을 누르기 귀찮고 시간도 만히 걸리기 때문에 저 코드를 조금만 수정해준다면 한번 클릭만에 이 문제를 해결 할 수 있다. a 태그의 onclick 속성을 보면 onclick="this.style.left=parseInt(this.style.left,10)+1+'px'; if(this.style.left=='1600px')this.href='?go='+this.style.left" 이렇게 두 부분으로 나눌 수 있다. 첫번째 줄은 클릭할때 오른쪽으로 이동한다는 명령이고 두번째는 조건이다...
2019.10.02 -
webhacking.kr 6번 문제(old)
오늘은 webhacking.kr 6번 문제를 풀어보겠습니다. 바로 view-source 를 눌러 소스를 확인해봅시다. 일단 소스가 좀 기네요 ;; 하지만 solve()함수를 실행시키기 위해선 $decode_id가 admin이고 $decode_pw는 nimda 여야 하는건 알겠습니다. 그리고 메인페이지에 출력된 결과를 보면 현재 아이디가 guest 이고 비밀번호는 123qwe 라는것을 알 수 있습니다. 소스를 해석해 본다면 $decode_id 와 $decode_pw의 값이 각각 쿠키의 user와 password 값을 받아오는 것을 알 수 있습니다. 그래서 user 의 값과 password 의 값을 각각 admin , minda 를 base 64로 20번 인코딩 하여 쿠키 값으로 적용 시켜봅시다. 저는 at..
2019.10.02 -
webhacking.kr 5번 문제(old)
5번문제의 메인 페이지 처음에 이 메인페이지를 보고 인젝션 문제인줄 알고 있었는데 join 을 막아놓아서 인젝션 문제는 아닐 것 이라고 생각했습니다. 바로 login을 들어가서 아무 글자나 입력해보도록 합니다. 회원가입도 하지 않았고 아무글자나 입력했는데 wrong password 라는 문구가 보입니다. 우선 회원가입을 해야 할 것 같습니다. 그렇다면 메인페이지로 다시 이동한 후 join 페이지를 눌러 봅시다. 위처럼 권한이 없다고 경고장이 뜹니다. 그후 메인페이지의 소스를 확인해 보니 mem/ 이라는 디렉토리가 보입니다. 바로 mem/을 주소창에 입력해 줍니다. 역시 mem 디렉토리에 join.php , login.php 의 파일이 잇습니다. 하지만 우리는 회원가입을 해야하기 때문에 join.php 파..
2019.10.02 -
webhacking.kr 1번 문제(old)[쿠키값 변조]
안녕하세요 오늘은 webhacking.kr의 문제 1번을 풀어보겠습니다. 우선 www.webhacking.kr에 에 들어가 로그인을 합시다. 1번을 클릭하면 위와같은 사이트가 있고, view-source라는 링크가 있습니다. 우선 이 문제를 파악하기 위해서 view-source를 클릭해 소스를 봅시다. 그럼 위와같은 소스코드가 보이는데 가장 먼저 봐야할 곳이 solve()함수 입니다. solve() 함수는 해결한다는 뜻으로 앞으로 이 워게임 사이트를 풀때 이 함수를 자세히 보아야 합니다. 위의 소스코드에선 solve()함수가 if($_COOKIE['user_lv']>5) 라는 if문에 있습니다. 그렇다면 solve() 함수를 실행시키기 위해선 if문의 조건을 맞춰주어야 이 함수를 실행 시킬 수 있습니다...
2019.10.01