XSS(Cross Site Scripting)는 공격자가 다른 사용자가 보는 웹 페이지에 악성 코드를 삽입할 수 있는 보안 취약점을 이용한 공격입니다. 웹 응용 프로그램이 사용자 입력의 유효성을 제대로 검사하지 않고 사용자가 웹 페이지에서 자신의 스크립트를 입력하고 실행할 수 있도록 허용할 때 발생합니다.
Stored XSS는 공격자가 악성 코드를 웹 애플리케이션에 주입한 후 서버에 저장했다가 사용자가 특정 웹 페이지를 요청할 때 실행되는 것입니다. 이 공격은 동일한 페이지에 액세스 하는 여러 사용자에게 영향을 미칠 수 있으므로 특히 위험할 수 있습니다.
Reflected XSS는 공격자가 악성 코드를 웹 페이지에 삽입한 다음 사용자에게 실행되는 경우입니다. 이는 사용자가 검색 쿼리 또는 웹 애플리케이션에서 제대로 확인되지 않은 기타 입력을 할 때 발생할 수 있습니다.
XSS 공격은 악의적인 스크립트 실행을 방지하기 위해 사용자 입력 및 인코딩 출력을 금지하여 방지할 수 있습니다. 웹 개발자는 콘텐츠 보안 정책(CSP)과 같은 보안 조치를사용하여 웹 페이지에서 스크립트 실행을 제한할 수도 있습니다.
웹 응용 프로그램에서 XSS 취약점의 존재를 감지하고 사용자에게 경고하는 데 사용할 수 있는 스크립트는 일반적으로 의심스러운 입력이 있는지 페이지를 확인하고 잠재적인 XSS 공격의 징후를 찾습니다.
JavaScript의 속성 중에 document.cookie는 현재 문서와 관련된 쿠키를 가져오거나 설정하는 데 사용됩니다. 쿠키는 사용자의 장치에 저장되는 작은 텍스트 파일이며 일반적으로 사용자 기본 설정, 로그인 정보 및 기타 데이터를 저장하는 데 사용됩니다.
document.cookie 속성에 액세스할 수 있으면 공격자가 잠재적으로 사용자의 로그인 자격 증명이나 기타 중요한 정보를 훔칠 수 있다는 점에 유의해야 합니다.
<script>
alert(document.cookie);
</script>
이 스크립트가 실행되면 속성 내용이 포함된 경고 대화 상자가 표시되며 사용자가 현재 웹사이트에 로그인되어 있는 경우 여기에는 로그인 자격 증명이나 기타 민감한 정보가 포함될 수 있습니다.
공격자가 속성에 액세스하지 못하도록 하려면 웹 개발자는 입력 삭제 및 출력 인코딩과 같은 보안 코딩 방법을 사용해야 합니다. HttpOnly 또한 클라이언트 측 스크립트가 쿠키에 액세스 하지 못하도록 쿠키에 플래그를 설정할 수 있습니다. 또한 사용자는 웹사이트에 민감한 정보를 입력할 때 주의해야 하며 방문하는 각 사이트에 강력하고 고유한 비밀번호를 사용해야 합니다.
'보호' 카테고리의 다른 글
Set-Cookie Secure/HttpOnly (0) | 2023.04.27 |
---|---|
Robots.txt (0) | 2023.04.26 |
L2F(Layer 2 Forwarding switching) / PPTP(Point-to-Point Tunneling Protocol) (0) | 2023.04.24 |
POODLE - Padding Oracle on Downgraded Legacy Encryption (0) | 2023.04.23 |
ISO 27005 (0) | 2023.04.22 |