주의사항 : 이 포스팅은 개인 학습 및 교육적 목적으로 작성되었으며, 제공하는 정보를 악용하여 불법적인 행위를 하는 것은 엄격히 금지되어 있습니다. 웹 취약점 진단은 해당 웹사이트의 소유자의 명시적인 허가 없이는 수행해서는 안되며, 웹 취약점을 발견하였을 경우 즉시 해당 웹사이트의 소유자나 관리자에게 알려야 합니다.
: 웹 페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도하는 취약점이다. 일반적인 공격 형태로는 세션 도용, 악성코드 유포 등이 있으며, 특정 게시물을 클릭했을 시 브라우저가 계속해서 열리거나 경고창이 무한반복 되는 것들도 크로스 사이트 스크립팅 공격의 한 예라 할 수 있다.
reflection 방식 : 사용자가 입력 한 스크립트가 서버측에서 다시 리턴되어 브라우저에서 HTML의 일부로 해석되는 과정에서 스크립트가 실행되는 방식이다. 주로 검색란과 같은 곳에서 많이 발생한다.
stored 방식 : 사용자가 입력 한 스크립트가 DB에 저장(업로드)되어 일반 사용자가 페이지를 열람할 때 마다 DB로부터 불러와져서 실행되는 방식이다. 주로 게시판과 같은 곳에서 많이 발생한다.
DOM based 방식 : 스크립트가 실행되도록 URL 주소를 만들어 배포 후 일반 사용자에게 스크립트가 실행되도록하는 방식이다. 위의 두 방식과 다르게 서버와 관계없이 브라우저에서 발생한다.
: html 구문(JavaScript를 실행하는)을 웹 페이지의 텍스트가 입력가능한 곳(검색창, 게시글 업로드 시 제목or내용 칸 등)에 입력 후 구문이 실행시켜 본다.
XSS 방어 라이브러리, 브라우저 확장 기능 사용
: XSS를 막아주는 Anti XSS 라이브러리를 사용하여 막는 방법. 또는 브라우저에 이와 동일한 기능을 하는 확장 기능을 추가한다. OWASP ESAPI 라이브러리도 유명하다.
웹 방화벽 사용
: 기본적인 웹 방화벽을 통해 XSS 공격을 대비한다.
출처
https://junhyunny.github.io/information/security/dom-based-cross-site-scripting/
https://m.blog.naver.com/PostView.naver?blogId=lstarrlodyl&logNo=221941738753&navType=by