등록 된 도메인 이름 "localtest.me"가 127.0.0.1로 확인되는 이유는 무엇입니까?


30

나는 한 기사 읽기 에 대한 서버 측 요청 위조를 . 이 기사에서 공격자 127.0.0.1는 인터넷에 공개 된 것을 발견했습니다 . 그런 다음 피해자는 차단 127.0.0.1했지만, 다른 많은 IP 및 일부 도메인도 신비한 것을 포함하여 해당 도메인으로 확인 되었기 때문에 localtest.me약한 텍스트 기반 필터를 우회 할 수있었습니다.

  1. 무엇이 특별한가 localtest.me?

  2. 다른 사람이 있습니까? (그리고 그들을 찾는 방법?)


최신 정보

찾았습니다 : http://readme.localtest.me/

분명히 누군가 테스트 목적으로 재미있는 방식으로 해당 도메인을 등록하기로 결정했습니다.

작동 방식은 다음과 같습니다. 전체 도메인 이름 localtest.me 및 모든 와일드 카드 항목은 127.0.0.1을 가리 킵니다. 따라서 호스트 파일을 변경하지 않고도 로컬 URL로 즉시 테스트를 시작할 수 있습니다.

그러나 여전히 외부 도메인을 로컬 도메인에 등록하는 방법을 잘 모르겠습니다. tracert localtest.me결코 기계를 떠나지 않기 때문에 혼란 스럽습니다 . 이것은 낮은 수준에서 어떻게 처리됩니까?

그런 다음 이 의견 과 다른 곳 에서 몇 가지를 더 발견했습니다 .

lvh.me 
vcap.me
fuf.me - IPv4 and IPv6
ulh.us
127-0-0-1.org.uk
ratchetlocal.com
smackaho.st
42foo.com
beweb.com
yoogle.com
ortkut.com
feacebook.com

그리고 스택 오버플 로 와 비슷한 질문 에.


22
도메인 이름 등록과 IP 주소 할당은 서로 다른 두 가지입니다. 누구나 어떤 이유로 든 도메인 이름을 등록 할 수 있습니다. 가상의 "서류"를 통해 도메인 등록 기관에 비용을 지불하면 마술처럼 도메인 이름을 갖게됩니다. 그러나 그 도메인에 IP 주소를 할당하는 것은 완전히 다른 짐승입니다. 누구나 IP 주소를 도메인 이름에 할당 할 수 있습니다. 도메인 이름은 단순히 인생을 더 쉽게 만드는 포인터입니다.
JakeGould

최근 힘의 꽤 많은 장애에 연결되어 하나 같은 도메인 이름입니다bealocalhost.de
하겐 폰 Eitzen

답변:


69

그러나 여전히 외부 도메인을 로컬 도메인에 등록하는 방법을 잘 모르겠습니다. tracert localtest.me는 시스템을 떠나지 않기 때문에 혼란 스럽습니다. 이것은 낮은 수준에서 어떻게 처리됩니까?

상상하는 방식으로 도메인을 주소에 "바인드"하는 것은 없습니다. 전화 번호부와 마찬가지로 DNS는 단순히 주소가 무엇인지 알려주지 만 그로 인해 참여가 끝납니다. (전화에서 "Pizza Hut"을 누르지 말고 전화 번호를 찾아 전화를 겁니다.)

따라서 누군가 도메인 이름을 등록하면 해당 전화 번호부 레코드를 편집 할 수 있습니다. 그러나 실제로 도메인 이름을 어딘가에 "지정" 127.0.0.1하려면 다음과 같이 데이터베이스에 다음 행을 추가합니다.

localtest.me.   A   127.0.0.1

그게 다야. 누구에게 물어 보든지 localtest.me이제 "오 127.0.0.1.

따라서을 입력 tracert localtest.me.하면 먼저 DNS에 관련 주소를 묻습니다. 답을 127.0.0.1로 얻습니다. 그런 다음 tracert 127.0.0.1대신 실행 한 것처럼 정확하게 작동합니다 . 전혀 마법이 없습니다.

다른 사람이 있습니까? (그리고 그들을 찾는 방법?)

이 시점에서 모든 도메인 소유자가 아무런 노력없이이 작업을 수행 할 수 있다는 것이 분명해야합니다. 따라서 항상 그러한 도메인이 다른 시간에 존재할 가능성이 항상 있습니다. DNS 데이터가 여러 시스템에 분산되어 (때로는 동적으로 생성되기도 함) 실제로 모든 데이터를 찾을 수 없거나 몇 초 후에도 결과가 정확하게 유지 될 것으로 기대할 수 있습니다.

그러나 보안을 위해 모든 것을 찾을 필요 는 없습니다 . 일부 DNS 리졸버 사실은 이미 ( "DNS 보호를 리 바인딩"라고 함) 등의 항목에 대해 필터링의 종류를 가지고 있고, 그들은 특정 질문에 대한 보이지 않는 - 그들은 단지 보면 대답 . 보호 기능은 로컬 주소를 가리키는 응답 만 차단합니다.

그러나 요청하기 전에 전역 적으로 금지 할 수는 없습니다. 도메인 이름을 개인 주소로 지정하는 것은 여전히 ​​DNS를 완벽하게 합법적으로 사용하며 많은 네트워크에서 실제로 사용됩니다.


4
설명해 주셔서 감사합니다. 예약 된 IP 블록 도 등록 할 수 있다는 것을 몰랐기 때문에 이것은 확실히 흥미로운 발견이었습니다 .
not2qubit

