본문 바로가기

웹해킹/webhacking.kr

old-24 롸업(webhacking.kr)

문제 화면이다.

client ip와 agent에 대한 정보가 나와있고 Wrong IP!라고 떠 있다.

<?php
  include "../../config.php";
  if($_GET['view_source']) view_source();
?><html>
<head>
<title>Challenge 24</title>
</head>
<body>
<p>
<?php
  extract($_SERVER);
  extract($_COOKIE);
  $ip = $REMOTE_ADDR;
  $agent = $HTTP_USER_AGENT;
  if($REMOTE_ADDR){
    $ip = htmlspecialchars($REMOTE_ADDR);
    $ip = str_replace("..",".",$ip);
    $ip = str_replace("12","",$ip);
    $ip = str_replace("7.","",$ip);
    $ip = str_replace("0.","",$ip);
  }
  if($HTTP_USER_AGENT){
    $agent=htmlspecialchars($HTTP_USER_AGENT);
  }
  echo "<table border=1><tr><td>client ip</td><td>{$ip}</td></tr><tr><td>agent</td><td>{$agent}</td></tr></table>";
  if($ip=="127.0.0.1"){
    solve(24);
    exit();
  }
  else{
    echo "<hr><center>Wrong IP!</center>";
  }
?><hr>
<a href=?view_source=1>view-source</a>
</body>
</html>

view-source로 코드를 확인해봤다.

ip를 127.0.0.1로 만들어야 하는 거 같은데 그 위에 str_replace 함수로

..

12

7.

0.

이렇게 4개를 치환하고 있다.

이건 그냥 치환 우회를 하면 될거 같다.

extract 함수로 COOKIE를 추출하기 때문에 REMOTE_ADDR 변수를 쿠키에 담아두면 된다.

112270...00...00...1

이렇게 하면 우회가 된다.

1122는 12가 되고 ..을 .으로 바꿔주면

70..00..00..1이 되고

7.은 없으니 넘어가고 0.을 없애면

7.0.0.1이 되거 127.0.0.1이 완성된다.

쿠키에 이렇게 넣어주고 새로고침하면

풀린다.

'웹해킹 > webhacking.kr' 카테고리의 다른 글

old-26 롸업(webhacking.kr)  (0) 2023.12.07
old-25 롸업(webhacking.kr)  (0) 2023.12.07
old-23 롸업(webhacking.kr)  (0) 2023.12.06
old-20 롸업(webhacking.kr)  (0) 2023.12.05
old-19 롸업(webhacking.kr)  (0) 2023.12.05