Wargame
-
[Webhacking.kr] 35번 풀이Wargame/webhacking.kr (old) 2019. 5. 7. 17:34
우선 소스코드~ 소스 코드를 해석해보면,get 방식으로 phone의 값을 전송한 후 문자열을 필터링하고, insert문을 이용하여 값을 DB에 삽입한다. admin의 ip주소값과 $_SERVER[REMOTE_ADDR]의 값이 같으면 문제가 풀린다.insert 구문을 이용하여 id : admin, ip : 나의 ip주소 로 데이터를 삽입해주어야 하는 문제이다. insert 구문을 보면, value가 아닌 values로 되어 있다. 이는 여러개의 데이터를 한 번에 삽입할 수 있다.(phone은 '가 없는 것을 보니 int형으로 추측해본다.) insert into challenge35_list(id, ip, phone) values('session_id', '내IP', 1),('admin', '내IP',2) ..
-
[Webhacking.kr] 34번 풀이Wargame/webhacking.kr (old) 2019. 5. 7. 17:14
문제를 클릭하면 Wrong이라는 alert 창이 뜨고 검정화면이 뜬다.검정 페이지 소스를 보았다. 소스 코드가 난독화되어 읽기 어렵다. 변수에 문자열이 들어가 있는 듯하다.개발자도구의 Console을 이용하여 변수에 어떤 문자열이 들어가 있는지 확인해보았다. 소스 코드를 모두 복사하고 붙여넣은 후, 마지막에 변수 이름을 입력해주면해당 변수의 문자열을 출력해준다. script문 같은 문자열이 들어가 있다.결과 값이 마우스를 올리면 아래와 같이 문자열을 깔끔하게 볼 수 있다. if(document.URL.indexO~'0lDz0mBi2')!=-1){l~ation.href='Passw0RRdd.pww';}else{alert('Wr~6g~)~N 완전한 문장은 아니지만 URL에 0lDz0mBi2가 존재하면 pas..
-
[Webhacking.kr] 33번 풀이Wargame/webhacking.kr (old) 2019. 5. 7. 16:41
[ 33-1 ] /challenge/bonus/bonus-6/index.phps 를 클릭하여 소스 코드를 보았다. get 방식으로 hehe를 넘겨주면 a 태그가 뜬다. url?get=hehe Wrong에서 Next로 바뀌었다. Next 클릭 다음 문제로 ㄱ~ [ 33-2 ] 이번에는 post 방식으로 hehe와 hehe2를 넘겨주면 된다.post 형식으로 값을 전송하기 위해 개발자 도구를 이용하여 form을 생성하였다. submit 버튼을 클릭하면, 다음 문제로 넘어갈 수 있다. [ 33-3 ] get 방식으로 remote_addr (나의 ip 주소 값)의 값을 보내주면 풀린다. url?myip=000.000.0.0 [ 33-4 ] get 방식으로 time 함수의 결과 값을 md5 암호화한 값을 전송해주..
-
[Webhacking.kr] 32번 풀이Wargame/webhacking.kr (old) 2019. 5. 7. 16:05
뭔가 등수가 있고 밑에 join버튼이 있다.내 아이디는 없는걸보니 join해야하는 것 같다. join 버튼을 눌렀더니 나의 아이디가 추가되었다.내 아이디를 클릭해보니 1이 증가하고 등수도 올랐다. 100번 hit하면 되는 것 같다.이렇게 100번 눌리면 되는 쉬운 문제인가?! 한번 더 눌러보았다. no!역시 이렇게 쉽게 해뒀을리가 없다..ㅎㅎ소스 코드를 보았는데,, 별게 없었다. 쿠키 값을 보자..! vote_check라는 쿠키가 생성되어 있다. 이 쿠키 값때문에 한 번만 hit되는 것 같았다.ok라고 되어있는 값을 no로 수정한 후 다시 한번 hit해보았지만 여전히 no!라는 alert창이 떴다. 흠,,vote_check 쿠키 값을 삭제하고 hit해보았다. 된다..!쿠키 값이 생성되지 않은 상태로 10..
-
[Webhacking.kr] 31번 풀이Wargame/webhacking.kr (old) 2019. 5. 7. 03:10
31번 문제를 들어가보면, 10025에 연결할 수 없다는 에러가 출력된다. 페이지 새로고침을 하면 이번에는 포트 번호가 10073이다.랜덤 함수에 의해 포트 번호는 계속 바뀐다. fsockopen()소켓 연결을 열기 위한 함수 fsockopen ("연결할 Domain / IP", "포트 번호", "에러", "에러 메시지", "연결 시도 시간") 소스 코드를 해석해보면, get 방식으로 나의 외부 IP를 전송해준다.나의 외부 IP로 연결을 하면서 통신할 포트 번호는 10000~10100이고, 3초 내에 연결이 되지 않으면에러가 발생한다. 포트포워딩을 통해 10000~10100의 포트를 열어주고, 연결시켜주면 될 것 같다. 포트포워딩 하는 방법은 다음과 같다.(나는 ipTIME을 사용하기 때문에 192.16..