테스트 사이트 - 개발 중인 베타 버전입니다

검증 로직 우회를 통한 Open Redirect 취약점 제보

· 1년 전 · 347
# 검증 로직 우회를 통한 Open Redirect
안녕하세요. 개발중인 SAST 보안 툴을 테스트하다가 취약점을 발견하여 제보드립니다.
조치를 위한 PR을 아래 링크에 작성해두었습니다.
- #583

## 취약한 Version
=< 6.0.4

## 취약점 설명
미흡한 검증 로직으로 `//`를 사용하여 방어 로직을 우회하여 로그인시 타 웹사이트로 사용자를 redirect시킬수 있음.
URL 경우 `//`로 시작할시 도메인으로 인지되기에 이러한 점을 악용하여 취약점을 발생시킬수 있습니다.
해당 취약점은 타 이슈에서도 언급되었듯이 피싱으로 악용될수있습니다.

### PoC
```
http://127.0.0.1:8000/bbs/login?url=//example.com
```

### 코드 문제점 및 조치
아래와 같이 현재 `//` 사용을 확인하는 검증 로직이 누락되어있습니다.
# https://github.com/gnuboard/g6/blob/fcd8dc7c42181fa95c1d64f688f6a720902d473e/lib/dependency/dependencies.py#L259-L270

이는 아래와 같이 조건문을 추가하여 조치가 가능합니다.
``` python
if (url
or url.startswith("//") # 여기와 같이 검증 조건 추가
and not url.startswith("/")
and not url.startswith(str(request.base_url))
and url not in allow_urls):
raise AlertException("올바르지 않은 URL입니다.", 400)
return url
```

## 관련 이슈 / PR
- #557
- #566

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시판 목록

그누보드6 이슈

좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.
글쓰기
🐛 버그신고