Report Info
- URL (보고서 URL) : https://hackerone.com/reports/1724016
- Title (보고서 제목) : Download permissions can be changed by resharer
- Reported to (신고 대상) : Nextcloud
- Reported date (보고 날짜) : 2022.10. 6
- Severity (취약 정도) : Medium (5.7)
- Weakness (취약점) : Improper Access Control
- Bounty (보상금) : $500
Description
Broken Access Control로 인해 발생한 매우 간단한 버그이다.
Netcloud의 파일 공유 API를 사용하여 다운로드 불가 권한의 파일을
내부적으로 공유하고 해당 파일을 공유받은 사람이 또 다른 사람에게
해당 파일을 공유할 경우 해당 공유 항목의 ID 번호가 달라져 PUT 메소드로
해당 리소스의 권한을 수정할 수 있는 버그이다.
예를 들어 A라는 사람이 B라는 사람에게 다운로드 불가 권한의 파일을 공유할 때
해당 공유 항목은 ID 10을 부여받는다. 그 후 B라는 사람이 C라는 사람에게
A에게 공유받은 파일을 공유할 때 해당 공유 항목에 11이라는 ID가 부여되어
A가 설정해놓은 다운로드 불가 권한에서 자유롭게 된다.
curl -u user2:pass 'https://SERVER/ocs/v2.php/apps/files_sharing/api/v1/shares/11' -X PUT -H "OCS-APIREQUEST: true" -H 'Content-Type: application/json' --data-raw '{"permissions":"17","attributes":"[{\"scope\":\"permissions\",\"key\":\"download\",\"enabled\":true}]"}'
위는 리포트 제보자가 curl로 공유 항목의 권한을 수정하기 위해 사용한 명령어이다.
위의 취약점을 통해 다운로드 불가 권한 설정의 기능이 무력화되어 어떠한 공유받은 파일도
다운로드 받을 수 있게 된다.
느낀 점
일주일 동안 버그바운티 리포트를 상당히 많이 읽었는데 최근 리포트를 보면
Access Control과 관련된 문제가 상당히 많은 것 같다.
실제 취약점을 찾을 때 Access Control을 중점으로 분석해보는 것도 좋을 것 같다.
'web > Bug Bounty 리포트 리뷰' 카테고리의 다른 글
| Bruteforce protection Bypass - hackerone report #2230915 (0) | 2024.04.03 |
|---|---|
| CSP bypass using Google script resources - hackerone report #2279346 (0) | 2024.04.03 |
| DoS attack via wp-cron.php - hackerone report #1888723 (0) | 2024.04.03 |
| Host Header Injection - hackerone report #1444675 (0) | 2024.04.03 |
| SMTP Command Injection - hackerone report #1509216 (1) | 2024.04.03 |