검증 로직 우회를 통한 Open Redirect 취약점 제보
# 검증 로직 우회를 통한 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
안녕하세요. 개발중인 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 이슈
좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 74 |
seiblog-nandsoft
|
1년 전 | 185 | |
| 73 |
seiblog-nandsoft
|
1년 전 | 169 | |
| 72 |
supwayb
|
1년 전 | 333 | |
| 71 |
supwayb
|
1년 전 | 284 | |
| 70 |
dungdang39
|
1년 전 | 267 | |
| 69 |
dungdang39
|
1년 전 | 312 | |
| 68 |
supwayb
|
1년 전 | 240 | |
| 67 |
supwayb
|
1년 전 | 257 | |
| 66 |
supwayb
|
1년 전 | 259 | |
| 65 |
kagla
|
1년 전 | 267 | |
| 64 |
kagla
|
1년 전 | 203 | |
| 63 |
kagla
|
1년 전 | 197 | |
| 62 |
seiblog-nandsoft
|
1년 전 | 222 | |
| 61 |
supwayb
|
1년 전 | 297 | |
| 60 |
seiblog-nandsoft
|
1년 전 | 212 | |
| 59 |
seiblog-nandsoft
|
1년 전 | 195 | |
| 58 |
supwayb
|
1년 전 | 266 | |
| 57 |
supwayb
|
1년 전 | 306 | |
| 56 |
supwayb
|
1년 전 | 203 | |
| 55 |
kagla
|
1년 전 | 199 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기