Webhacking.kr 18번
·
Webhacking.kr
18번 페이지를 보면 어떤 값을 입력하고 제출하는 버튼이 있다. 우선 "index.phps" 페이지에서 소스 분석을 한ㄷ. eregi 함수로 GET 메소드로 받은 no 파라미터 값을 필터링하여, 필터링 문자가 걸리면 "no hack"을 출력하고 종료된다. 필터링에 걸리지 않으면 쿼리에 no 파라미터 값이 들어가고 결과가 $q 변수에 저장된다. $q 변수 값이 "admin" 이면 클리어 되는데, 이미 쿼리에서 "guest" 문자열이 고정되어 있다. 몇 가지 삽질(?)을 하다 보면 다음과 같은 사실을 알아 낼 수 있다. - no 값을 '1'로 입력하면 "guest" 출력 (즉, "guest" id 컬럼의 no 컬럼 값은 '1') - no 값을 '2'로 입력하면 아무것도 출력되지 않음 - 공백을 입력하면 필터..
Webhacking.kr 17번
·
Webhacking.kr
unlock 변수에 뭔가 복잡한 계산식의 결과값이 저장된다. 크롬 콘솔에 해당 부분을 복붙하면 한방에 결과를 알려준다.
Webhacking.kr 16번
·
Webhacking.kr
16번 문제 소스를 보면 "cd" 변수 값을 기준으로 5 가지 기능이 실행된다. cd 값을 잘 보면 특정 정수 범위인것을 알 수 있는데 바로 문자의 ASCII 값이다. ( 각각 'd', 'a', 'w', 's' 문자를 의미 ) 즉, 키보드에서 'w'를 누르면 위로 50 만큼 이동한다. 따라서 클리어 조건은 정수 124가 의미하는 문자 입력하는 것이다. 콘솔에서 String.fromCharCode를 이용해서 124가 의미하는 문자 '|'를 알아낸다. '|' 문자를 클릭하면 위 사진의 URL로 페이지가 이동된다.