Web - Server | HTTP - IP restriction bypass
2022. 6. 11. 19:40ㆍroot-me.org
728x90
<!DOCTYPE html>
<html>
<head>
<title>Secured Intranet</title>
</head>
<body><link rel='stylesheet' property='stylesheet' id='s' type='text/css' href='/template/s.css' media='all' /><iframe id='iframe' src='https://www.root-me.org/?page=externe_header'></iframe>
<span>Your IP <strong>::ffff:220.116.191.29</strong> do not belong to the LAN.</span>
<h1>Intranet</h1>
<form method="post">
<p>
<label for="login">Login:</label>
<input type="text" name="login">
</p>
<p>
<label for="pass">Password:</label>
<input type="text" name="mdp">
</p>
<p>
<input type="submit" value="login">
</p>
<p>
<small>You should authenticate because you're not on the LAN.</small>
</p>
</form>
</body>
</html>
메인 페이지 소스코드부터 가져와봤습니다.
웹페이지의 맨 위를 보니 사용자의 IP가 나와있고, 이 IP가 사설 대역 IP가 아니라고 써져있습니다.
IP를 사설 대역으로 속여야만 FLAG를 얻을 수 있을 것 같습니다.
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/X-Forwarded-For
방법을 찾기 위해 구글링을 하다 XFF라는 헤더를 발견했습니다.
이 헤더를 변조하면 될 것 같습니다.
변조를 하는 방법으로는 툴을 쓰는 방법, Burp Suite를 쓰는 방법, 이렇게 두 가지가 있습니다.
저는 툴을 써서 문제를 풀어보겠습니다.
https://chrome.google.com/webstore/detail/modheader/idgpnmonknjnojddfkpgkljpfnnfcklj?hl=ko
Chrome 확장 프로그램에서 ModHeader라는 프로그램을 다운받아서 써보겠습니다.
예상대로라면 새로고침을 했을 때 FLAG가 뜰 것입니다.
728x90
'root-me.org' 카테고리의 다른 글
Web - Server | SQL injection - Authentification (0) | 2022.06.15 |
---|---|
Web - Server | File upload - Double extensions (0) | 2022.06.14 |
Web - Server | HTTP - POST (0) | 2022.06.10 |
Web - Server | HTTP - Headers (0) | 2022.06.09 |
Web - Server | HTTP - Directory indexing (0) | 2022.06.08 |