이전 포스트에 이어서 작성하였습니다.
[보안 취약점 진단 및 대응/WebGoat, Bee-Box] - openeg Reflective XSS
이클립스에서 Reflective XSS가 발생하는 원인 찾기
(1) eclipse에서 Ctrl + Shift + R을 눌러 TestController.Java를 검색합니다.
(2) 문제가 되는 부분을 확인합니다.
(3) 문제가 있는 코드를 수정합니다.
(4) 실행결과 확인
(4)-1 코드를 수정 후 사이트에 스크립트를 포함한 <script>alert('xss')</script>를 입력합니다.
=> 방어 성공
(4)-2 태그를 포함한 <u>apple</u>를 입력합니다.
=> 스크립트가 아닌 태그도 단순 텍스트로 출력됨
=> 이렇게 되면 안됩니다.
(5) Lucy-xss-filter를 적용하여 XSS 공격을 방어해보겠습니다.
=> 스크립트 코드만 막고 태그는 실행될 수 있도록 하기 위한 방법입니다.
(5)-1 lucy-xss-1.6.3.jar 파일을 다운로드 받아 src/main/webapp/WEB-INF/lib 폴더로 드래그 앤 드롭을 해줍니다.
(5)-2 lucy-xss-fiter를 다운로드 받고 C:\Users\USER\Downloads\lucy-xss-filter-1.6.3\conf\lucy-xss-superset을 이클립스 src/main/java 폴더로 옮겨줍니다.
다운로드: https://github.com/naver/lucy-xss-filter/tags
(5)-3 이클립스에서 코드를 수정합니다.
(6) 실행결과 확인
(6)-1 코드를 수정 후 사이트에 스크립트를 포함한 <script>alert('xss')</script>를 입력합니다.
=> 이전과 동일하게 방어 성공
(6)-2 태그를 포함한 <b><u>apple</u></b>를 입력합니다.
=> 이전과 다르게 스크립트가 아닌 태그는 필터링 안되는 것을 확인할 수 있습니다.