728x90
반응형
https://webhacking.kr/challenge/bonus-4/
<?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>
방법
extract 함수로 변수 추출을 하는데 SERVER와 COOKIE를 변수로 추출한다.
여기서 서버는 헤더 정보, 쿠키는 쿠키 정보를 가지고 있는데 쿠키에 REMOTE_ADDR 키를 가진 값을 생성한다.
그리고 나서 string replace를 함수들을 통과 했을 때 127.0.0.1 이 나오도록 쿠키 값을 수정해준다.
정답 값은 "112277...007.....007.....1"
728x90
반응형
'IT > Web' 카테고리의 다른 글
[Web Hacking] Challange 54 풀이 (0) | 2023.05.18 |
---|---|
[Web Hacking] Challange 16 풀이 (0) | 2023.05.01 |
[보안] Cookie bomb attack (0) | 2023.05.01 |
[Web Hacking] Challange 26 풀이 (0) | 2023.04.30 |
[Web Hacking] Challange 15 풀이 (0) | 2023.04.30 |