문제 화면에서 client ip와 agent가 보이고, Wrong IP라는 문구가 보인다. view-source를 눌러 소스코드를 확인해보자!
소스코드를 확인해보면,
$ip = $REMOTE_ADDR; : 변수 ip에 $REMOTE_ADDR의 값을 넣는다.
if($REMOTE_ADDR){ : REMOTE_ADDR 값이 0이 아니면 실행
$ip = htmlspecialchars($REMOTE_ADDR);
$ip = str_replace("..",".",$ip); : ".."으로 되어 있는 것은 "."으로 대체
$ip = str_replace("12","",$ip); : "12"로 되어 있는 것은 ""(없음)으로 대체
$ip = str_replace("7.","",$ip); : "7."으로 되어 있는 것은 ""(없음)으로 대체
$ip = str_replace("0.","",$ip); : "0."로 되어 있는 것은 ""(없음)으로 대체
}
를 의미한다.
editThisCookie에서 REMOTE_ADDR 이름으로, 127.0.0.1의 값을 넣어줘도 문제 화면에서 client ip는 1로 뜬다.
12/ 7. / 0. / 0. / 1 로 나누어 봤을 때 1빼고 모두 공백으로 치환되기 때문이다.
때문에 이를 감지하지 못하게 "112277...00...00...1"로 입력을 하면,
112277...00...00...1에서 ".."이 "."으로 치환되고,
112277..00..00..1에서 "12" / "7." / "0." / "0."이 공백으로 치환되어
127.0.0.1만 남게 된다.
EditThisCookie에서 REMOTE_ADDR 값을 바꿔준 뒤 새로고침 하면, 정답!
'웹 해킹(WebHacking) > CTF(webhacking.kr)' 카테고리의 다른 글
Challenge(old) - Challenge 16번 문제풀이 (0) | 2021.10.06 |
---|---|
Challenge(old) - Challenge 20번 문제풀이 (0) | 2021.10.06 |
Challenge(old) - Challenge 1번 문제풀이 (0) | 2021.09.29 |
Challenge(old) - Challenge 26번 문제풀이 (0) | 2020.11.27 |
Challenge(old) - Challenge 34번 문제풀이 (0) | 2020.10.04 |
댓글