해결된 질문
작성
·
450
2
1. dom 과 reflected 의 차이가 웹서버 응답값에서의 악성스크립트 유무 차이로 이해를 했습니다. 웹서버가 요청값을 받고 응답을 해줄 때 자바 스크립트로 작성된 dom api를 사용한 url일 경우 악성스크립트가 반영되지 않는게 맞나요?
2. reflected 공격시 url에서도 document.cookie 처럼 dom을 사용한거 아닌가요?
3. dom api를 사용한다는게 dom.php 처럼 자바스크립트만으로 작성된것을 이용한다는건 가요?
4. 3번이 맞다면 자바스크립트로만 작성된 php면 dom-based 기법을 사용할 수 있는 건가요?
답변 1
1
안녕하세요.
Dom과 Reflected 공격의 큰 차이점은,
클라이언트 측에서 DOM을 통해 동적 페이지 구성을 하는 기능에서 XSS 발생되는 것을 DOM XSS
서버 측에서 (PHP, ASP, JSP 등...) 동적 페이지 구성을 하는 기능에서 XSS 발생되는 것을 Reflected XSS
라고 합니다. 교육에서 설명하듯...
1) DOM을 통해 URL을 사용해서 웹 페이지 내 출력 될 경우 취약할 가능성이 있는 것이고 그냥 동적 페이지 구성 없이 로직상 사용되는 용도면 취약하지 않을 수 있습니다.(환경에 따라 잘 분석해 봐야겠죠.)
2) 세션 하이재킹 공격에서는 모든 공격이 domcument.cookie를 사용합니다. 왜냐면 세션 정보를 탈취하기 위해선 해당 구문을 반드시 사용해야 되기 때문이죠. 그리고 경고창을 통해 세션을 출력 시키는 이유는 해당 계정의 세션이 출력된다는 것 보여줌으로써 취약성을 직관적으로 보여주기 위함입니다.
3) 네 맞습니다. dom을 통해서 웹 페이지 작성이 가능합니다.
4) php와 dom은 전혀 관련이 없습니다. 서버 측 언어 어떤 것을 사용해도 dom은 발생할 수 있습니다.
기초 학습을 위해 웹 기초 교육과 php 기반의 게시판 제작을 하시는 것이 많은 도움이 될 것 같습니다.