본문 바로가기
war game/웹 워게임(Webhacking.kr)

webhacking.kr 24번 문제(bonus)

by 강깅꽁 2017. 9. 15.

첫 문제화면이다. 

나의 ip와 agent를 파싱하여 출력해주는 것 같다.


source를 봐보자.



<html>
<head>
<title>Challenge 24</title>
</head>
<body>
<table border=1><tr><td>client ip</td><td>210.99.172.57</td></tr><tr><td>agent</td><td>Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36</td></tr></table><p><hr><center>Wrong IP!</center><hr>


<!--

source : index.phps

-->

</body>
</html>

다음과 같이 나와 있다. index.phps라는 힌트가 있다.


server측 코드를 보면 extract가 되어있다. extract는 파라미터의 값을 server의 값으로써 사용할 수 있게 해준다.


이 부분은 검색을 해보면 이해가 더 쉬울 것이다.


코드를 쭉 해석해보면 REMOTE_ADDR이라는 변수가 있으면 $_SERVER[REMOTE_ADDR]의 값을 참조하지 않는다.


즉 $_SERVER를 통해서 값을 넣을 방법이 안떠오르기 때문에

$_COOKIE를 이용해서 REMOTE_ADDR 값을 넣어보자. 이 쿠키값은 클라이언트 측에서 얼마든지 수정이 가능하기 때문에.


이런식으로 수정이 가능하다.

그런데 이대로 보내면 str_replace에 의해 값이 수정된다. 즉 이것을 우회해 줘야한다.


1122를 넣어주면 12가 replace되면서 12가남게 된다.

77..을 넣어주면 7.이 남게 된다. 이런식으로


112277..00..00..1 을 넣어주면 된다.