Report Info
- URL (보고서 URL) : https://hackerone.com/reports/2337427
- Title (보고서 제목) : Authentication Bypass with usage of PreSignedURL
- Reported to (신고 대상) : ownCloud
- Reported date (보고 날짜) : 2024. 1.27
- Severity (취약 정도) : High (7.5)
- Weakness (취약점) : Improper Access Control
- Bounty (보상금) : $2,000
Description
ownCloud Infinite Scale (oCIS)에서 유저 이름과 파일 이름만 알면
어떠한 파일도 다운로드 받을 수 있는 취약점이다.

위처럼 해당 사이트에 어떤 사용자가 공유를 원하지 않는 파일을 cloud에 업로드 하더라도
PreSigned URL을 통해 해당 파일에 접근하여 다운로드 받을 수 있다.
https://{ownload-instance}/remote.php/dav/files/{username}/{filename}?OC-Credential={username}&OC-Verb=GET&OC-Expires=60&OC-Date=2024-01-27T00:00:00.000Z&OC-Signature=notchecked
해당 사이트에서 사용한 PreSigend URL은 위와 같다.
OC-Expires 파라미터와 OC-Date 파라미터의 값을 통해 해당 요청이 만료된 요청인지 서버에서 확인한다.
그리고 만료된 요청일 경우 error를 반환해야 하는데 해당 error 값이 NULL로 반환되어서
만료된 요청이더라도 해당 파일에 접근할 수 있게 한다.

따라서 유저 이름과 파일 이름만 수정하여 어떠한 파일도 다운 받을 수 있는
상당히 취약한 버그이다.
느낀 점
코드만 봤을 때는 전혀 문제 없어 보인 인증 로직이었는데
실제 반환된 값은 예상과 다를 수 있어 코드로만 취약점을 파악하면 안된다는 것을 깨달았다.
'web > Bug Bounty 리포트 리뷰' 카테고리의 다른 글
| Host Header Injection - hackerone report #1444675 (0) | 2024.04.03 |
|---|---|
| SMTP Command Injection - hackerone report #1509216 (1) | 2024.04.03 |
| RCE on Wordpress website - hackerone report #2248328 (0) | 2024.04.03 |
| Unrestricted File Upload in Reddit - hackerone report #1606957 (0) | 2024.04.03 |
| Code Injection in Nextcloud - hackerone report #1215263 (0) | 2024.04.03 |