오늘은 URL filtering 문제를 풀어보자.
이 문제에서는 다음과 같은 코드를 주었다.
우리는 GET 메소드를 통해 do_you_want_flag로 yes라는 값을 보내야 하기에 /?do_you_want_flag=yes 라는 페이로드와 함께 올려야 하는데
하지만 필터에 의해 다음과 같이 필터된다.
하지만, 먼저 필터에 들어가기 전에 다음과 같은 코드를 확인할 수 있을것이다.
$url_query = parse_url($url, PHP_URL_QUERY);
이 함수(parse_url)에는 취약점이 있다.
이 취약점에 대한 자세한 정보는 http://skysec.top/2017/12/15/parse-url%E5%87%BD%E6%95%B0%E5%B0%8F%E8%AE%B0/ 에서 확인할 수 있다.
따라서 /를 하나 더 넣어 //?do_you_want_flag=yes 라는 페이로드를 보내주면 문제가 풀린다.
SolveMe URL filtering 클리어!
'보안공부 > SolveMe 풀이' 카테고리의 다른 글
SolveMe Hard login 풀이 (2) | 2018.08.17 |
---|---|
SolveMe Winter sleep 풀이 - 긴 시간 (0) | 2018.08.15 |
SolveMe Bad compare 풀이 - Hex (0) | 2018.08.14 |
SolveMe Thirty six 풀이 - 알파뉴메릭 (0) | 2018.08.13 |
solveme Warm up 풀이 - 뒤집기 (0) | 2018.08.12 |