-
[Webhacking.kr] 56번 풀이Wargame/webhacking.kr (old) 2019. 5. 9. 12:54
게시판이다. readme를 읽는 문제인 것 같다. readme를 클릭하였는데 접근이 거부되었다. id가 guest인 hi~는 읽어진다. 게시판에 검색창이 주어져 있다. 우선 admin과 guest를 입력해 검색해보았다. 아무 값도 나오지 않는다...;; id로 검색하는게 아닌 것 같다. subject로 검색하는지 알아보기 위해 hi를 입력해보았다. subject에 의해 검색되는게 맞다. hi~가 아닌 hi를 검색했는데 결과가 나오는 것을 보니 쿼리문은 다음과 같이 예상할 수 있다. select * from challenge56 where subject like '%$search%' SQL Whild Card % : 0개 이상의 임의의 문자 _ : 한개의 임의의 문자 readme가 나오도록 search에 ..
-
[Webhacking.kr] 55번 풀이Wargame/webhacking.kr (old) 2019. 5. 8. 23:23
마우스를 움직일때마다 점수가 바뀐다. rank를 클릭해 순위를 보았다. 1등의 점수를 눌러보니 get 방식으로 score가 전송되고, id와 score가 페이지에 출력되었다. 나의 id 값을 출력하면 되는건가 싶어 이전 페이지의 게임에서 나온 나의 score를 입력하여 나의 id를 출력하였으나,,, 아무런 반응이 없었다. (게임은 Chrome에서는 작동하지 않고 Internet Explorer에서 할 수 있다.) 일단 소스를 보자. rank table은 ip, score, password로 구성되어 있다. password가 있는 것을 보니 관리자 계정의 password를 찾는 문제인 것 같다. 관리자 계정의 id를 찾아보기로 하였다. 존재하지 않는 score의 값을 입력해보았다. url?score=-1 ..
-
[Webhacking.kr] 54번 풀이Wargame/webhacking.kr (old) 2019. 5. 8. 22:47
값이 빠르게 바뀌면서 password를 알려준다.소스를 보자. run() 함수는 http를 통해 메시지를 받기 위한 사전 작업이다.password를 알아내기 위해 password를 출력해주는 부분인 answer함수를 보았다. aview 값에 http 요청에 대한 응답 값(password)이 없을 때까지 0.1초 간격으로 응답 값을 출력시켜준다.응답 값이 없으면 aview의 값을 ?로 설정한다.페이지가 로드되고 10초 후부터 password를 출력한다. (setTimeout 함수) answer 함수를 조금 고치면 password를 알아낼 수 있을것 같다. aview의 값이 누적되도록 +=로 바꾸어주고,응답 값이 없을 경우 aview의 값을 ?로 변경하는 구문을 삭제하였다. 그리고 개발자 도구의 Consol..
-
[Webhacking.kr] 53번 풀이Wargame/webhacking.kr (old) 2019. 5. 8. 22:35
hello world만 출력되어 있다.소스를 보자. hidden_table의 값을 get 방식으로 전송해주면 문제가 풀린다.val의 값은 union 등의 문자열이 필터링되어 있고 쿼리문을 살펴보면 '가 없다.숫자인 것으로 추측할 수 있다. val 값을 입력해보자. 1. val = 1 2. val = 2 3. val = 3 4. val = 4 5~ 의 숫자에는 페이지에 아무것도 출력되지 않는다.데이터가 4개인 것으로 추측해본다. 우선 MySQL을 통해 테이블 명을 알아보자.num_53이라는 테이블을 생성하였다. 1. information_schemaselect test1 from num_53 where test2=1union select table_name from information_schema.tab..
-
[Webhacking.kr] 52번 풀이Wargame/webhacking.kr (old) 2019. 5. 8. 21:58
Header Injection 문제이다.get 방식으로 id='내아이디'의 쿠키를 생성하면 문제가 풀리는 것 같다. Header Injection이란?Header에 개행문자(\r\n)를 이용하여 Header를 추가해 공격하는 기법쿠키를 임의적으로 생성하여 세션을 고정할 수 있고, url을 리다이렉트 시킬 수도 있다. http://test.com/?id=test%0d%0aSet-Cookie:%20SESSIONID=abcde개행문자에의해 아래와 같이 Header가 추가된다. [ Header Injection ] https://www.gracefulsecurity.com/http-header-injection/ 문제에서 헤더 생성을 클릭해보니 get 방식으로 내 id 값을 넘겨준다. url?id=아이디%0d%..