웹 취약점 실습 (1) - XSS
컴퓨터 보안 웹 취약점 실습 XSS
Section 1. 실습 환경 구축
1. Web Goat
OWASP에서 웹 취약점 공격 실습을 위해서 배포하는 웹 서버 환경 프로그램
- 설치파일 : WebGoat-5.4-OWASP_Standard_Win32.zip
- Tomcat 기반의 취약점을 드러내는 웹 서버
2. Web Goat 실행
- 다운로드 받은 .zip 파일에서 webgoat_8080 실행
- 브라우저 주소창에 localhost:8080/WebGoat/attack 을 입력하면 접속 가능
- ID : guest / PW : guest
3. Web Goat 화면
- 왼쪽 메뉴에서 원하는 웹 취약점 실습 가능
4. Burp Suite
프록시 서버를 사용하여 클라이언트와 서버가 주고받는 패킷을 가로채 분석 및 위변조가 가능하게 해주는 프로그램
- 설치파일 : Burp Suite Community Edition
5. Burp Suite 실행 및 화면
- Open Browser를 통해 브라우저 실행
- Proxy 서버 역할을 수행하여 서버와 클라이언트 사이의 패킷을 추출 및 분석
- Forward 를 이용하여 원래 서버로 요청 보낼 수 있음
Section 2. XSS (Cross-Site Scripting)
1. XSS
- 입력 데이터를 검증 X, 출력 시 위험 데이터를 무효화 X 경우 발생하는 웹 취약점 및 공격
- 웹 사이트에 악성 스크립트를 삽입하여 사용자 측 브라우저에서 스크립트가 실행되도록 함
- 쿠키 또는 세션 등의 민감한 정보 탈취
- 크게 Stored 방식과 Reflect 방식으로 나뉨
2. Stored XSS
- 웹 취약점이 존재하는 웹 사이트에 악성 스크립트를 영구적으로 저장
- 해당 웹 사이트에 접근하는 모든 임의의 방문자들이 공격 대상이 됨
- 지속적(Persistent) 기법
3. Reflected XSS
- 사용자의 입력 요청에 대한 결과가 서버에 없는 경우 서버는 입력값을 그대로 HTML 문서에 포함하여 응답 (refelct)
- 비지속적(Non-Persistent) 기법
4. Stored XSS 실습
① 왼쪽 메뉴에서 Stored XSS Attacks 클릭
② 아래와 같이 제목과 내용 입력 (정상적인 text가 아닌 악성 스크립트 삽입)
<script>alert(document.cookie);</script> # 현재 웹사이트의(document) cookie를 alert 창으로 표시
③ 해당 게시글을 클릭하면 삽입해 놓은 스크립트 실행됨
④ 하지만 document.cookie 정보 출력되지 않음
- 대부분의 브라우저는 document.cookie 명령어를 통해서 쿠키 정보에 접근하는 것을 방지하는 HttpOnly 옵션을 지정해 놓음. 이를 해제하기 위해서 개발자 도구로 들어간 뒤에 해당 옵션 해제
⑤ 다시 게시글 클릭하면 스크립트가 실행되어 해당 웹 사이트의 SessionID 쿠키 파일 추출
5. Reflected XSS 실습
① 왼쪽 메뉴에서 Reflected XSS Attacks 클릭
② 아래와 같이 부정확한 access code 입력하면 서버는 입력값 그대로 브라우저에 응답
③ 이번에는 쿠키 정보를 추출하는 악성 스크립트를 입력하여 요청
④ 서버는 해당 입력값을 그대로 응답하여 사용자 브라우저에서 스크립트가 실행됨
Author And Source
이 문제에 관하여(웹 취약점 실습 (1) - XSS), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@codren/웹-취약점-XSS-CSRF저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)