Webhacking.kr 19번
·
Webhacking.kr
admin 입력 admin 아니라고 한다. bob 입력 bob 로그인이 된다. "bob"로 로그인이 된 상태에서 쿠키를 확인하면 "userid" 값을 볼 수 있다. userid 값을 "base64" 디코딩 하면 위 사진과 같은 문자열이 나온다. 그런데 잘보면 제일 앞쪽에 "92eb5ffee~~~" 문자열이 있고, 약 32글자 뒤에 또 "92eb5ffee~~~" 문자열이 존재한다. 32 글자를 기준으로 앞/중앙/뒤 로 나뉘고, 앞/뒤는 같다. 일단 글자수가 32글자 기준으로 나뉘니깐 "md5" 해쉬로 추정할 수 있고, 앞 뒤가 똑같은것으로 보아 'b' 로 추정할 수 있다. md5('b') 결과값 md5('o') 결과값 "admin"에 해당하는 userid 쿠키값을 만들기 위해 "admin" 문자열을 한 글..
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 변수에 뭔가 복잡한 계산식의 결과값이 저장된다. 크롬 콘솔에 해당 부분을 복붙하면 한방에 결과를 알려준다.