11
예. 주소 사용 방법을 시행하는 것은 DNS의 사업이 아닙니다.
grawity

2
@ not2qubit“… 예약 된 IP 블록도 등록 할 수 있을지 몰랐습니다.”용어를 섞고 있습니다. 등록 기관 에 도메인 이름 을 등록 해야합니다 . 그것은 통제 된 과정입니다. 당신은 지정 도메인 이름에 대한 IP 주소를; 그것은 통제되지 않은 프로세스입니다. 도메인 이름을 제어하는 ​​한 모든 번호의 더미를 등록 된 도메인 이름에 할당 할 수 있습니다.
JakeGould

"전화에서"Pizza Hut "을 누르지 않고 전화 번호를 찾아서 전화를 겁니다." 좋은 비유!
Joshua Pinter

1
시리 / 알렉사 / 구글이 대신 피자를 주문하면 아마 오래 지속되지 않을 것입니다.
grawity

16

더 자세히 설명하는 다른 답변이 있지만이 질문의 핵심은 대답하기가 정말 간단합니다.

"하지만 여전히 외부 도메인을 로컬 도메인에 등록하는 방법을 잘 모르겠습니다."

도메인 이름 등록과 IP 주소 할당은 완전히 다르고 독립적 인 것입니다.

누구나 어떤 이유로 도메인 이름을 등록 할 수 있습니다 . 대상 IP 주소가 없어도 도메인 이름을 등록 할 수도 있습니다. 가상의 "서류"를 통해 도메인 등록 기관에 비용을 지불하면 마술처럼 도메인 이름을 갖게됩니다. 도메인 이름을 등록 할 때 지불하는 것은 도메인 이름 자체이며 도메인 이름에 IP 주소를 할당하는 기능 (아래 읽기)뿐입니다.

하지만 해당 도메인 이름에 IP 주소할당하는 것은 완전히 다른 프로세스입니다. 도메인 이름을 제어 할 수 있으면 누구나 IP 주소를 도메인 이름에 할당 할 수 있습니다 . 도메인 이름 등록 기관은 도메인 이름에 할당 할 원시 주소 더미에 대해 신경 쓰지 않아도됩니다.

모든 도메인 이름은 단순히 인생을 더 쉽게 만드는 포인터입니다. 사람들이 숫자 더미 (IPv4) 또는 숫자와 문자 (IPv6)를 암기 할 필요가 없도록 별칭으로 생각하십시오.

그게 다야!

그러나 방문한 페이지에서 설명한 바와 같이 발생한 일은 전 세계 로컬 "127.0.0.1"주소의 모든 시스템에 대한 "해킹"이 아니라 특정 시스템 자체의 결함입니다.

그러나 더 명확하게 설명하기 위해 다음과 같이 말할 때 다음과 같이 설명했습니다.

Server-Side Request Forgery에 대한 기사를 읽었습니다 . 이 기사에서 공격자는 127.0.0.1이 인터넷에 공개되어 있음을 발견했습니다.

이 기사 도 읽었 으며 이런 일이 일어났습니다. 누군가 온라인 도구를 사용하여 해당 도구를 모든 IP 주소 / 호스트 이름으로 지정할 수있었습니다. 그들이 그 도구를 지적했을 때 127.0.0.1IP 주소 127.0.0.1가 인터넷에 노출 되지 않았다 . 오히려 도구 자체에 결함이있어 누구나이 도구를 사용하여 해당 도구가 실행중인 내부 서버를 조사 할 수있었습니다 127.0.0.1. 그리고이 도구는 명시 적으로 해킹 도구 였기 때문에 열린 포트 등을 감지하는 데 사용되었습니다.127.0.0.1 때문에 특정 응용 프로그램 자체 로컬 호스트 네트워크 를 검사 할 수 있었으며 여기서 핵심은 웹 브라우저를 통해 해당 도구에 액세스하는 사람에게 정보를 전달합니다. .

제시된 위험은 모든이 것이 아니었다 127.0.0.1인터넷에 노출되었지만에 코딩 오히려 그 실수 하나의 도구하나 개의 사이트에서 이런 일이있었습니다.


8

localtest.me의 특별한 점은 무엇입니까 ?

127.0.0.1 (localhost)을 가리 킵니다 . 이 주소는 항상 로컬 컴퓨터 용으로 예약되어 있습니다.

다른 사람이 있습니까? (그리고 그들을 찾는 방법?)

예. Google과 슈퍼 유저는 친구입니다 (발견 한대로).

여전히 외부 도메인을 로컬 [IP]에 등록하는 방법을 잘 모르겠습니다. tracert localtest.me결코 기계를 떠나지 않기 때문에 혼란 스럽습니다 . 이것은 낮은 수준에서 어떻게 처리됩니까?

초기 (외부) DNS 요청 이 없습니다 . tracert패킷이 이동하는 경로를 표시하지만 패킷이 어디로 가기 전에 컴퓨터는 패킷을 전송할 IP를 알아야합니다. 경고를 사용하여, locatest.me 를 방문한 적이 없다면 외부 리졸버에 127.0.0.1에 매핑되었음을 알기 위해 DNS 요청이 이루어집니다. 반환 된 데이터는 로컬에 사용됩니다 (예 : tracert웹 콘텐츠 표시 또는 표시). 그리고 DNS는 호스트 이름을 IP에 매핑 할 수 있다는 점을 기억하십시오. IP가 로컬인지 아닌지는 "알지"않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.