소스보기(항상 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 |
최근댓글