검증 로직 우회를 통한 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 이슈
좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 94 |
kagla
|
1년 전 | 350 | |
| 93 |
supwayb
|
1년 전 | 294 | |
| 92 |
supwayb
|
1년 전 | 344 | |
| 91 |
Junanjunan
|
1년 전 | 263 | |
| 90 |
supwayb
|
1년 전 | 311 | |
| 89 |
supwayb
|
1년 전 | 339 | |
| 88 |
supwayb
|
1년 전 | 315 | |
| 87 |
kagla
|
1년 전 | 225 | |
| 86 |
kagla
|
1년 전 | 253 | |
| 85 |
supwayb
|
1년 전 | 353 | |
| 84 |
supwayb
|
1년 전 | 262 | |
| 83 |
kagla
|
1년 전 | 274 | |
| 82 |
supwayb
|
1년 전 | 323 | |
| 81 |
supwayb
|
1년 전 | 355 | |
| 80 |
seiblog-nandsoft
|
1년 전 | 327 | |
| 79 |
seiblog-nandsoft
|
1년 전 | 259 | |
| 78 |
supwayb
|
1년 전 | 245 | |
| 77 |
supwayb
|
1년 전 | 235 | |
| 76 |
supwayb
|
1년 전 | 255 | |
| 75 |
supwayb
|
1년 전 | 262 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기