Webhacking.kr 33번
·
Webhacking.kr
33번은 문제가 꽤 많다. 풀다가 힘들어 죽는줄... GET 메소드로 전송되는 "get" 파라미터의 값이 "hehe"면 다음으로 넘어갈 수 있다. 33-1 클리어 ============================================================================================= 33-1과 비슷하지만 이번에는 POST 메소드로 전송 되는 "post, post2" 파라미터의 값들이 각각 "hehe, hehe2" 일때만 다음으로 넘어갈 수 있다. (사진 안 보이면 클릭) 33-2 문제 페이지에는 POST로 전송하는 별 다른 form이 없으니 크롬 콘솔에서 위와 같이 입력해서 입력 form을 만들어야 한다. 생성된 form 입력 부분에 문제에서 요구하는 값들을..
Webhacking.kr 32번
·
Webhacking.kr
32번 문제 페이지 하단에 "Join" 버튼을 클릭한다. "Join" 버튼을 클릭하면 자신의 id 값이 생성되면서 초기 스코어는 "0/100" 으로 초기화 된다. 그리고 id를 클릭하면 스코어가 +1 된다. 짐작컨데 클리어 조건은 스코어가 100/100 이 되야 하는거 같다. 100점으로 올리기 위해 다시 한번 id를 클릭하면 오류가 나타난다. 아마 투표 중복 체크 여부를 판단하는 듯 한데 이런 경우 다음과 같은 정보를 사용한다. - User-Agent - Public IP - Cookie - Database Data 32번 문제의 경우 "vote_check" 쿠키를 통해 중복 투표 여부를 체크하고 있었다. 투표를 하고 나면 "vote_check" 값이 "ok"가 된다. 수동으로 투표하고, 쿠키 값를 통..
Webhacking.kr 31번
·
Webhacking.kr
$port 변수에 10000 ~ 10100 사이의 임의의 정수값이 대입된다. $socket 변수에는 fsockopen 함수를 통해 GET 메소드로 입력받은 server 파라미터의 IP 주소와, port 변수 값에 소켓 연결을 시도하고, 연결되지 않으면 오류가 발생한다. 우선 공유기해서 DMZ/Twin IP 기능을 이용해서 모든 통신에 대해 넘겨 받는다. 포트 변수에 랜덤하게 100개 정수 중 하나가 대입되니, 컴퓨터에서는 100개의 포트를 열어여 한다. nc와 배치파일(.bat)을 이용하여 100 개의 포트를 연다. 100개의 포트를 열고, 문제 페이지를 다시 요청하면 랜덤한 포트 번호로 연결이 들어온다. 위 사진의 경우 10014 포트 번호로 연결이 들어오고 GET 메소드로 password를 출력했다.