포럼
코어 이슈인 줄 알았던 보안취약점...
2014.08.03 13:50
오늘 한 유저가 게시글에 자바스크립트를 삽입해 출력에 성공하는 일이 있었습니다.
완전 깜짝 놀라서 바로 증상 진단에 나섰는데...
카르마님의 이미지 자동출력 애드온 사용하시는 분 많으실 거 같은데요.
게시글 제목에 스크립트 태그를 넣어버리면 이 애드온에 의해 자바스크립트가 삽입되는 버그가 있었습니다.
예) 제목: <body><script>alert("안녕하세요!")</script></body>
애드온 구조를 보니까 DB에서 직접 게시글 정보를 가져오더라구요.
그런데 DB에 저장되는 게시글 제목은 removeHackTag를 거치지 않는 모양이더라구요.
DB를 보니까 제목란에 태그가 그대로 들어가있네요~
카르마님의 이미지 자동출력 애드온에서는 img alt 부분에 게시글 제목을 넣도록 되어 있었습니다.
그런데 DB에 저장되는 제목이 태그가 삭제되지 않은 채로 들어가다보니 본문에 허용되지 않은 태그를 넣을 수 있었던 거죠.
임시방편으로 최고관리자가 아니면 removeHackTag를 거치도록 수정해뒀는데... 코어 자체에서도 게시글 삽입 시 제목 부분의 태그를 삭제해줄 필요가 있을 거 같아요.
깃허브 이슈 준비하려다가... 서드파티 애드온의 이슈라서 이슈 준비는 그만뒀는데, 어쩔까요...?
댓글 10
-
SeungXE
2014.08.03 14:24
-
이즈야
2014.08.03 14:31
DB에 삽입되는 게시글의 제목이 태그가 그대로 들어가서 올려봤습니다.
-
SeungXE
2014.08.03 15:35
음, 확장성이나 마이그레이션 고려한다면 DB 입력하는 정보는 최대한 원본으로 하는게 맞지 않을까요? 뭐 제목에 특정 태그는 허용하고 싶으신 분도 계실거고....ㅋㅋ
-
XE
2014.08.04 10:01
DB에 삽입될 때, 제목이나 내용의 태그가 그대로 DB에 저장되는 것은 문제가 없습니다.
카르마님의 애드온을 수정해야할 필요가 있겠네요.
-
이즈야
2014.08.04 11:30
content 칼럼은 removeHackTag가 적용되는데, title은 그대로 저장되는 이유가 무엇인지 궁금합니다.
정말 마이그레이션 때문인지...
아, 오픈 오피스 데이날 물어볼 걸 그랬나요 ^^; -
LI-NA
2014.08.04 15:34
8/8에 참여하셔서
붙잡고물어보시면 될 것 같네요. :) -
이즈야
2014.08.04 18:00
에어컨 바람 쐬러 갑니다 ㅋㅋ(?) -
IOZ
2014.08.04 18:02
제목값 추출하는 위젯에서도 저렇게 되는가요? -
이즈야
2014.08.04 18:10
getTitle 함수가 따로 있어서 그렇지는 않을 거에요. -
IOZ
2014.08.04 22:44
그렇군요.
카르마님께 피드백하는게 좋지 않을까요? 저같은 경우 같은 애드온을 쓰지만 DB 부하를 줄이기 위해 alt="image" 이렇게 수정해서 사용중이라 다행히도 해당 안되는 이슈네요!