본문 바로가기
웹 해킹(WebHacking)/CTF(webhacking.kr)

Challenge(old) - Challenge 24번 문제풀이

by LIZ0904 2021. 9. 29.
반응형

문제 초기 화면

문제 화면에서 client ip와 agent가 보이고, Wrong IP라는 문구가 보인다. view-source를 눌러 소스코드를 확인해보자!

 

 

 

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
문제페이지에서의 client ip

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 값을 바꿔준 뒤 새로고침 하면, 정답!

 

정답 체크창

 

반응형

댓글