더시드엔진 ACL XSS 취약점(비교)
| r21 vs r22 | ||
|---|---|---|
| ... | ... | |
| 14 | 14 | 또한 문서나 토론에서 특정 동작을 실행 시 ACL 조건에 미달하면 거부 후 경고 메시지[* 오류: (동작) 권한이 부족합니다. '''특정 조건''' 이어야 합니다.]를 출력하는 과정에서 '''특정 조건'''에 대한 이스케이핑을 하지 않아 사용자가 지정한 내용이 그대로 출력되었다. 따라서 이는 ACL을 조정 가능한 사용자가 임의의 HTML 태그를 삽입하여 문서를 편집 및 편집 요청 시도하는 사용자를 대상으로 XSS 공격을 할 수 있는 취약점으로 이어졌다. |
| 15 | 15 | |
| 16 | 16 | == 예시 == |
| 17 | [[사용자:39.7.59.164]] 문서의 [[https://theseed.io/acl/사용자:39.7.59.164|ACL]] 탭을 보면, {{{perm:<script>alert('xss');</script>}}}과 {{{perm:<script>window.location.assign('https://theseed.io/thread/RipeLuckyBrashWood')</script>}}}이 편집 조건으로 걸려있 | |
| 17 | [[사용자:39.7.59.164]] 문서의 [[https://theseed.io/acl/사용자:39.7.59.164|ACL]] 탭을 보면, {{{perm:<script>alert('xss');</script>}}}과 {{{perm:<script>window.location.assign('https://theseed.io/thread/RipeLuckyBrashWood')</script>}}}이 편집 조건으로 걸려있었던 역사(활동)를 볼 수 있다. | |
| 18 | 18 | |
| 19 | 19 | 이는 엔진에 존재하지 않는 권한이기 때문에 문서 편집을 시도 시 편집이 거부되며 편집 요청으로 넘어가는데, 패치 전에는 '''편집 권한이 부족합니다. perm: OR perm: 이어야 합니다.''' 라는 메시지가 뜨며 ACL에 삽입한 내용이 textContent가 아니라 innerHTML로 출력되는 현상이 발생했었다. |
| 20 | 20 | |
| ... | ... |