본문 바로가기

자바스크립트

webhacking.kr [문제 20번] webhacking.kr 19번에 문제가 있다. 해당 문제는 잠시 보류해두고 20번 문제부터 풀어보겠다. 이제 해당 문제를 클릭해보자. 상단의 다음과 같은 메세지와 3개의 인풋박스가 나열되어 있다. 또한 힌트로 "do not programming!""this is javascript challenge" 주어져 있다. 자바스크립트 문제라고 명시되어있기 때문에 소스코드를 확인해보자. 눈여겨봐야할 부분 두 부분을 체크해놓았다. 해당 입력폼에 조건 4가지가 붙어 있고, 다음과 같은 조건이 성립되지 않으면 해당 부분을 포커싱하게 되어있다. 1. if(lv5frm.id.value=="") { lv5frm.id.focus(); return; } 해당 입력폼이 공백이면, 해당 입력폼에 포커스를 맞춘다. 2. if(lv.. 더보기
webhacking.kr [문제 16번] 오늘은 16번 문제의 풀이를 작성해보도록 하겠다. 해당 문제의 배점은 100point이다. 해당 문제를 클릭하자 16번 문제 페이지의 좌측 상단에 뚱이(별) 한마리가 자리 잡고 있다. 기계적으로 소스코드를 확인해보자. 해당 소스코드를 확인하면 바디태그에 onload와 onkeypress 메소드가 등록되어 있는 것을 확인할 수있다. onload : 바디가 로딩될 때 실행될 루틴이 저장되어있다, onkeypress : 바디 요소가 활성화 되어있을 때 키입력시 발생할 이벤트가 등록되어 있다. onkeypress에 등록되어 있는 함수를 확인해보자. 특정한 정수값에 따라 star요소(별)이 이동하는 것을 확인할 수 있다. (단, 크롬브라우저에서 해당 스크립트는 작동하지 않는다.) 여기서 특정한 정수값은 뭘 뜻할까.. 더보기
webhacking.kr [문제 5번] 문제 5번을 풀어보겠다. 300point의 5번 문제를 클릭하자. 웹 페이지가 단순하게 두개의 버튼만을 가지고 있다. 로그인 페이지가 보이고 일반적으로 UI가 상단은 아이디 하단은 비밀번호로 생각되어 아무거나 치고 로그인 해보자. 예상했던 결과다 싶이 admin이 아닐경우 로그인이 되지않는다고 한다. admin과 비밀번호를 입력한 후 로그인해보자. 이전과는 다른 메세지를 보인다. 그렇다면 한번 회원가입을 클릭해보자. Join버튼을 누른결과 접근이 거부되었다는 메세지가 뜬다. 소스코드를 확인해보자. 소스코드를 확인하여보니 Join버튼 클릭시 당연히 no()라는 함수가 실행되어 'Acess_Denied'라는 메세지 박스를 띄운다. 여기서 유의해봐야 할 점이 디렉터리의 구조이다. login버튼 클릭시 들어가지.. 더보기
webhacking.kr [문제 2번] 문제 2번을 풀어보겠다. 500 point나 하는 2번 문제를 클릭해보겠다. 길동이 성님이 젠야타 자세로 반겨준다. 뭐 어쩌라는건지 모르겠다. 이곳저곳을 둘러보자. 별다른 특이 사항이 없지만 Board를 클릭시 게시물 한개가 보이고, 이를 클릭해보니 비밀번호가 걸려있는 상당히 의심스러운 글이다. 한번 해당 비밀번호를 알아내보기위하여 소스코드를 살펴보자. 무엇을 의미하는지 딱히 정확한 정보가 없어서 index홈페이지로 돌아가 소스코드를 찬찬히 살펴본결과 두가지 의심스러운 점을 발견했다. 네비게이션 바의 등록되지 않은 admin이라는 페이지가 있고, admin이라는 페이지에 접속해보자. 아니나 다를까 어드민페이지에 비밀번호가 걸려있고, 또한 가지 index에서 이상한 점이 시간정보가 주석 처리되어있다. 굳이.. 더보기
webhacking.kr [문제1번] 회원 가입을 완료하였으므로 이제 본격적으로 문제 풀이에 나서보겠다. 네비게이션 바에 있는 항목 Challenges - Auth를 클릭한다. Challenge를 클릭하면 그렇다면 해당 문제들의 항목과 배점을 확인할 수 있다. 문제 1번을 눌러보자. 위와 같은 홈페이지를 확인할 수 있다. 그리고 index.phps에 마우스를 가져다놓으니 커서가 활성화 되는것을 확인하였다. 이제 해당 웹문서를 열어보자. 다음과 같은 소스코드를 확인할 수 있다. 해당 소스코드를 분석해보자. --------------------- ----- index.phps ----- 자바 스크립트 부분만 살펴보자. user_lv이란 쿠키가 존재하지 않으면 user_lv이란 쿠키 변수에 1을 할당한다 jquery 객체인 password 변수를.. 더보기
webhacking.kr [회원가입] 휴대폰의 분실과 노트북의 용량 부족으로 인해 일시적으로 안드로이드와 머신러닝 공부가 지연되어서 심심한 관계로 워게임이나 풀어서 포스팅해보자는 명목으로 webhacking.kr을 풀기 시작하였다. 웹해킹을 시작하기에 앞서 로그인해야 하는데, 이게 무슨일인가 로그인 항목외에 회원가입을 찾아볼 수 없다. 한번 웹 페이지의 소스를 분석해 보자. 중간에 보면 주석 처리된 Register 라는 항목이 보인다. 소스코드를 조금 살펴보자. 회원 가입 버튼이 주석처리로 인해 비활성화 되어있는 것으로 확인된다. 그렇다면 크롬 개발자도구로 해당 버튼을 활성화 시켜보자. 해당 회원가입이 활성화 된것을 확인할 수 있다. 회원 가입 버튼을 클릭시 아이디 비밀번호 이메일 디코드미 라는 인풋 박스가 보인다. 아이디 비밀번호 이메일은.. 더보기
자바스크립트(JavaScript)란? 자바스크립트를 공부하기에 앞서 자바스크립트라는 언어는 어떤 언어이며, 다룰 수 있다면 어떠한 이점이 있는지 정리해보겠다. 소개 자바스크립트는 웹 브라우저에서 동작하는 스크립트 언어이다. 이전 까지는 웹페이지 제작에 있어 동적인 구동 예를들어 로그인 알림이나 에러표현 메세지 박스 같은 부분을 위하여 사용된 다소 보조적인 기능을 수행하기 위한 용도로 사용된 언어였다. 하지만 시간이 지나면서 웹 아키텍처에도 여러가지 크고 작은 변화가 일어났다. 과거에 서버에서 담당하던 역할들의 상당 부분이 웹 브라우저로 이동하였고, 이 변화의 중심에는 자바스크립트라는 언어가 축이 되었다. 이러한 동향의 맞게 개발자들은 자바스크립트에 대한 관심이 높아졌으며 Stack Overflow에서는 2013년부터 2016년까지 진행한 설.. 더보기