Web9: XSS 공격 유형 - 3부: Dom 기반 XSS

Web9: XSS 공격 유형 - 3부: Dom 기반 XSS

우리는 이미 두 가지 유형의 XSS 익스플로잇을 언급했습니다 : Reflection과 Stored.모두 위험한 코드가 삽입된 후 서버의 응답 후에 실행된다는 공통된 특징을 가지고 있습니다. 즉, 오류는 서버 측에 있다는 것을 의미합니다. 이 기능에 반대되는 또 다른 유형의 XSS 공격이 있습니다. DOM 기반 XSS 또는 유형 0 XSS라고도 알려진 서버를 통하지 않고 클라이언트 측에서 악성 코드가 즉시 실행됩니다.

먼저 DOM이 무엇인지 알아야 합니다.

Document Object Model의 약자인 DOM은 HTML, XML 등 구조화된 문서의 데이터를 검색하고 조작하기 위해 제안된 W3C(http://www.w3.org/DOM/)의 표준 형식입니다. 이 모델은 문서를 계층적 트리 구조로 나타냅니다. HTML과 XML의 모든 요소는 노드로 간주됩니다.

DOM 기반 XSS는 문서, 특히 HTML의 DOM 구조 변경을 기반으로 하는 XSS 활용 기술입니다.

아래의 구체적인 예를 살펴보겠습니다.

웹사이트에는 등록 페이지에 대한 다음 URL이 있습니다.

example.com/register.php?message=Please fill in the form

액세스하면 매우 일반적인 양식이 표시됩니다.

Web9: XSS 공격 유형 - 3부: Dom 기반 XSS

양식의 알림 콘텐츠에 전달된 메시지 매개변수를 쉽게 추론할 수 있습니다. 이 알림의 소스 코드를 자세히 살펴보세요.

Web9: XSS 공격 유형 - 3부: Dom 기반 XSS

JavaScript 세그먼트는 메시지 매개변수에서 값을 가져와서 인쇄하는 역할을 담당합니다. 이러한 느슨한 입력 확인을 통해 사용자를 속여 위험한 URL에 액세스하도록 하는 것이 전적으로 가능합니다.

캐스팅하는 대신:

message=Please fill in the form

그런 다음 다음을 전송합니다.

message=GenderMaleFemale

function show(){alert();}

그러면 등록 양식은 다음과 같습니다.

Web9: XSS 공격 유형 - 3부: Dom 기반 XSS

사용자는 이와 같은 "일반적인" 형식을 의심하지 않으며 성별을 선택하면 스크립트가 실행됩니다.

Web9: XSS 공격 유형 - 3부: Dom 기반 XSS

message 매개변수에 전달된 값에 대해 조금 더 설명하겠습니다.

GenderMaleFemale

function show(){alert();}

주요 목적은 select 태그에 onchage 이벤트가 발생할 때마다 show() 함수를 실행하는 것입니다. 여기서 show() 함수는 단순히 스크립트가 실행되었음을 표시하기 위해 팝업됩니다. 그러나 실제로 해커는 사용자 쿠키 값을 미리 결정된 서버로 전송하는 스크립트를 실행하기 위해 이 show() 함수를 사용하는 경우가 많습니다. 독자는 해커가 어떻게 이 요청을 생성하는지 언급하는 Reflected XSS 기사를 검토할 수 있습니다 .

이 예는 우리에게 두 가지 중요한 결론을 제공합니다. 첫째, select 태그의 값을 클릭하는 즉시 악성코드가 실행되었다. 즉, 서버의 응답을 거치지 않고 클라이언트 측에서 바로 실행되었다는 의미이다. 둘째, 전달된 스크립트로 HTML 구조가 변경되었습니다. 또한 실제 악용 시나리오도 볼 수 있습니다. DOM 기반은 악성 코드가 포함된 URL에 액세스하도록 사용자를 속이는 측면에서 Stored XSS보다 Reflected와 다소 유사합니다.

다음 그림은 DOM 기반 XSS 공격 기술을 구현하는 각 단계를 설명합니다.

Web9: XSS 공격 유형 - 3부: Dom 기반 XSS

다음은 DOM 기반 XSS를 통해 익스플로잇을 수행하는 WhiteHat.vn 포럼 회원의 비디오입니다.

행운을 빌어요!


Windows 10에서 레지스트리 편집기 글꼴을 변경하는 방법

Windows 10에서 레지스트리 편집기 글꼴을 변경하는 방법

이 가이드에서는 Windows 10에서 귀하의 계정 또는 모든 사용자의 레지스트리 편집기 글꼴을 변경하는 방법을 보여줍니다.

Windows에서 레지스트리 편집기를 여는 방법

Windows에서 레지스트리 편집기를 여는 방법

Windows 레지스트리에 대한 모든 변경은 모든 Windows 버전에 포함된 도구인 레지스트리 편집기를 통해 수행할 수 있습니다. 이 문서에서는 레지스트리 편집기를 여는 방법을 안내합니다.

Windows 10에서 UEFI 설정을 여는 방법

Windows 10에서 UEFI 설정을 여는 방법

UEFI 펌웨어 설정에 액세스하여 기본 부팅 순서를 변경하거나 UEFI 비밀번호를 설정하세요. Windows 10의 설정, 시작 버튼 또는 명령 프롬프트 창에서 UEFI 설정을 열 수 있습니다.

하드 드라이브를 다시 파티션한 후 손실된 파일을 복구하는 방법은 무엇입니까?

하드 드라이브를 다시 파티션한 후 손실된 파일을 복구하는 방법은 무엇입니까?

저장된 데이터의 볼륨을 별도의 부분으로 나누기 위해 드라이브를 분할할 수 있으며, 각 파티션은 별도의 드라이브처럼 보입니다. 이 파티션은 여러 운영 체제를 실행하는 경우 매우 유용합니다.

CMD에서 복사 붙여넣기 명령을 활성화하는 가장 빠른 방법

CMD에서 복사 붙여넣기 명령을 활성화하는 가장 빠른 방법

LuckyTemplates는 Ctrl + C 및 Ctrl + V 키 조합을 활성화하여 명령 프롬프트 창에서 명령을 복사하고 붙여넣는 방법을 안내합니다.

Web13: 세션 하이재킹 해킹 기법

Web13: 세션 하이재킹 해킹 기법

이 기사에서 LuckyTemplates는 세션 하이재킹 해킹 기술을 배우도록 여러분을 초대합니다.

Web14: HTTP 프로토콜의 보안 문제

Web14: HTTP 프로토콜의 보안 문제

HTTP 프로토콜의 보안 문제에 대해 알아보려면 LuckyTemplates에 가입하시기 바랍니다.

아름다운 Huawei Mate 40 배경화면 패키지(2K 해상도)를 다운로드하세요.

아름다운 Huawei Mate 40 배경화면 패키지(2K 해상도)를 다운로드하세요.

Huawei Mate 40 시리즈의 기본 배경화면 17개 팩을 무료로 다운로드할 수 있습니다.

Windows 10에서 작업 표시줄 버튼에 배지 표시 옵션을 켜거나 끄는 방법

Windows 10에서 작업 표시줄 버튼에 배지 표시 옵션을 켜거나 끄는 방법

기본적으로 Windows 10 V1703 이상을 실행하는 경우 작업 표시줄 버튼에 기호가 표시됩니다. 이 기사에서 Quantrimang.com은 필요에 따라 작업 표시줄 버튼에 배지 표시 옵션을 켜거나 끄는 방법을 보여줍니다.

컴퓨터의 UEFI 표준 개념

컴퓨터의 UEFI 표준 개념

UEFI(Unified Extensible Firmware Interface)는 BIOS의 약점을 해결하기 위해 Intel에서 개발했으며 점차적으로 오래된 BIOS 표준을 대체할 것입니다. 물론 BIOS보다 훨씬 강력하며 오버클러킹과 같은 작업에 정말 유용합니다.