Lang/Servlet&JSP

Hidden Input value XSS (Cross Site Script) 방어하기

호형 2022. 6. 9. 16:58

hidden은 화면에 보이지 않기 때문에 XSS를 굳이 방어해야 하나 하는 생각이 들수도 있지만 분명히 이곳도 XSS에 대한 방어를 해야 하는 부분이다. (웬만한 보안 검사를 하면 이 부분에 대해 방어해놓지 않을경우 조치하라고 나온다.)

 

Hidden Input value XSS 방어

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
...
<input type="hidden" name="someValue" value="${fn:escapeXml(param.someValue)}"/>

JSTL의 function tag를 사용하였다. fn:excapeXml() 을 통해 XML마크업 문자로 인식될 문자열을 삭제한다.

 

끝!