프로젝트/Webhacking.kr 44

[Webhacking.kr] Challenge(old) 17번 문제

문제 페이지는 해당 페이지와 같다. 페이지에는 입력창이 존재하며, 임의로 test란 값을 넣었을 때 Wrong 이라는 문구가 뜬다. 해당 페이지의 소스 코드를 확인한다. 스크립트 중심으로 해석한다. unlock을 계산하여 입력창에 입력하면 '?'+unlock/10 으로 이동하여 문제가 풀린다는 것을 알 수 있다. 개발자 도구의 console 기능을 이용하여 unlock 을 계산한다. unlock 값이 7809297.1 임을 알 수 있다. 해당 값을 페이지의 입력창에 입력한다. check 버튼을 클릭하면 하단의 URL 로 이동하면서 해당 문제가 풀리는 것을 확인 할 수 있다.

[Webhacking.kr] Challenge(old) 12번 문제

문제 페이지는 해당 페이지와 같다. 헤당 페이지에는 javascript challenge 라는 문구만 존재한다. 페이지의 소스 코드를 확인한다. 스크립트 부분이 이모티콘으로 되있어서 해석할 수가 없다. 이러한 난독화 기법을 AAEncode 기법이라고 하며, javascript 구문을 이모티콘으로 인코딩 하는 방법이다. 개발자 도구의 Console 기능을 이용하여 디코딩 한다. 해당 스크립트의 마지막에 ('_'); 를 제거하고 Console 창에 입력한다. 하단과 같은 코드로 해석되는 것을 확인 할 수 있다. (function anonymous( ) { var enco=''; var enco2=126; var enco3=33; var ck=document.URL.substr(document.URL.inde..

[Webhacking.kr] Challenge(old) 10번 문제

문제 페이지는 해당 페이지와 같다. 해당 페이지를 자세히 보면 좌측에는 O 문자가 적혀있다. 우측에는 Goal 이라는 선이 있다. O 라는 문자에 마우스를 갖다대면 yOu 로 바뀌는 것이 확인된다. 클릭하면 할수록 yOu 가 점점 우측으로 이동한다. 해당 문자가 우측에 Goal 까지 도착하면 해당 문제가 풀릴 것 같다. 해당 페이지의 소스 코드를 확인해 본다. 소스코드를 해석한다. O 만약 this.style.left=='1600px' 가 된다면 조건문이 실행되어 URL에 '?go='+this.style.left 가 추가된다. onmouseover 메소드와 onmouseout 메소드를 통하여 마우스를 O문자위에 올려놓으면 yOu문자로 변화되는 것을 알 수있다. | | | | Goal 1600 px의 위치..

[Webhacking.kr] Challenge(old) 15번 문제

해당 문제로 들어가면 바로 알림창이 뜨는 것을 확인할 수 있다. 접근이 거부되었다. 해당 소스페이지를 확인하기위해 개발자도구를 눌러보았지만 통하지 않는다. 그래서 해당 URL 앞에 view-source: 를 붙여서 해당페이지의 소스코드를 확인한다. 상단과 같이 html 코드를 확인할 수 있다. 이 부분을 중점으로 해석한다. 태그는 웹페이지나 문서를 링크 시키기 위한 태그이다. 함께 href 속성도 같이 사용되었다. href 는 hypertext reference 약자로 연결할 주소를 지정하는 주소이다. [Get Flag]라는 문자열에 ?getFlag 라는 주소를 링크 시킨 것을 출력하는 것이다. 하지만 앞선 코드에 의해 루트 디렉터리로 이동했기 때문에 해당 출력내용을 보지 못한다. 그래서 URL에 ?ge..

[Webhacking.kr] Challenge(old) 14번 문제

문제페이지는 해당 페이지와 같다. 페이지에는 입력창이 있으며 임의의 값 'test'를 입력하고 check 버튼을 클릭한다. Wrong 이라는 문구가 뜨는 것을 확인 할 수 있다. 해당 페이지의 소스페이지를 확인해본다. pw 라는 폼에서 type=text로 사용자가 키보드 입력을 할 수 있도록 하며 입력값은 "input_pwd"로 인식한다. 또한 type=button으로 버튼 형태의 입력으로 클릭시 ck()함수가 실행된다. ck() 함수가 정의되어 있다. var ul 값에 document.URL 로 현재 사이트의 URL 주소 값이 ul에 들어가는 것을 알 수 있다. indexof() 함수는 받은 인자값의 특정 문자열이 몇번째에 위치해 있는지 계산하여 리턴해주는 함수이다. ul.indexof(".kr")은 ..

[Webhacking.kr] Challenge(old) 5번 문제

문제 페이지는 해당 페이지와 같다. Login 버튼을 클릭하여 로그인 페이지로 이동한다. 임의로 웹해킹 페이지 아이디로 로그인 해본다. 로그인이 되지 않는다. 처음 페이지로 돌아가서 Join 버튼을 눌러본다. 접근이 거부되는 것을 확인할 수 있다. 이 문제는 접근이 거부되는 join에 접근하여 회원가입을 하고 로그인하면 풀릴 것 같다. 디렉토리를 이동하여 join에 접근을 시도해본다. 로그인하는 페이지의 URL을 확인해 보면 https://webhacking.kr/challengeweb-05/mem/login.php 이다. 해당 페이지의 디렉토리는 가장 상위에 webhacking.kr 디렉터리가 존재하며 그 하위에 challengeweb-05 디렉터리가 존재한다. 그리고 challengeweb-05 디렉..