Bitbucket에 있던 2개의 Stored XSS

2106 단어 취약성xss
이 기사는 취약점"&'<<>\ Advent Calendar 2016의 15 일째 기사입니다.

Bitbucket에 2개의 XSS를 보고한 이야기입니다.

XSS on branch name (upon delete)







이미지가 전부입니다. 분기를 삭제할 때 표시되는 메시지가 이스케이프되지 않았기 때문에 XSS가 가능했습니다. 일회성이지만 Stored XSS이므로 모든 브라우저에서 표현할 수있었습니다. 말할 필요도없이 사용자 상호 작용이 필요하기 때문에 약한 XSS입니다.

XSS with issue title and commit message



Issue를 git commit -m "fix #1"로 커밋 메시지에서 resolve하면 웹 UI에서 커밋 메시지의 Issue 번호가 Issue 제목으로 대체되어 표시되는 사양이었습니다. 이때 이슈 제목이 이스케이프되지 않고 표시되었기 때문에,
  • "><script>alert(document.domain)</script>라는 제목의 이슈를 세운다.
  • git commit -m "fix #1" && git push에서이 문제를 해결하십시오.

  • 라고 하는 순서로Stored XSS를 만들 수 있었습니다.





    이것은 로그인 상태에 관계없이 Issue의 페이지로 유도하는 것만으로 표현된 것 외에 Bitbucket 톱 페이지의 "Recent Activity"안에도 표시되어 있으며 Bitbucket에서 자신을 팔로우하는 모든 사용자 의 톱 페이지에 XSS를 넣을 수 있게 되어 있었기 때문에, 강력한 XSS였습니다.

    결과



    Atlassian의 Security Hall of Fame에 이름을 올린 것 외에 티셔츠을 받았습니다.

    좋은 웹페이지 즐겨찾기