티스토리 뷰

WEB/webhacking.kr

Webhacking.kr - 24번 [100]

Notchicken 2017. 5. 24. 14:55

Webhacking.kr - 24번 [100]


24번 문제는 client ip와 agent 정보를 띄워주고, Wrong IP! 라고 띄워져있다.
소스를 보면, index.phps 가 주석처리 되어있고 index.phps를 들어가면 해당 페이지의 스크립트 소스를 확인 할 수 있다.

<html>
<head>
<title>Challenge 24</title>
</head>
<body>
<?
extract($_SERVER);
extract($_COOKIE);
if(!$REMOTE_ADDR) $REMOTE_ADDR=$_SERVER[REMOTE_ADDR];
$ip=$REMOTE_ADDR;
$agent=$HTTP_USER_AGENT;
if($_COOKIE[REMOTE_ADDR])
{
$ip=str_replace("12","",$ip);
$ip=str_replace("7.","",$ip);
$ip=str_replace("0.","",$ip);
}
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();
}
else
{
echo("<p><hr><center>Wrong IP!</center><hr>");
}
?>
<!--
source : index.phps
-->
</body>
</html>


쿠키 정보를 받아와, ip 주소가 127.0.0.1 일 때 문제가 풀리는데 str_replace를 이용하여 ‘12’, ‘7.’, ‘0.’ 을 찾아 공백으로 치환하는 것을 확인할 수 있다.

쿠키에 ip 주소를 127.0.0.1로 설정해주되, 치환이 되어도 127.0.0.1이 되도록 해야하는 것이다.
그래서 치환되는 숫자를 사이사이에 넣어, 그것이 공백이 되어 사라지고 합쳐진 결과가 127.0.0.1이 되도록 만들어보았다.


이런식으로 쿠키값에 주소를 추가해주면
112277..00..00..1; 해당 부분이 공백으로 치환되고, 결과적으로 127.0.0.1만 남게 된다.




'WEB > webhacking.kr' 카테고리의 다른 글

Webhacking.kr - 54번 [100]  (0) 2017.06.21
Webhacking.kr - 26번 [100]  (0) 2017.06.21
Webhacking.kr - 14번 [100]  (0) 2017.05.24
Webhacking.kr - 18번 [100]  (0) 2017.05.24
Webhacking.kr - 16번 [100]  (0) 2017.05.24
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday