728x90
728x90
1. 서론 본 포스팅 시리즈는 webhacking.kr의 문제 풀이를 하면서 정리한 자료이다. 필자가 풀이한 방법들이기 때문에 완벽하지 않을 수도 있다는 점을 참고 바란다. (지적과 조언은 언제나 환영이다) 이번 문제는 old-24, PHP extract 함수의 취약점 활용이 필요한 문제이다. 2. 본론 이번 문제를 처음 접속하면 이러한 화면을 볼 수 있다. client ip라는 항목으로 접속자의 ip 주소가 보이고, 바로 아래에는 접속자의 브라우저 정보가 보인다. 그리고 표 아랫쪽에 "Wrong IP!"라는 문자열이 눈에 띈다. 아마 ip 주소를 조작해야하는 문제인 듯하다. 이건 이번 문제의 소스코드이다. 일단 문제 해결조건은 $ip 변수이 값이 "127.0.0.1"이 되도록 하는 것이다. 그럼 $ip..
1. 서론 본 포스팅 시리즈는 webhacking.kr의 문제 풀이를 하면서 정리한 자료이다. 필자가 풀이한 방법들이기 때문에 완벽하지 않을 수도 있다는 점을 참고 바란다. (지적과 조언은 언제나 환영이다) 이번 문제는 old-23, NULL Byte Injection 활용이 필요한 문제이다. 2. 본론 이번 문제에 접속하면 이런 화면을 볼 수 있다. 이번엔 이 페이지에 ""를 삽입하는 것이 목표이다. 그래서 우선 여러가지 케이스들을 넣어보고 상태를 관찰해보았다. 기본적으로 문자열을 입력한 후 submit을 하면 입력 폼 윗쪽에 흰색 텍스트로 나타나게 되는데, 일부 케이스에 경우 입력한 값이 그대로 출력되지 않고 "no hack"이라는 문자열이 나타난다. 현재까지 확인한 케이스들을 기반으로 규칙을 추정해..
1. 서론 본 포스팅 시리즈는 webhacking.kr의 문제 풀이를 하면서 정리한 자료이다. 필자가 풀이한 방법들이기 때문에 완벽하지 않을 수도 있다는 점을 참고 바란다. (지적과 조언은 언제나 환영이다) 이번 문제는 old-19, 쿠키와 Base64 활용이 필요한 문제이다. 2. 본론 이번 문제에 처음 접속하면 이러한 화면을 볼 수 있다. 따로 제공되는 소스코드도 없고 id 입력창과 제출버튼이 있다. 그리고 제출버튼을 눌러보면 GET 파라미터 "id"로 "admin"이라는 문자열이 전달되었고 페이지에는 "you are not admin"이라는 문자열이 출력된다. 아마 이번 문제는 admin으로 로그인하는 것이 해결 목표인듯하다. 그래서 이번엔 "admin"이라는 문자열 대신 다른 임의의 문자열을 보내..
1. 서론 본 포스팅 시리즈는 webhacking.kr의 문제 풀이를 하면서 정리한 자료이다. 필자가 풀이한 방법들이기 때문에 완벽하지 않을 수도 있다는 점을 참고 바란다. (지적과 조언은 언제나 환영이다) 이번 문제는 old-18, SQL injecion과 정규표현식 활용이 필요한 문제이다. 2. 본론 이번 문제에 처음 접속을 하면 처음부터 SQL injection을 시도하라고 친절하게 입력폼까지 제공해준다. 이번 문제의 해결조건을 파악하기 위해 소스코드를 확인해보겠다. 이게 이번 문제의 소스코드인데, 눈의 띄는 부분이 두 군데가 있다. 첫째론 정규식필터를 이용해 특정 문자열을 필터링하고 있는 것이고, 둘째론 쿼리를 요청하는 부분인데 거기에 주석으로 "admin의 no는 2"라고 써져있는 점이다. 이번..
1. 서론 본 포스팅 시리즈는 webhacking.kr의 문제 풀이를 하면서 정리한 자료이다. 필자가 풀이한 방법들이기 때문에 완벽하지 않을 수도 있다는 점을 참고 바란다. (지적과 조언은 언제나 환영이다) 이번 문제는 old-11, 정규표현식 활용이 필요한 문제이다. 2. 본론 이번 문제에 접속을 하면 다짜고짜 너는 틀렸다고 한다. 기분이 나쁘다 읍읍 보여지는 모습만으로는 딱히 뭔가를 알 수 없으니 소스코드를 보도록 하자. 이건 이번 문제의 소스코드이다. 이번 문제는 정규표현식만 해석할 줄 안다면 쉽게 해결할 수 있다. $_SERVER[REMOTE_ADDR]은 접속자의 IP주소이므로 현재 자신의 공인 IP를 확인해서 넣어주면된다. "\t"의 경우는 "tab 문자"를 의미하는데 URL에서는 직접적으로 ..
1. 서론 본 포스팅 시리즈는 webhacking.kr의 문제 풀이를 하면서 정리한 자료이다. 필자가 풀이한 방법들이기 때문에 완벽하지 않을 수도 있다는 점을 참고 바란다. (지적과 조언은 언제나 환영이다) 이번 문제는 old-9, Blind SQL injection 활용이 필요한 문제이다. 2. 본론 이번 문제를 처음 접속하면 이런 화면이 뜬다. "1, 2, 3"이라는 앵커가 보이고, Password라는 항목으로 Form이 있다. 비밀번호를 입력하는 걸로 봐선 여기에 무언가를 입력해서 submit하면 문제를 해결 할 수 있는 듯 하다. 앵커들을 클릭하면 각각의 화면을 볼 수 있다. GET 파라미터 "no"의 값이 클릭한 앵커의 숫자로 변하면서 각가의 화면이 보이는데, 특별하게도 "no"가 3일때는 "..