반응형

소스보기(항상 php를 포함한 소스를 보여줘도 힘든데 실제로는 웹해킹을 할때는 얼마나 힘들지...)



<?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>



ip를 통해 검증하는것으로 보인다. 127.0.0.1은 루프백 주소이다.즉 서버에서만 접근할수 있도록 되어있다. 그리고 필터링을 통해 12,7,0,"."이 호스트 주소에 있다면 공백으로 바꾸어 주고있다.

필터링을 피해 127.0.0.1을 만들어 editthiscookie앱을 이용해 REMOTE_ADDR라는 이름에 쿠키를 만들고 아래 입력을 넣어서 보내주면 될거같다.

12 7. 0. 0. 1 먼저 필터링 되는부분을 나누어보고 그사이에 공백으로 치환될 문자를 넣어주었다.


1(0.)27(0.)(..)0(0.)(..)0(0.)(..)1  (0.)은 공백이되는부분이며(..)은 .으로 치환된다.


10.270...00...00...1 이 문자열을 쿠키에 담아 보내면 클리어.


반응형

'보안 > webhacking' 카테고리의 다른 글

webhacking.kr old-26  (0) 2019.11.28
webhacking.kr old-25  (0) 2019.11.28
webhacking.kr old-23  (0) 2019.11.27
webhacking.kr old-22  (0) 2019.11.27
webhacking.kr old-21  (0) 2019.11.27
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기