IDOR - 권한이 없는 사용자는 다른 사용자의 비밀 게시글에 엑세스하여 댓글을 남길 수 있습니다.

Writer what_web Program wargame.kr

WEB Informative Low No Reward Last Updated: Oct 26, 2021 (a month ago) Created: Jul 20, 2021

Weakness

IDOR

Description

요약

http://wargame.kr/board/write 페이지에는 publicsecret 기능이 존재합니다. public 기능은 게시글을 작성할 때 해당 게시글을 전체 커뮤니티 사람들이 볼 수 있으며 , secret 기능을 통해 게시글을 생성하면 모든 사용자는 해당 게시글을 확인할 수 없으며 자신만 해당 글을 볼 수 있습니다.

그러나 공격자는 권한이 없는 게시글에 대한 엑세스 권한을 획득하여 게시글에 댓글을 작성할 수 있습니다.

재현단계

  1. http://wargame.kr/board/write 페이지에서 secret 기능을 통해 게시글을 생성합니다.
  2. 이제 자신을 제외한 다른 사람은 해당 게시글을 방문할 수 없습니다.
  3. 생성한 게시글을 방문하고 Burp Suite 를 통해 댓글을 작성합니다.
  4. 댓글 작성 시 다음과 같은 요청이 전송됩니다.
POST /board/write_reply/1816 HTTP/1.1
Host: wargame.kr
Content-Length: 27
...

contents=test
  1. 위 요청에서 board/write_reply/18161816 숫자를 다른 사용자의 게시글 번호로 변경합니다.
  2. 이후 요청을 전송하십시오.
  3. 권한이 없는 사용자는 다른 사용자의 비밀 게시글에 댓글을 남길 수 있습니다.
  4. 1816 숫자는 게시글을 생성할 때 부여되는 고유 번호입니다. 따라서 쉽게 파악이 가능하며 예측이 가능합니다.

Impact

  • IDOR
  • 권환이 없는 사용자는 다른 사용자의 비밀 게시글에 엑세스할 수 있습니다.

Timeline

what_web submitted ticket. July 20, 2021 (5 months ago)
what_web posted a comment. July 20, 2021 (5 months ago)

안녕하세요 테스트 결과 추가 정보를 발견하였습니다.

다른 사용자의 비밀 게시글에 대한 고유 숫자는 비밀 게시글을 방문할 때 추가로 확인할 수 있습니다.

감사합니다.

4e6c6258 MANAGER posted a comment. October 26, 2021 (a month ago)

비밀 게시글에 댓글을 남길수 있다는 제보 감사드립니다.
하지만 본 취약점으로 해당 비밀글의 내용을 확인할 수는 없다는 점에서 기존에 말씀주셨던 CSRF와 유사한 공격으로 판단됩니다. 타 공격으로 활용 가능한 영향도가 미비하여 비밀글에 대한 댓글 작성 시 작성 가능여부를 판단하는 코드 적용 후 티켓 Close 하겠습니다. 감사합니다.

4e6c6258 MANAGER changed the severity from 'Medium' to 'Low'. October 26, 2021 (a month ago)
4e6c6258 MANAGER changed the status from 'Submitted' to 'Informative'. October 26, 2021 (a month ago)
4e6c6258 MANAGER changed the disclosure from 'Closed' to 'Disclosed (Full)'. October 26, 2021 (a month ago)