Saya sedang membaca artikel tentang Pemalsuan Permintaan Sisi-Server . Dalam artikel itu penyerang menemukan bahwa 127.0.0.1
itu terbuka untuk internet. Korban kemudian diblokir 127.0.0.1
, tetapi karena banyak IP lain dan tampaknya juga beberapa domain juga memutuskan untuk itu, termasuk yang misterius localtest.me
, ia mampu melewati filter berbasis teks yang lemah.
Apa yang istimewa tentang ini
localtest.me
?Apakah ada yang lain? (Dan bagaimana menemukannya?)
MEMPERBARUI
Saya menemukan: http://readme.localtest.me/
Tampaknya seseorang memutuskan untuk mendaftarkan domain itu dengan cara yang lucu, untuk tujuan pengujian:
Begini cara kerjanya. Seluruh nama domain localtest.me — dan semua entri wildcard — arahkan ke 127.0.0.1. Jadi tanpa ada perubahan pada file host Anda, Anda dapat segera mulai menguji dengan URL lokal.
Namun, saya masih tidak yakin bagaimana Anda bisa mendaftarkan domain eksternal ke domain lokal. Ini membingungkan karena tracert localtest.me
bahkan tidak pernah meninggalkan mesin. Bagaimana ini ditangani pada level rendah?
Saya kemudian menemukan beberapa lagi di komentar ini dan di tempat lain:
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
Dan dalam pertanyaan serupa tentang Stack Overflow.
bealocalhost.de
Jawaban:
Tidak ada yang "mengikat" domain ke alamatnya seperti yang Anda bayangkan. Sama seperti buku telepon, DNS hanya memberi tahu Anda apa alamatnya - tetapi di situlah keterlibatannya berakhir. (Anda tidak menekan "Pizza Hut" di telepon; Anda mencari nomor telepon mereka, dan memutar nomor itu.)
Jadi, ketika seseorang mendaftarkan nama domain, mereka hanya mendapatkan kemampuan untuk mengedit catatan buku telepon itu. Tetapi untuk benar-benar "menunjuk" nama domain di suatu tempat - katakanlah
127.0.0.1
- mereka menambahkan baris ini ke basis datanya:Itu dia. Siapa pun yang bertanya
localtest.me
sekarang mendapat jawaban "Oh, itu di127.0.0.1
."Jadi saat Anda mengetik
tracert localtest.me.
, pertama-tama ia bertanya kepada DNS tentang alamat yang terkait; mendapat jawaban 127.0.0.1; dan kemudian berperilaku persis seolah-olah Andatracert 127.0.0.1
malah berlari Tidak ada sihir sama sekali.Pada titik ini harus jelas bahwa setiap pemilik domain dapat melakukan ini tanpa upaya sama sekali, sehingga selalu ada kemungkinan bahwa domain tersebut ada pada waktu tertentu. Karena data DNS didistribusikan di banyak sistem (kadang-kadang bahkan dihasilkan secara dinamis), Anda benar - benar tidak dapat menemukan semuanya, atau bahkan mengharapkan hasil Anda tetap akurat setelah hanya beberapa detik.
Tetapi untuk tujuan keamanan, Anda tidak perlu menemukan semuanya. Beberapa penyelesai DNS sebenarnya sudah memiliki semacam pemfilteran untuk entri semacam itu (disebut "perlindungan rebinding DNS"), dan mereka tidak mencari pertanyaan spesifik - mereka hanya melihat jawabannya . Fitur perlindungan hanya memblokir jawaban yang mengarah ke alamat lokal mana pun.
Namun, sebelum Anda bertanya, ini tidak dapat dilarang secara global - menunjuk nama domain ke alamat pribadi masih merupakan penggunaan DNS yang sangat sah, dan digunakan dalam praktik di banyak jaringan.
sumber
Ada jawaban lain yang masuk ke detail yang lebih dalam, tetapi inti dari pertanyaan ini sangat sederhana untuk dijawab:
Mendaftarkan nama domain dan menetapkan alamat IP adalah dua hal yang sangat berbeda dan independen.
Siapapun dapat mendaftarkan setiap nama domain untuk alasan apapun; Anda bahkan dapat mendaftarkan nama domain tanpa memiliki alamat IP tujuan. Orang hanya harus membayar pendaftar domain, melalui "dokumen" virtual dan kemudian, seperti sulap, Anda memiliki nama domain. Yang Anda bayar ketika mendaftarkan nama domain adalah nama domain itu sendiri serta kemampuan — baca di bawah ini — untuk menetapkan alamat IP ke nama domain.
Tapi kemudian menetapkan alamat IP untuk nama domain itu adalah proses yang berbeda. Siapa pun dapat menetapkan alamat IP apa pun ke nama domain jika mereka memiliki kendali atas nama domain itu. Registrar nama domain tidak peduli atau peduli tentang tumpukan alamat mentah yang Anda tetapkan untuk nama domain.
Semua nama domain hanyalah sebuah pointer yang membuat hidup lebih mudah. Anggap saja sebagai alias sehingga orang tidak perlu mengingat tumpukan angka (IPv4) atau angka dan huruf (IPv6).
Itu dia!
Tetapi apa yang terjadi — sebagaimana dijelaskan oleh halaman yang Anda kunjungi — bukanlah “retas” dari setiap sistem di alamat lokal “127.0.0.1” di dunia, tetapi merupakan cacat pada satu sistem itu sendiri.
Tetapi untuk lebih memperjelas ini — dan ini membuat saya tersandung seperti cara Anda mengucapkannya juga — ketika Anda menyatakan:
Saya membaca artikel itu juga, dan inilah yang terjadi: Seseorang menggunakan alat online yang memungkinkan Anda mengarahkan alat itu ke alamat IP / nama host apa pun. Ketika mereka menunjuk alat
127.0.0.1
itu bukan alamat IP127.0.0.1
yang terekspos ke Internet. Alih-alih, alat itu sendiri memiliki kelemahan yang memungkinkan siapa pun untuk menyelidiki server internal yang menggunakan alat itu127.0.0.1
. Dan karena alat ini secara eksplisit merupakan alat peretasan yang digunakan untuk mendeteksi port terbuka dan semacamnya, dengan menggunakan127.0.0.1
aplikasi spesifik itu dapat menyelidiki sendiri jaringan host lokal itu dan — kunci di sini — menyampaikan informasi itu kepada seseorang yang mengakses alat itu hanya melalui peramban web .Risiko yang disajikan bukanlah bahwa setiap orang
127.0.0.1
terpapar ke Internet, melainkan bahwa pengkodean yang ceroboh pada satu alat di satu situs memungkinkan hal ini terjadi.sumber
Itu menunjuk ke 127.0.0.1 (localhost). Alamat ini selalu dicadangkan untuk komputer lokal.
Iya nih. Google dan Pengguna Super adalah teman Anda (seperti yang Anda ketahui).
Anda melewatkan permintaan DNS (eksternal) awal .
tracert
menampilkan jalur yang diambil paket tetapi sebelum paket dapat pergi ke mana pun, komputer harus mengetahui IP untuk mengirimnya. Dengan peringatan, jika Anda belum pernah mengunjungi locatest.me sebelumnya, permintaan DNS dibuat untuk resolvers eksternal untuk menemukan bahwa itu memetakan ke 127.0.0.1. Data yang dikembalikan kemudian digunakan secara lokal (misalnya untuktracert
atau menampilkan konten web). Dan ingat bahwa DNS dapat memetakan nama host apa saja ke IP apa pun - itu tidak "tahu" apakah IP lokal atau tidak.sumber