Open HTTP Redirect

justugi·2024년 6월 21일
0

DVWA

목록 보기
16/16

주의사항 : 이 포스팅은 개인 학습 및 교육적 목적으로 작성되었으며, 제공하는 정보를 악용하여 불법적인 행위를 하는 것은 엄격히 금지되어 있습니다. 타인의 시스템에 대한 접근 권한을 얻기 위해 명시적인 동의를 받아야 하며, 이러한 기술을 사용하여 발생하는 모든 결과에 대한 책임은 사용자에게 있습니다.

0. 초기 화면

1. 서비스 실행

  • Quote 1, 2 모두 URL에 source/info.php?id=2 를 추가하는 방식으로 페이지를 호출하고 있다.

2. 리다이렉트

  • Quote 페이지 위치( dvwa/vulnerabilities/open_redirect/source/ ) 접속 시 디렉토리가 노출된다.

  • low.php 파일 요청 시 redirect target 이 없다고 뜬다,

  • URL 에 리다이렉트 파라미터( ?redirect=https://google.com )를 추가한다.
  • https를 생락하여 ?redirect=//google.com 도 가능하다.

3. 코드 분석

//low.php

<?php

if (array_key_exists ("redirect", $_GET) && $_GET['redirect'] != "") {
	header ("location: " . $_GET['redirect']);
	exit;
}

http_response_code (500);
?>
<p>Missing redirect target.</p>
<?php
exit;
?>
  • $_GET 으로 URL 의 모든 파라미터를 받아서, 응답 헤더에 $_GET 값을 redirect 하고 있다.
  • 위 코드에서는 location(리다이렉트) 할 대상을 가져올 변수명을 redirect 로 설정했지만 웹 페이지마다 개발자가 설정한 파라미터명으로 URL 에 리다이렉트 파라미터를 입력해야 한다.

4. 활용

  • 리다이렉트할 주소에 악성 파일을 다운로드하는 링크를 UTF-8 로 인코딩하여 설정한 후 사용자 링크 클릭을 유도한다.

출처

profile
IT 보안, 관심 있는 것을 공부합니다.

0개의 댓글