Tech Juny

웹 애플리케이션 공격 계열 - XXS, CSRF, SSRF 본문

보안 취약점 공격

웹 애플리케이션 공격 계열 - XXS, CSRF, SSRF

태크주니 2024. 6. 7. 22:36

XXS, CSRF, SSRF


01. XSS(크로스 사이트 스크립트)

  • 개요
    • 게시판 등에 악의 적인 스크립트를 삽입하여 해당 스크립트가 Client에서 동작하도록 공격
    • 쿠키 정보 탈취, 악성코드 감염, 웹페이지 변조 등의 공격 수행
  • Stored XSS (저장형 XSS)
    • 개요
      • 공격자가 취약한 웹서버에 악성 스크립트를 게시판 등에 올려 DB에 저장
      • 이후 해당 게시물을 읽은 Client는 악성 스크립트가 실행 되어 동작
  • Reflected XSS (반사형 XSS)
    • 개요
      • 악성 스크립트 포함 링크 메일을 희생자에게 전달 후 희생자의 액션에 의해 웹서버로 전달
      • DB에 저장되는 방식이 아님
  • XSS 대응법
    • httponly을 사용하여 스크립트를 통해 쿠키에 접근한는것을 차단
    • htmlspecialchars( ) 함수 사용 : html 문법의 특수문자를 이스케이프 처리
    • 사용자 입력 값에 대한 검증은 반드시 서버 단에서 수행 → 클라이언트 단에서 처리할 경우 웹 프록시로 우회 가능
    • XSS 취약점 검사1 : <script>alert( )</script> → 팝업창 알림 발생
    • XSS 취약점 검사2 : <script>alert(document.cookie)</script> → 팝업창 알림에 사용자 쿠키 출력

02. CSRF(크로스 사이트 요청 위조)

  • 개요
    • 공격자가 GET, POST 방식의 HTTP 요청 시 희생자 모르게 공격자의 의도된 행위를 수행
    • 사용자의 권한을 공격자가 그대로 사용하여 공격
  • 대응책
    • HTTP 요청 에 임의의 토큰 값을 추가하여 비정상적인 요청 판별
    • 사용자 세션검증 or 재인증 유도
    • XSS 공격과 비슷함으로 XSS에 대한 취약점 제거 필요

  XSS와 CSRF의 차이점
- XSS 취약점은 악성 스크립트가 클라이언트 측에서 실행되어 클라이언트 쿠키 정보를 탈취하거나 악성코드를 다운로드 하는 등 클라이언트에서 악의적인 행위가 발생
- CSRF 취약점은 악성스크립트가 클라이언트 측에서 실행되어 클라이언트가 의도하지 않은 조작된 요청을 서버로 보냄으로서 클라이언트 권한으로 서버의 클라이언트 정보를 수정하는 등 서버에서 악의적인 행위가 발생

03. SSRF(서버 사이드 요청 위조)

  • 개요
    • 적절한 검증 절차를 거치지 않는 사용자의 입력값을 서버 간의 요청을 사용하여 악용
    • 조작된 요청을 웹서버에 전달하면 웹서버는 내부의 다른 서버에 해당 악의적인 요청 전달
  • 대응책
    • 서버에 요청시 화이트리스트 or 블랙리스트 방식 필터링
    • 동일 네트워크 간이라도 기기 인증 및 서비스 접근 제한 설정
Comments