sinzoro / testz1

test
0 stars 0 forks source link

보안필터 구성하기 (XSS, XSRF, CSRF) #8

Open dezcao opened 7 years ago

dezcao commented 7 years ago

XSS, XSRF, CSRF

dezcao commented 7 years ago

https://dzone.com/articles/stronger-anti-cross-site

문제1. 네이버가 제공하는 LUCY XSS 라이브러리를 사용할 것인가. 문제2. 멀티파트파일에 대한 필터도 적용되어야 한다. http://brocess.tistory.com/18 https://github.com/naver/lucy-xss-servlet-filter (2017.6.26 현재 dezcao2브랜치에 멀티파트 없이 네이버 표준메뉴얼 설정상태임.)

XSS(Cross-site Scripting)는 웹 상에서 가장 기초적인 취약점 공격 방법의 일종으로, 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법을 말한다. 공격에 성공하면 사이트에 접속한 사용자는 삽입된 코드를 실행하게 되며,[1] 보통 의도치 않은 행동을 수행시키거나 쿠키나 세션 토큰 등의 민감한 정보를 탈취한다.

크로스 사이트 스크립팅이란 이름 답게, 자바스크립트를 사용하여 공격하는 경우가 많다. 공격 방법이 단순하고 가장 기초적이지만, 많은 웹사이트들이 XSS에 대한 방어 조치를 해두지 않아 공격을 받는 경우가 많다. 여러 사용자가 접근 가능한 게시판 등에 코드를 삽입하는 경우도 많으며, 경우에 따라서는 메일과 같은 매체를 통해서도 전파된다.

물론, HTML을 사용하는 것이기 때문에, Text-Only 게시판이나, BBCode를 이용하는 위키위키 등에서는 XSS가 발생할 일은 없다. 단, 나무위키의 경우 {{{#!html HTML}}} 을 이용해서 HTML 태그를 사용할 수 있으므로 취약점이 있을 수도 있다. 그래서 나무위키 초반에는 스크립트 태그와 이벤트 속성도 막지 않았다. 물론, 이는 후에 대부분 수정되었다.

주로 CSRF를 하기 위해서 사용되기 때문에 종종 CSRF와 혼동되는 경우가 있으나, XSS는 자바스크립트를 실행시키는 것이고, CSRF는 특정한 행동을 시키는 것이므로 다르다.