Cross-Site Script (XSS)
Web/Web Hacking Techniques
XSS란 무엇인가?동적인 처리가 이루어지는 웹 어플리케이션에서 공격자에 의해 조작된 악의적인 스크립트를 사용하여, 비정상적인 행위를 강제하게 하도록 하는 공격이며, 일반적으로 브라우저 측 스크립트 형태의 악성 코드를 다른 최종 사용자에게 보낼 때 발생한다. XSS 취약점은 OWASP TOP10에 매번 등록되는 취약점이다.왜 발생 하는가?사용자의 입력값이 웹 브라우저상에 노출되는 구간에서 사용자의 입력값을 검증하지 않고 신뢰하게되어, 각각의 XSS 공격 기법에 의해 웹 브라우저, 웹 애플리케이션, 백엔드 단에서 악성스크립트가 실행되고 이를 통해 쿠키, 세션 토큰 등 기타 민감한 정보에 엑세스 할 수 있게 되며, 이 외에도 다양한 공격 기법으로 연계될 수 있게 된다.공격 방식다양한 스크립트 언어가 있지만 현..
Stored-Based-XSS
Web/Web Hacking Techniques
Stored XSS란 무엇인가?Stored XSS는 사용자의 입력 값을 전달 받아 서버 데이터베이스에 저장한 후 해당 저장 값을 불러와 동적 페이지를 구성할 때 발생하는 취약점이다. 보통 게시글이나, 댓글 기능에서 발견된다.Stored XSS 가 다른 XSS와의 차이는 악성 스크립트가 담긴 URL을 직접 전달하지 않아도 된다는 것이다. 공격자는 악성 스크립트를 게시글 저장과 같은 기능을 이용하여, 서버 데이터베이스에 저장한 후 희생자가 해당 페이지에 접근하면 웹 서버 데이터베이스에서 정보를 가져와 동적 페이지를 구성하며, 이 과정에서 스크립트가 실행된다. 💡 Stored XSS의 경우 게시판으로 예를 들어, 글쓰기 기능과 수정기능에 대한 내부 소스코드가 서로 상이하기에, 모든 기능에 대해 테스트 해봐야..
Reflected XSS
Web/Web Hacking Techniques
Reflected XSS란 무엇인가?Reflected XSS는 반사형 XSS로 사용자의 입력값을 받아 동적 페이지를 구성하는 환경에서 발생한다. DOM Based XSS 와의 큰 차이점은 DOM Based XSS는 브라우저단에서 입력값을 받아 동적 페이지를 구성하며 악성 스크립트가 실행된다면, Reflected XSS는 클라이언트 측에서 사용자의 입력값을 받아 서버측에서 동적 웹 페이지를 구성 후 다 클라이언트 측에게 보내고 브라우저단에서 출력된다. 이때 스크립트가실행된다. 이를 구별 하는 방법으로는 Dom을 제어하는 스크립트가 브라우저단의 개발자 도구를 통해 노출되는지 확인하면 된다. 반대로 Reflected XSS는 응답페이지 내에 사용자의 입력값이 실려 노출된된다.사용자의 입력값이 URL 의 매개변..