DNS 리바인딩 공격
DNS Rebinding은 DNS resolution을 조작하여 Same Origin Policy를 우회하는 방법입니다.
브라우저에서 일반적인 교차 출처 공격을 차단하는 방법은 무엇입니까?
여기에서 브라우저는 공격자 출처의 응답 페이지가 다른 출처(예: localhost)의 페이지를 요청하고 있음을 이해합니다 ³ . 'cross-origin'으로 '단순하지 않은 요청'이므로 브라우저는 기본적으로 요청을 차단합니다.
로컬 서버에 접속하기 위해서는 SOP를 우회해야 합니다.
우리를 구출하기 위해 DNS 리바인딩이 옵니다…
공격 시나리오
초기 DNS 확인에서 attack.com은 6.6.6.6 ² 로 확인됩니다 . 따라서 브라우저는 6.6.6.6에 요청을 보내고 공격자 응답을 받습니다. 공격자 응답에는 attack.com에 대한 가져오기 요청이 다시 포함될 수 있습니다. 여기에서 공격자 출처의 페이지가 공격자 출처에서 리소스를 요청하므로 동일한 origin⁵ 입니다 .
DNS 서버를 구성하는 동안 공격자는 TTL(Time-To-Live)을 작은 값(예: 2초)²으로 설정합니다 .
따라서 브라우저는 Attacker.com에 대한 가져오기 요청을 실행하는 동안 다시 DNS 서버에 Attacker.com 해상도 ⁵를 요청 하며 이제 127.0.0.1⁶로 확인됩니다(공격자는 DNS 서버 구성에 두 개의 A 레코드를 설정함).
그런 다음 브라우저는 공격자 페이지에서 127.0.0.1 ⁸ 에 대한 DELETE 리소스 요청인 다음 요청을 실행합니다 . 127.0.0.1과 같은 출처의 로컬 호스트에 대한 요청이므로 브라우저는 차단하지 않고 실행합니다.
리소스가 삭제됩니다⁹
어떻게 하면 DNS 서버를 빠르게 가동할 수 있습니까?
당신은 응용 프로그램을 사용할 수 있습니다http://lock.cmpxchg8b.com/rebinder.html(소스코드도 가능)
다른 공격 시나리오 ?
- 혼란스러운 서버 측 인프라
공격자에 대한 제약/개발자를 위한 완화
1. 본인인증이 필요한 경우
2. SSL 인증서가 있는 경우
3. 서버가 호스트 헤더를 확인하는 경우
4. 사용자 지정 프로토콜 처리기(예: chrome:// )가 정의되고 로컬 애플리케이션에 액세스하는 데 사용되는 경우
참조:
- DEF CON 25 — 루크 영
- Tavis Ormandy의 공격 URI 또는 DNS 확인을 위한 웹 애플리케이션
- 버그 바운티 | Leet Cipher에 의한 DNS 리바인딩을 사용하는 SSRF 바이패스에 $2000
- Feross의 Data-Rebinding 공격 강의
- Gerald Doussot — DNS 리바인딩 공격 상태 및 오리진의 특이점 — DEF CON 27 컨퍼런스
- Basavaraj의 DNS 리바인딩(CVE-2022–4096)을 통한 SSRF
- 특이점 도구

![연결된 목록이란 무엇입니까? [1 부]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































