패키지

XSS 방어 (크로스 사이트 스크립팅) 본문

Client-Side/HTML,CSS,Javascript

XSS 방어 (크로스 사이트 스크립팅)

업단업업 2017. 11. 13. 23:05

XSS 란?!

[Cross-site Scripting.]

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

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

--> 참조 : 나무위키


단순히 스크립단 내에서 처리할 경우, 아래를 추가// 

--> 참고(http://egloos.zum.com/nestofeagle/v/1809584)


  1.     private String cleanXSS(String value) {
  2.        //You'll need to remove the spaces from the html entities below
  3.         value = value.replaceAll("<""& lt;").replaceAll(">""& gt;");
  4.         value = value.replaceAll("\\(""& #40;").replaceAll("\\)""& #41;");
  5.         value = value.replaceAll("'""& #39;");
  6.         value = value.replaceAll("eval\\((.*)\\)""");
  7.         value = value.replaceAll("[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']""\"\"");
  8.         value = value.replaceAll("script""");
  9.         return value;
  10.     }
  11. }


Comments