Bee-Box 소스코드에서 Reflected XSS가 발생하는 원인 찾기
[보안 취약점 진단 및 대응/Bee-Box] - Bee-Box(비박스) Cross-Site Scripting - Reflected(GET)
#1 XSS 공격을 방어하기 위해 Bee-Box 가상머신에서 다음 명령어를 실행하여 소스코드를 확인합니다.
명령어 입력 > $ sudo gedit /var/www/bWAPP/xss_get.php
[xss_get.php]
=> 보안 등급에 따라 입력값을 처리하고 있는 함수와 입력받는 부분이 처리되는 과정입니다.
[functions_external.php]
=> 검증된 함수, 라이브러리를 사용하는 것이 좋습니다.
#2 문제가 있는 코드를 수정합니다.
#2-1 htmlspecialchars() 사용
=> 이외에도 htmlentities() 사용도 권장합니다.
#2-2 직접 필터링
=> 사이트에서 실행해보면 필터링 된 것을 확인할 수 있습니다.
=> 입력값을 화면에 출력할 때는 htmlspecialchars, htmlentities와 같은 검증된 함수, 라이브러리, 프레임워크를 사용하여 실행가능한 코드를 HTML 인코딩하여 일반 문자열로 출력되도록 해야합니다.