포럼
XSS 공격
2013.11.17 09:07
애드온같은 곳에 메시지 입력하는 란 있잖아요, 거기에 스크립트 코드를 입력하면 해당 메시지가 출력되는 페이지에서는 오른쪽과 같이 코드가 실행되네요. 이거 보안상으로 문제 없는건가요?
========
의미가 불확실하게 전달된 것 닽네요. $this->stop('메시지'); 에서 메시지 부분에 스크립트 코드를 넣으면 실제로 실행된다 이말입니다.
그런데 이런 경우 sprintf로 사용자가 입력한 값을 인자로 받아올 때가 있잖아요. 이런과정에서 문제생기지는 않나 의문입니다.
댓글 15
-
퍼니엑스이
2013.11.17 10:28
-
CI
2013.11.17 10:43
방금 저도 확인해봤는데 여전히 코드가 실행되네요.
-
퍼니엑스이
2013.11.18 13:47
크롬이라서 그런걸까요? 저는 아무리 HTML을 넣어봐도 문제없는데요.
-
CI
2013.11.18 13:54
아이패드 크롬에서는 실행되는데요?
-
CI
2013.11.18 13:56
테스트 주소입니다.
http://tistoryinvite.dothome.co.kr/tt/159
$this->stop('abcd'); 코드 처리 과정에서 abcd 부분에 script코드를 넣은 것입니다.
-
콩치
2013.11.18 09:01
관리자만 설정할 수 있는 부분인데 문제가 될까요? -
퍼니엑스이
2013.11.18 13:47
DB 서버 권한을 획득한다면, 애드온 설정은 충분히 조작할 수 있습니다.
-
콩치
2013.11.18 16:23
DB 서버 권한이 뚫리면, 이미 다 뚫린거라고 봐도 될것 같은데..
-
퍼니엑스이
2013.11.18 20:29
관리자 페이지에 악성코드를 심으면 바이러스 유포도 가능할 겁니다.
-
콩치
2013.11.20 22:15
디비가 뚫린 상황에서 xe에게 더이상 무언가를 바라기엔 무리가 있습니다.
디비가 안 뚫리도록 하는게 xe의 책임선이겠죠.. -
CI
2013.11.18 13:52
잘 모르겠습니다.
그 부분이 글에서 의문점을 제시한 부분이고요.
-
라르게덴
2013.11.18 14:25
의견입니다.
XSS방어는 입력된 코드로 정보습득, 변경을 처리하는 act에서 대응해야합니다.(insertDocument 등)
이미 관리자정보를 습득한 상황에서 위 예시로 접근해서 조작할 이유는 없어보입니다.(관리자페이지의 모든조작, db들어가서 세션보거나 모든 table조작이 가능하죠)
다만, poll모듈에서 xss를 대응한 예시처럼 입력부도 필터를 해두는게 일관성있는 처리라 생각되어집니다. -
CI
2013.11.18 14:27
글 수정했습니다.
-
라르게덴
2013.11.18 14:31
메시지출력부 코드는 개발자영역이 아닌가합니다.
그러므로, 위에 추가해주신 경우에 대해서는 문제없다고 생각합니다. -
CI
2013.11.21 09:44
최고관리자가 여러명이면요?
최신 버전(1.7.4.b2)에서 확인해보니 문제없네요ㅎㅎ