본문 바로가기
👷삽질기록

XSS 취약점 조치

by 랼랼 2022. 11. 16.

운영하고 있는 서비스에서 취약점 점검 결과

XSS 공격에 취약점이 발견되었다.

 

1.XSS 공격

 input이나 textarea 같은 곳에  html 태그를 넣고, 자바스크립트 실행코드를 넣어 작동되도록 만든다.

 

2. 조치 방법

 1) 위험한 문자열을 변환하여 저장

   - 해당 방법은 이미 서비스에 적용되고 있었다. 꺽쇠표시는 각각 &lt, &gt 와 같이 변환하여 저장함으로서

    1차적으로 방어는 가능하도록 하였다. 그러나...

    취약점 점검하시는 해커 분이 변환한 파라미터를 다시 꺽쇠로 변환하여

    요청을 하니 스크립트가 실행되어버리는 현상이 발생하였다.

 

 2)  <c:out> 이용

   - jsp의 경우, 보통 데이터 값을 el로 출력하는 경우가 많은데

    이는 스크립트가 포함되면 그대로 실행되기에 취약한 방법이라고 한다.

   - 이를 해결하는 방법 중 하나로 jstl의 c:out을 이용하는 방법이 있다,

    해당 방법은 escapeXml 옵션이 기본값으로 true로 설정되는데, 이는 html 관련 코드가 포함되어도

    문자열 그대로 출력되도록 한다.

 

* 결론 : 데이터 출력이 html 태그 없이 그대로 필요한 경우, <c:out>을 사용하면 보다 안전하게 사용할 수 있다

 

 

반응형

댓글