-
[Webhacking.kr] 18번 풀이Wargame/webhacking.kr (old) 2019. 4. 19. 23:11
SQL Injection 문제이다.SQL Injection이 무엇인지 알아보자. SQL Injection이란?DB로 전달되는 값에 정상적인 값 대신SQL 쿼리문을 삽입해 DB 상에서 의도치 않은 결과 값이 나오도록 하는 공격 기법 index.phps 를 클릭하면 php 소스를 볼 수 있다. 소스 코드를 보니 몇몇 문자열이 필터링 되어 있고,쿼리문에 no로 입력해준 값을 바로 삽입하여 취약점이 발생하게끔 소스가 짜여져 있다.해당 쿼리문에 대한 결과 값이 admin이면 문제가 풀린다. - eregi("찾고자 하는 문자", "임의의 값") : 대소문자 구분x- ereg("찾고자 하는 문자", "임의의 값") : 대소문자 구분o eregi 함수를 이용하여 space, /, (, ), tab, |, &, unio..
-
[Webhacking.kr] 17번 풀이Wargame/webhacking.kr (old) 2019. 4. 19. 22:29
14번 문제와 비슷한 문제이다. 소스를 일단 보자. unlock 값과 입력 값이 같으면 password를 알려준다.unlock 값을 손으로 직접 계산해도 되지만,귀찮기 때문에 개발자도구를 이용하여 unlock 값을 알아내보자! 아래와 같이 Console 창을 이용하여 수식을 갖다 넣으면친절하게 답을 알려준다:) unlock의 값은 9997809307이다.password는 unlock/10이기 때문에 999780930.7으로 추측할 수 있다. 추측한 password가 맞는지 확인해보니 역시,,!! password is 999780930.7 알아낸 password 값을 Auth 페이지에 인증하면 문제가 풀린다.
-
[Webhacking.kr] 16번 풀이Wargame/webhacking.kr (old) 2019. 4. 19. 21:03
화면에 별만 나와있다.소스 코드를 보자! 소스 코드를 보니 mv함수가 정의되어 있다.mv함수는 event.keyCode인 것을 보니 특정 키를 누르면 실행되는 함수이다.mv함수를 해석해보았다. kk(x,y) 랜던 값의 색을 가진 *을 x, y값에 맞게 화면에 추가mv함수의 매개변수인 cd가 100일 경우, 별 왼쪽으로 +50 이동97일 경우, 별 왼쪽으로 -50 이동119일 경우, 별 위쪽에서 -50 이동 (아래로 이동)115일 경우, 별 위쪽에서 +50 이동 (위로 이동)124이면, 특정 주소로 이동 우선 mv함수를 실행해보기 위해 keycode 정리표의 값대로 키를 눌러보았으나,mv함수대로 별이 이동하지 않았다. 다른 방법이 무엇이 있을까 생각하다가 아스키 값을 이용해보기로 하였다.아스키 코드표는 아..
-
[Webhacking.kr] 15번 풀이Wargame/webhacking.kr (old) 2019. 4. 19. 19:49
문제를 클릭하면 접근이 거부되었다는 alert창이 뜬다.확인을 누르면 잠깐 하얀 화면이 뜨는데, 빠르게 캡처해보았다.아래 사진은 빠르게 캡처한 결과이다:) password는 off_script라고 친절하게 알려준다. Auth창에 가서 인증하였더니 문제가 풀렸다:)손과 눈이 빠르면 풀 수 있는 아주 간단한 문제다. 손이 느려 캡처를 하지 못해서 비밀번호를 알아내지 못했다면,프록시 툴을 이용하는 방법도 있다.(나는 프록시 툴로 Fiddler를 이용하였다.) Fiddler를 실행하고, Response break point를 켜주고 응답 받은 세션을 캡처할 준비를 한다.그 후 15번 문제를 클릭한다. 해당 세션을 클릭하고 Response부분을 보면,아래와 같이 다 깨진 문자가 보인다.Response body i..
-
[Webhacking.kr] 14번 풀이Wargame/webhacking.kr (old) 2019. 4. 18. 18:04
뭔가 값을 입력하여 지정된 답이랑 동일하면 풀리는 문제이다.소스 코드에 지정된 답이 있을 것이다. 소스 코드를 보자!! 역시 ck라는 함수가 정의되어 있고, ckeck 버튼을 누르면 ck함수가 호출된다.ck함수를 해석해보면,ul에 URL에서 .kr의 인덱스 값에 30을 곱한 값을 넣어준다.그렇게 나온 ul 값이랑 입력된 값이 같으면 password를 alert창을 통해 알려준다. document.URL : http://webhacking.kr/challenge/javascript/js1.htmlul.indexOf(".kr") : 17ul * 30 : 510 사실 값을 입력하지 않아도 password를 예상할 수 있다.ul * pw.input_pwd.value = 510 * 510따라서, password는..