본문 바로가기
카테고리 없음

XSS와 CSRF의 차이 및 예시

by 지식id 2018. 3. 25.
반응형

CSRF

Cross-Site Request Forgery

 - "크로스사이트 요청 변조"라고 번역한다. XSRF라고 적기도 한다.

 - 공격 대상은 서버이다.

 - 위조된 서버 요청을 보내 권한이 없는 동작을 한다.

 - 예시 : 흔히 하는 파라미터 조작이 CSRF의 대표적인 예라고 할 수 있다. 관리자 권한으로 할 수 있는 일은 &is_admin=1 과 같은 GET 파라미터를 추가하여 동작 시키는 것이다. 다른 회원의 정보 수정, 비밀글 보기 등등 파라미터로 받아서 검증하면 안되는 일들이 파라미터로 처리될 때 공격에 취약하다. POST라고 안전한건 아니다. 권한을 검증 해야 할 경우엔 세션을 이용해야 한다.


XSS

Cross-Site Scripting

- 공격 대상이 홈페이지 이용자이다. 서버에는 영향을 주지 않지만 사이트가 변조될 위험은 있다.

- 예시 : 스크립트 태그 사용이 가능한 게시판에 스크립트를 불러오거나 직접 작성하여 클라이언트에서 오동작이 일어나도록 한다. 예를 들면 다른 광고 사이트로 이동하게 한다던가, 버튼의 타겟 주소를 바꾸어 파밍을 시도할 수도 있다. document.cookie를 비롯하여 화면상에 보이는 모든 정보는 모두 취합하여 어딘가로 보낼 수도 있다. 

- 해결법 : html태그가 그대로 동작하지 않도록 striptag나 replace등의 함수로 출력되는 내용을 감싸준다. 일부 태그가 사용 가능해야 하는 상황이라면 <script>등의 위험한 문구는 사용하지 못하도록 해야 한다.

반응형

댓글