Webhacking.kr 15번
·
Webhacking.kr
15번 문제를 클릭하면 "Access_Denied" 창이 나타난다. "webhacking.kr" 문제 목록에서 소스를 보면 15번 문제는 "challenge/javascript/js2.html" 로 이동된다. 크롬 URL창에 "view-source:URL" 를 입력하면 해당 URL의 소스가 보여진다. 15번 소스를 보면 경고창이 나타나고, "history.go(-1)"가 실행되면서 이전 페이지로 돌아가게 된다.
Webhacking.kr 14번
·
Webhacking.kr
indexOf(x) 함수는 인자 값으로 들어온 x의 위치를 반환한다. 위 사진에서는 URL 내에서 ".kr" 위치를 반환하는데 주의할 점은 document.URL 값이다. 일반적으로 URL에는 http://webhacking.kr/challenge/javascript/js1.html" 로 나타난다. 그러나 실제 값은 앞쪽에 프로토콜이 명시된 "http://webhacking.kr/challenge/javascript/js1.html" 이다. 따라서 ".kr"의 위치 값은 17 이 된다. (제일 왼쪽 'h'의 값은 0) ul = 17 * 30 ul = 510
Webhacking.kr 13번
·
Webhacking.kr
빈 칸에 입력하면 "no" 파라미터로 전송 됨 삽질을 좀 해보면 "like", 공백, limit 등이 필터링 됨 like 필터링 우회는 "in", 공백 우회는 "%0a" 사용하면 됨 그리고 조건을 참으로 만들면 result 컬럼의 리턴 값이 '1' 조건을 거짓으로 만들면 result 컬럼의 리턴 값이 '0' 리턴 값을 기준으로 인젝션 쿼리의 참/거짓을 판별할 수 있음 서브 쿼리 사용 여부를 테스트 하기 위해 위 사진과 같이 입력하면 참을 의미하는 '1' 리턴 됨 힌트를 보면 flag 컬럼을 "prob13password"에서 가져오는데 해당 컬럼의 데이터가 몇개 인지 모름 따라서 개수를 알아보기 위해 "count" 함수를 이용하여 위 사진과 같이 개수가 '1'인지 확인 => 거짓을 의미하는 '0'이 리턴되..