XSS(Cross Site Scripting) 취약점 해결을 위한 처리 함수
XSS 처리를 위해 구현된 메소드입니다. 필요시 참고하세요.
크로스 사이트 스크립팅(Cross Site Scripting, XSS) 이란
해커 또는 공격자가 웹 사이트에 스크립트를 삽입하는 공격기법으로, 사용자의 세션을 가로채거나 웹사이트를 변조 또는 악의적 콘텐츠를 삽입 또는 피싱 공격을 진행하는 것을 말합니다.
public static String replaceXSS(String sourceString)
{
String rtnValue = null;
if (sourceString != null)
{
rtnValue = sourceString;
if (rtnValue.indexOf("<x-") == -1)
{
rtnValue = rtnValue.replaceAll("< *(j|J)(a|A)(v|V)(a|A)(s|S)(c|C)(r|R)(i|I)(p|P)(t|T)","<x-javascript");
rtnValue = rtnValue.replaceAll("< *(v|V)(b|B)(s|S)(c|C)(r|R)(i|I)(p|P)(t|T)", "<x-vbscript");
rtnValue = rtnValue.replaceAll("< *(s|S)(c|C)(r|R)(i|I)(p|P)(t|T)", "<x-script");
rtnValue = rtnValue.replaceAll("< *(i|I)(f|F)(r|R)(a|A)(m|M)(e|E)", "<x-iframe");
rtnValue = rtnValue.replaceAll("< *(f|F)(r|R)(a|A)(m|M)(e|E)", "<x-frame");
rtnValue = rtnValue.replaceAll("(e|E)(x|X)(p|P)(r|R)(e|E)(s|S)(s|S)(i|I)(o|O)(n|N)", "x-expression");
rtnValue = rtnValue.replaceAll("(a|A)(l|L)(e|E)(r|R)(t|T)", "x-alert");
rtnValue = rtnValue.replaceAll(".(o|O)(p|P)(e|E)(n|N)", ".x-open");
rtnValue = rtnValue.replaceAll("< *(m|M)(a|A)(r|R)(q|Q)(u|U)(e|E)(e|E)", "<x-marquee");
rtnValue = rtnValue.replaceAll("&#", "&#");
}
}
return rtnValue;
}
전자정부 프레임워크의 crossfilter도 고려해보세요.