200점인 33번 문제를 풀어보자.
첫 화면에서 Wrong이라는 메시지와 소스코드를 확인할 수 있다.
get변수에 "hehe"가 담겨있으면 다음 페이지로 이동하게 된다.
두번째는 post 방식으로 post=hehe&post2=hehe2 값이 request되면 된다.
프록시를 이용하여 request를 변조해보자.
세번째는 myip에 내 ip주소를 담아 전송하면 된다.
네번째에는 힌트와 함께 현재 시간을 md5형식으로 변환하여 password 변수에 담아 전송하면 된다.
다섯 번째 페이지는 md555.php가 된다.
url을 통해 imget을 보내고 post방식으로 데이터 impost를 보내고 cookie값으로 imcookie를 보내면 다음 페이지로 넘어갈 수 있다.
이제 gpcc.php로 넘어가보자.
이제 wtff.php 페이지로 넘어가보자.
접속하게 되면 ip주소의 . -> 공백으로 치환시킨 후 $_SERVER['REMOTE_ADDR']에 담긴다 그리고 SERVER['REMOTE_ADDR'] 변수의 값과 비교해서 같으면 다음 페이지로 넘어가게 된다.
자신의 ip 주소의 .를 제거한 후 url에 넣어서 요청해보자. 여기에서 파라미터명과 값이 동일하게 .를 뺀 ip 주소여야 한다.
extract()함수는 배열 속의 키값을 변수화 시켜주는 함수이다.
$_GET['addr']이 없으면 자동으로 $addr은 내 ip주소가 된다.
$_GET['addr']이 있으면 $addr은 내가 입력한 값이 된다.
$answer값은 for문에서 생성되고 해당 값을 알기위해 코드를 실행시켜보자.
ans=acegikmoqsuwy 값을 전송해보자.
$_SERVER['REMOTE_ADDR']에 내 ip를 넣고 마지막 fopen쪽의 주소를 출력해 보자.
해당 경로로 접근해보면 문제가 해결된다.
'CTF & WarGame > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] 35번 문제 (0) | 2020.03.13 |
---|---|
[webhacking.kr] 34번 문제 (0) | 2020.03.13 |
[webhacking.kr] 32번 문제 (0) | 2020.03.13 |
[webhacking.kr] 31번 문제 (0) | 2020.03.13 |
[webhacking.kr] 30번 문제 (0) | 2020.03.12 |