일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- bWAPP install
- 도커
- SessionManager 터널링
- push-gateway
- S3 PrivateLink
- AWS Resolver
- Route53 Endpoint
- CrossSiteScript
- s3 sync
- node pod 분리
- bWAPP arm
- 리눅스
- 마운트
- DXGW
- VGW
- ix is lock
- Route53 Resolver
- x lock s lock
- s3
- ec2
- BastianHost
- Terraform
- sessionManager
- 다이렉트 커넥트
- S3 Gateway Endpoint
- S3 private통신
- 푸시게이트웨이
- bWAPP M1
- S3 Interface Endpoint
- DNS Resolver
- Today
- Total
이것이 점프 투 공작소
XSS(크로스 사이트 스크립팅)에 대해 알아보자 본문
XSS란?
웹 어플리케이션에서 발생하는 보안 취약점 중 하나입니다.
공격자가 악의적인 스크립트 코드를 삽입하여 의도치 않은 행동을 수행시키거나 쿠키, 세션 토큰같은 민감한 정보를 탈취하거나 악성코드가 있는 페이지로 리다이렉트 시키는 방식으로도 진행됩니다.
주로 JavaScripe를 통해서 일어나며 크게 3가지 공격으로 분류됩니다.
(원래 CrossSiteScript 즉 CSS지만 이미 CSS가 있기에 XSS라고 부른다고 합니다..ㅎ)
이렇게 input에 JS를 입력하면
이렇게 공격이 실행 되는 방식입니다.
Stored XSS
악의적인 스크립트 코드를 서버에 영구적으로 저장시켜, 페이지를 방문하는 모든 사용자에게 스크립트 코드가 실행될 수 있게 하는 공격입니다.
예를들어 특정 사이트의 게시판에 악성 스크립트가 삽입된 게시글을 등록하면, 해당 게시글을 조회하는 사용자에게 악의적인 스크립트 공격이 가해지게 됩니다.
Reflected XSS
공격자의 입력 데이터가 서버로 전송 후, 서버에서 변환된 데이터가 웹 페이지에 표시될 때 발생하는 공격입니다.
스크립트 코드가 입력되는 즉시 발생하기에, 공격자의 악의적인 스크립트가 사용자에게 즉각적으로 전해지기에 피싱공격에 주로 사용됩니다.
DOM-based XSS
DOM 즉 클라이언트 측 코드에서 실행되는 XSS공격입니다.
웹서버와 통신 없이 진행되는 공격이기에 서버측 필터링으로 방어 할 수 없습니다.
XSS 방어방법
- 입력 데이터의 유효성 검증 및 이스케이핑: 사용자 입력을 검증하고, 데이터를 이스케이핑하여 스크립트가 실행되지 않도록 합니다.
- Content Security Policy (CSP) 설정: 웹 페이지에서 실행 가능한 스크립트 등을 제한하여 공격을 어렵게 만듭니다.
- 입력 데이터 필터링: 특정 문자나 스크립트를 필터링하여 악성 코드를 차단합니다.
- HttpOnly 속성 설정: 세션 쿠키 등을 HttpOnly 속성으로 설정하여 자바스크립트에서 접근할 수 없도록 합니다.
Beef로 브라우저 후킹
XSS공격의 예시로 위에서 alert(1)을 띄우는 아주 작은 공격을 예시로 들었지만
실제로는 beff나 다른 프로그램들을 이용해 더 많은 일들을 할 수 있습니다.
beef를 사용해 XSS공격으로 사용자의 브라우저를 탈취하는 간단한 예시입니다.
Beef 실행
sudo beef-xss 명령어로 beef 를 실행시킵니다.
실행후에는 Hooking하기위한 JS주소와 beef 웹이 실행됩니다.
및줄친 스크립트는 beef에서 브라우저를 후킹하기 위한 즉 XSS공격 시 사용될 스크립트입니다.
후킹을 위한 피싱용 웹서버에 후킹 스크립트 주입.
테스트를 위해 직접 서버에 스크립트를 칼리의 아파치 서버의 html에 후킹을 위한 스크립트를 넣어줍니다.
아파치 서버를 실행시킵니다.
이후 특정 사용자가 윈도우를 통해 칼리에서 실행중인 아파치 서버에 접속하게되면
스크립트가 존재하는 사이트에 접속한 사용자 정보 탈취
공격자는 beef를 통해 사용자에대한 많은 정보들을 탈취 할 수 있습니다.
'해킹,보안' 카테고리의 다른 글
CSRF 공격에 대해 알아보자 (0) | 2023.08.24 |
---|---|
인코딩(Encoding)에 대해 알아보자 (0) | 2023.08.22 |
ARM 아키텍처에서 bWAPP Dokcer로 설치 및 실행하기 (0) | 2023.08.17 |
네트워크에서 패킷 분할 과정에 대해 알아보자 (0) | 2023.08.13 |
HTTP 프로토콜의 구조 (0) | 2023.08.12 |