[webhacking.kr] old-24 문제

2026. 1. 20. 20:37·워게임/webhacking.kr

1. 문제 정보

  • 문제 번호 : old -24
  • 문제 점수 : 10점

2. 문제 분석

 

client 아이피랑 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>

 

_server와 _cookie값을 추출해서 ip값으로 쓴다.

_cookie값으로 Remote_addr을 써서 검사를 통과해야한다.  .., 12,7. 0.을 공백으로 바꾼다.

 $ip = htmlspecialchars($REMOTE_ADDR);
    $ip = str_replace("..",".",$ip);
    $ip = str_replace("12","",$ip);
    $ip = str_replace("7.","",$ip);
    $ip = str_replace("0.","",$ip);


3. 풀이

  replace를 통과하고   if($ip=="127.0.0.1")에 통과하기 위해서 
112277.12.0012.12.00.12.1를 REMOTE_ADDR에 cookie값으로 입력하면 통과한다. 

 


4. 요약

  • extract($_SERVER) 뒤에 extract($_COOKIE)가 나와서 $REMOTE_ADDR 변수를 조작 가능한 쿠키 값으로 덮어 씌웠다.
  •  str_replace가 .. → 12 → 7. → 0. 순으로 문자열을 지우는 점을 역이용했다.
  • 최종 Payload 쿠키 헤더에 REMOTE_ADDR=112277.12.0012.12.00.12.1을 입력해 전송하면 문제가 풀린다.

'워게임 > webhacking.kr' 카테고리의 다른 글

[webhacking.kr] old-26문제  (0) 2026.01.22
[webhacking.kr] old-54 문제  (0) 2026.01.21
[webhacking.kr] old-32 문제  (0) 2026.01.20
[webhacking.kr] old-14 문제  (0) 2026.01.20
[webhacking.kr] old-17 문제  (0) 2026.01.20
'워게임/webhacking.kr' 카테고리의 다른 글
  • [webhacking.kr] old-26문제
  • [webhacking.kr] old-54 문제
  • [webhacking.kr] old-32 문제
  • [webhacking.kr] old-14 문제
yt_5246
yt_5246
yt5246 님의 블로그 입니다.
  • yt_5246
    yt의 공부 블로그
    yt_5246
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 분류 전체보기 (61)
      • IT (1)
      • Security (11)
        • 시스템해킹 (3)
        • 리버싱 (6)
        • 암호학 (0)
        • tools (2)
      • Book (0)
      • 자격증 (3)
      • 워게임 (46)
        • DVWA (7)
        • WebGoat (4)
        • webhacking.kr (35)
      • 버그바운티 (0)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
yt_5246
[webhacking.kr] old-24 문제
상단으로

티스토리툴바