창은 low 레벨과 같다.
<?php
$target = "";
if (array_key_exists ("redirect", $_GET) && is_numeric($_GET['redirect'])) {
switch (intval ($_GET['redirect'])) {
case 1:
$target = "info.php?id=1";
break;
case 2:
$target = "info.php?id=2";
break;
case 99:
$target = "https://digi.ninja";
break;
}
if ($target != "") {
header ("location: " . $target);
exit;
} else {
?>
Unknown redirect target.
<?php
exit;
}
}
?>
Missing redirect target.
구성 코드이다.
target이 빈 문자열이 아닐 때 location으로 링크를 이동시키는데
redirect할 때 case1, 2, 99에 해당해야 target이 정해진다.
target을 원하는 대로 바꿀 수도 없고 정해진 링크로만 이동시킨다.
이 파일은 medium.php의 파일 내용이다.
그러니 링크를 low.php의 redirect로 변조하면
필터링 없이 location이 실행되던 low.php 파일의 코드를 이용할 수 있다.
http://127.0.0.1/DVWA/vulnerabilities/open_redirect/source/low.php?redirect=https://bluesunset-hack.tistory.com/
이 링크로 접속하면 원하는 링크의 페이지로 이동할수 있다.
'웹해킹 > DVWA' 카테고리의 다른 글
DVWA Authorisation Bypass(medium) 롸업 (0) | 2023.11.18 |
---|---|
DVWA JavaScript(medium) 롸업 (0) | 2023.11.17 |
DVWA CSP Bypass(medium) 롸업 (0) | 2023.11.17 |
DVWA XSS(Stored)(medium) 롸업 (0) | 2023.11.17 |
DVWA XSS(Reflected)(medium) 롸업 (0) | 2023.11.16 |