kjh00n의 기록저장소
XSS 본문
XSS (Cross Site Scripting)
● 공격 코드(Scripting)가 서버를 이용하는 클라이언트에서 실행(Cross Site)되게 만들어 클라이언트에서 비정상적인 동작이 수행되게 하는 공격
● Hacker가 Server에 있는 특정 기능을 악용해서 Client를 공격
공격 발생 원인
● 동적 웹 서비스에서 클라이언트로부터 전달되는 데이터를 검증 없이 받아들일 때 발생하는 취약점
공격 대상 및 특징
● 웹 서버의 서비스를 제공받는 클라이언트
● 웹 서버에 직접적인 피해를 일으키는 것이 아니라 웹 서버를 경유하여 클라이언트를 공격함
- 서버를 장악하지 않고도 사용자의 권한을 쉽게 도용할 수 있음
공격 종류
Reflected XSS (= Non-Persistent XSS)
● 공격자의 악성 스크립트를 대상 서버에 저장하지 않고 클라이언트에게 직접 전달하여 공격하는 형태
● 매개변수가 응답으로 출력되는 URL 등을 이용하여, 매개변수에 악성 스크립트를 포함시켜 전달합니다.
● 전달 방식 → URL, 이메일, 쪽지 등을 이용하여 전달합니다.
● 장점 → 공격자의 악성 스크립트가 서버에 저장되지 않으므로 필터링을 우회할 확률이 높습니다.
● 단점 → 클라이언트가 직접 URL을 실행해야 합니다.
Stored XSS (= Persistent XSS)
● 공격자는 대상 서버에 저장한 악성 스크립트를 클라이언트가 요청/응답을 통해 전달받아 공격합니다.
● 입력 데이터의 검증을 수행하지 않는 HTML을 지원하는 게시판, 방명록 등을 이용합니다.
● 장점 → 서버에서 필터링만 수행하지 않으면, 공격 스크립트에 의해 언제든 공격이 가능합니다.
● 단점 → 서버에서 필터링을 수행하면, 우회하기가 쉽지 않습니다.
XSS 간단 실습
● XSS 공격이 가능한 injection vector 찾기
● 해커가 입력한 데이터를 서버에 저장 → 사용자가 입력한 값을 서버에 저장하는 위치
→ 회원 등록, 게시판 글쓰기, 회원 정보 변경, 닉네임 변경
● XSS 공격의 타겟은 클라이언트 → 웹사이트를 이용한 사용자 → 공격코드를 불러오는 사용자 → 사용자가 요청이 가능한 페이지에 악성코드가 출력됨
● 게시판 글쓰기에 악성코드 넣어보기 ↓
● 공격이 먹히는 이유
→ 입력한 공격 코드가 수정,변경 없이 그대로 DB에 저장되기 때문이다
|
↓ Hacker인 50.200에 apache2와 php 설치함 ↓
'어플리케이션 보안 운영' 카테고리의 다른 글
CSRF (0) | 2025.01.07 |
---|---|
XSS 보안 및 우회 (0) | 2025.01.07 |
WEB Session Attack (0) | 2025.01.06 |
WEB 인증 공격 (0) | 2025.01.03 |
데이터 검증 (0) | 2025.01.03 |