분류 전체보기
-
[Webhacking.kr] 13번 풀이Wargame/webhacking.kr (old) 2019. 4. 16. 04:33
php 소스 코드가 주어져있지 않은 SQL Injection 문제이다. get 방식으로 no의 값과 password의 값 전송이 가능한 것을 확인하였다. 우선, password는 모르겠으니 쉬운 no의 값으로 숫자들을 마구잡이로 입력해 보자..,,! 1. no=0 2. no=1 3. no=1 이외의 모든 수 page에 출력되는 결과들을 보면, no=1인 Data만 존재하는 것으로 추측할 수 있다. hint에 주어진 쿼리 문을 보니 password는 주어진 테이블의 flag 값인 것 같다. 우선, Injection Vector를 no라고 가정하고, no에 or을 사용한 후 페이지의 반응을 보았다. 아래와 같이 아무 이상없이 출력된다. (%20이 필터링되어 있는 관계로 ()를 사용하였다.) flag를 알아내..
-
[Webhacking.kr] 12번 풀이Wargame/webhacking.kr (old) 2019. 4. 16. 03:33
페이지에는 힌트가 없다.. 그저 자..바스크립트 도전..이라고만 적혀있다..;;그렇다면 도전..! 우리에겐 아주 유용한 개발자 도구(F12)가 있다.이 도구를 사용하여 소스를 보자!! Char 함수로 뭔가 문자열이 저장되어 있고, 그 문자열이 eval 함수에 의해 자바스크립트 코드로 실행된다.그렇다면, 문자열은 아마 소스 코드일 것이다. - eval("문자열")문자열을 자바스크립트 코드로 실행하는 함수로,식 형태로 된 문자열을 실수로 바꾸어 반환해주는 자바스크립트 내장함수 Char의 값을 하나하나 비교해서 소스를 알아내도 되지만..,,우리에겐 뭐다? 아주 유용한 개발자 도구가 있다..!개발자 도구의 Console 창을 이용하면 아주 쉽게 Char 함수의 문자열을 해석할 수 있다. 알아볼 수 있게 소스 코..
-
[Webhacking.kr] 11번 풀이Wargame/webhacking.kr (old) 2019. 4. 16. 02:58
- preg_match("정규표현식", "검사할 문자열")입력받은 문자열이 주어진 정규표현식과 검사하여 일치하면 True 문제를 보면 $pat에 지정된 정규표현식의 값과 val으로 보내준 문자열이 일치하면password를 echo를 통해 알려준다.따라서, $pat에 해당되는 문자열을 먼저 알아내야 한다.우선, 정규 표현식에 대해 알아보자. 정규 표현식(Regular Expression) 이란?특정 규칙을 가진 문자열의 집합을 표현하는 언어로 문자열의 검색과 치환을 위한 용도로 사용[정규 표현식] : http://www.nextree.co.kr/p4327/ 이제 $pat의 정규 표현식을 분석해보자,,!$pat="/[1-3][a-f]{5}_.*내IP주소.*\tp\ta\ts\ts/"// : 정규식에 필요한 경..
-
[Webhacking.kr] 10번 풀이Wargame/webhacking.kr (old) 2019. 3. 3. 00:20
뭘 해야 할지 모르겠어서 마우스로 방황하다가.. 글자위에 마우스를 가져다 놓았다. O부분에 마우스가 올라가면 yOu로 바뀌고 buy lotto 부분은 아무런 변화가 없다.일단 소스 코드를 보았다. onclick마우스 왼쪽 클릭 이벤트 onmouseover마우스가 개체 위로 올라갔을 때 발생하는 이벤트 onmouseout마우스가 개체에서 빠져 나갈 때 발생하는 이벤트 O의 id가 hackme인 것을 보니 이것을 해킹하는 문제이다.한 번 클릭하면 위치가 왼쪽으로 1칸 이동하고, O의 위치가 800이 되면 '현재 URL?go=800'으로 이동한다. 일단 O를 클릭해 왼쪽으로 이동하는지 해보니 아무런 변화가 없다...;;찾아보니 Chrome에서 안된단다....ㅠInternet Explorer를 통해 O를 클릭해..
-
[Webhacking.kr] 9번 풀이Wargame/webhacking.kr (old) 2019. 3. 2. 19:35
Password를 알아내는 문제이다. 소스 코드를 볼려고 하였으나 소스코드가 존재하지 않는다...;; 1, 2, 3을 순서대로 눌러보았다. 1을 누르면, get 방식으로 no=1가 전송되고 'Apple'이 페이지에 출력된다. 2를 누르면, 역시 get 방식으로 no=2가 전송되고 'Banana'가 페이지에 출력된다. 3을 누르면, 역시 no=3이 전송되지만 C로 시작하는 단어가 출력되지 않고 Secret이 출력되고, hint, column이 주어진다. column이 id와 no만 있는 것을 보면, Apple과 Banana는 id 값이고 Secret의 id 값을 알아내는 건가?! 일단 숨겨진 아이디가 있을 수도 있으니, no의 값을 1, 2, 3이외의 값으로 넣어보았다. no=0일 때는 첫 페이지가 뜨고,..