이클립스에서 Reflective XSS가 발생하는 원인 찾기

이전 포스트에 이어서 작성하였습니다.

[보안 취약점 진단 및 대응/WebGoat, Bee-Box] - openeg Reflective XSS

 

openeg Reflective XSS

openeg Reflective XSS (1) Kali Linux에서 http://victim:8080/openeg사이트로 이동하여 로그인 합니다.(test / test) (2) 메뉴에서 보안코딩테스트 > XSS를 클릭합니다. (3) 입력값이 어떻게 처리되는지 확인합니다. (3)

psjin230.tistory.com


이클립스에서 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

 

GitHub - naver/lucy-xss-filter

Contribute to naver/lucy-xss-filter development by creating an account on GitHub.

github.com

lucy-xss-superset 파일을 src/main/java 폴더로 옮기기

(5)-3 이클립스에서 코드를 수정합니다.

 

(6) 실행결과 확인

(6)-1 코드를 수정 후 사이트에 스크립트를 포함한 <script>alert('xss')</script>를 입력합니다.

=> 이전과 동일하게 방어 성공

 

(6)-2 태그를 포함한 <b><u>apple</u></b>를 입력합니다.

=> 이전과 다르게 스크립트가 아닌 태그는 필터링 안되는 것을 확인할 수 있습니다.