전체 글(86)
-
wargame.kr already got 문제 풀이
wargame.kr 의 첫번째 문제 alread got 이라는 문제이다. 문제 설명을 보면 can you see HTTP Response header? 이라고 적혀있고 문제를 풀기위해 start 버튼을 눌러보자. you've already got key! :p 라는 문구가 적혀있으며 아무것도 없다. 소스코드를 확인해도 아무것도 없다. 아까 문제 설명을 보았기때문에 당황하지 않고 바로 HTTP Response header 를 확인해 봅시다. https://zetawiki.com/wiki/%EA%B5%AC%EA%B8%80_%ED%81%AC%EB%A1%AC_%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90%EC%84%9C_HTTP_%ED%97%A4%EB%8D%94_%EB%B3%..
2019.10.04 -
webhacking.kr 14번 문제(old)
14번 문제를 들어가면 위와같은 창이 뜬다. 그냥 아무값이나 먼저 넣어보자. 얻은건 아무것도 없었으니 바로 소스를 봅시다. ul 이란 변수에 document.URL(현재 위치하는 페이지 즉 14번 문제의 url값) 을 넣습니다. 그리고 ul에 ul.indexOF(".kr")의 값을 넣는다고 하는군요 자바스크립트 함수인 indexOF 는 문자열 안에 조건이 되는 문자열이 몇 번째 위치에 존재하는 지를 확인하는 함수입니다. ex) ul=1234.kr -> .kr이 시작하는 위치인 4가 되는 것입니다. 사용법은 "문자열".indexOF("검색할 문자열",시작 위치); 입니다. 그래서 소스를 다시 해석한다면 변수 ul에 들어있는 문자열 에서 .kr이 시작되는 위치를 숫자로 표현하여 다시 ul에 저장 시키고 그 ..
2019.10.04 -
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