본문 바로가기

webhacking.kr

[Webhacking.kr] Problem 03 350점에 해당하는 문제이다. 이 문제의 경우에는 적당한 Guessing을 통해 Injection Vector를 찾아서 공격을 할 수 있는지 여부를 묻는 문제이다. 문제 링크 문제 페이지를 보면 아래와 같은 네모네모 로직 문제를 볼 수 있다. 이 부분은 툴도 사용할 필요가 없을 정도로 간단한 문제이기 때문에 금방 풀 수 있다.네모 칸을 클릭하면 검정색으로 바뀌게 되고, 그래서 그 검정색이 네모네모 로직의 조건을 만족하도록 해주면 된다. 그래서 이것을 풀어주면 아래 사진과 같다. 그래서 이렇게 모양을 만들어주고 아래 'gogo'버튼을 누른다. 그러면 아래와 같이 이름을 입력할 수 있는 창이 뜬다. 여기에 아무런 이름이나 넣고 'write' 버튼을 누른다.그러면 아래와 같이 이 때까지 내가 입력했던 이름들을..
[Webhacking.kr] Problem 02-2 앞의 내용에 이어서 계속 하도록 하겠다. 공격할 부분을 발견했으니 이 부분을 이용해서 Blind SQL Injection으로 비밀번호 정보를 가져오면 된다. 원래는 한 글자를 추출하는데 최적화된 방법으로 하더라도 7번의 비교를 해야지만 알아낼 수 있는데, 이 경우에는 약간 편법을 사용하면 1번의 시도로 1글자를 가져오는 것이 가능하다. 앞의 내용을 살펴 보면 공격할 부분이 from_unixtime이라는 함수를 사용하기 때문에 특정한 숫자에 문자의 ascii code를 추가적으로 더해준 값을 넣어주면, 이것을 다시 timestamp값으로 변경하고 특정한 숫자를 빼주게 되면 바로 그 문자의 ascii code를 얻을 수 있으므로, 1번의 시도로 1글자를 가져오는 것이 가능하다. Blind SQL Inject..
[Webhacking.kr] Problem 02-1 2번 문제는 500점에 해당하는 문제로 "홍길동 문제"라고 불리는 악명 높은 문제이다. 문제 링크 이 문제의 경우 소스코드의 취약점을 찾고 그것을 통해서 데이터를 빼내는 방법을 알아내어야 한다. 문제 이름이 "홍길동 문제"인 이유는 아래와 같이 문제 사이트에 들어가면 홍길동이 명상을 하고 있는 모습을 볼 수 있기 때문이다. 먼저 메인 페이지의 소스코드를 열고 내용을 뒤지다보면 admin/이라는 수상한 링크를 볼 수 있다. 그래서 이 링크가 관리자 페이지로 갈 수 있는 링크라고 생각을 하여 직접 링크에 접속을 하였더니 admin 페이지라고 하면서 password를 입력해야만 접근이 가능하도록 되어 있었다. 물론 이것을 BruteForce로 일일히 대입을 해서 공격을 할 수는 없기 때문에 패스워드에 대한 정..
[Webhacking.kr] Problem 01 200점에 해당하는 문제이다. PHP코드를 분석할 수 있는지 여부를 묻는 문제라고도 볼 수 있다. 문제 링크 1번 문제를 보면 아래와 같은 검정 화면을 볼 수 있다. 'index.phps'라는 문구가 쓰여 있기 때문에 거기에 힌트가 있을 것이라고 생각하고 index.phps로 들어갔다. 들어가는 방법은 페이지에 있는 "index.phps"를 누르거나 혹은 주소창에 직접 치고 들어가는 방법이 있다.[사진 1] index.phps 페이지를 보면 아래 사진처럼 php로 쓰여진 소스코드를 확인할 수 있다. 간단하게 소스코드에 대해서 설명하면, 먼저 user_lv라는 쿠키가 있는지 확인하고, 쿠키 정보가 없으면 user_lv에 1값을 넣고 새로고침을 하는 부분이 첫 번째 부분이다.두 번째 부분인 if(eregi(..
[Webhacking.kr] 0. webhacking.kr 소개 Webhacking.kr은 Oldzombie님이 직접 운영하는 웹해킹 사이트로 상당히 많은 웹해킹 문제를 가지고 있는 사이트이다. 그리고 도메인 이름이 'Webhacking'인 만큼 문제도 오직 웹해킹에 대한 문제만 올라와 있다. 일단 홈페이지를 접속해보면 아래와 같은 단순한 UI를 가진 화면을 볼 수 있다.접속하기 일단 아래에 글자의 인코딩이 깨지는 것은 신경쓰지 말자.... 아무래도 사이트가 만들어진지 오래되었기 때문에, 인코딩이 utf-8로 설정되어 있지 않아서 깨지는 것이고, 딱히 이것은 깨져도 별 상관이 없기 때문에 그냥 무시하도록 하자. 그런데 이 사이트를 보면 'Login'버튼만 있고, 'Join'버튼은 존재하지 않는다. 즉, 어디엔가에 회원가입을 할 수 있는 버튼이나 링크가 숨겨져 있다는 ..