Serangan traversal direktori, juga dikenali sebagai serangan traversal laluan, mewakili risiko yang ketara dalam bidang keselamatan web. Mereka terutamanya mengeksploitasi kelemahan keselamatan dalam fungsi aplikasi web untuk mengakses fail yang ada pada pelayan. Serangan ini membolehkan pengguna jahat mengakses fail dan direktori yang disimpan di luar folder webroot dengan memanipulasi pembolehubah yang merujuk fail dengan jujukan "dot-dot-slash (../)".
Evolusi Serangan Traversal Direktori
Asal-usul serangan traversal direktori boleh dikesan kembali ke zaman awal internet apabila aplikasi web mula menggunakan skrip untuk mengakses fail sisi pelayan. Apabila teknologi berkembang dan aplikasi web menjadi lebih kompleks, potensi untuk jenis kelemahan ini juga meningkat.
Sebutan awam pertama mengenai serangan traversal direktori agak sukar untuk ditentukan kerana sifat asas kelemahan ini. Walau bagaimanapun, kebimbangan keselamatan menjadi lebih menonjol pada akhir 1990-an dan awal 2000-an, kerana aplikasi web menjadi perkara biasa, dan peluang untuk mengeksploitasi rujukan fail tidak selamat meningkat.
Memperluas pada Serangan Traversal Direktori
Serangan traversal direktori ialah satu bentuk eksploitasi HTTP di mana penggodam mengakses direktori pelayan yang biasanya tidak tersedia kepada orang ramai. Penyerang mengeksploitasi pengesahan keselamatan yang tidak mencukupi atau sanitasi nama fail input yang dibekalkan pengguna, dengan itu membolehkan mereka keluar dari persekitaran terkurung.
Penggunaan jujukan traversal direktori yang paling biasa adalah dalam serangan berasaskan URL, tetapi ia juga boleh muncul dalam suntikan pengepala, manipulasi kuki, atau bahkan dalam parameter POST. Melalui ini, penyerang boleh melihat direktori terhad dan melaksanakan arahan di luar direktori akar pelayan web, dengan itu mendapat akses tanpa kebenaran kepada maklumat sensitif.
Cara Serangan Traversal Direktori Berfungsi
Serangan traversal direktori berfungsi dengan mengeksploitasi pengesahan keselamatan/pensanitasian nama fail input yang dibekalkan pengguna yang tidak mencukupi, jadi penyerang boleh memanipulasinya untuk melompat keluar dari lokasi terhad.
Dalam bentuk yang terlalu ringkas, mari kita pertimbangkan senario di mana aplikasi cuba mengakses fail imej daripada pelayan:
arduinohttp://example.com/app?file=logo.jpg
Dalam kes ini, aplikasi akan membuka fail logo.jpg
daripada direktori imejnya. Walau bagaimanapun, penyerang boleh menggunakan jujukan "dot-dot-slash (../)" untuk bergerak ke atas ke direktori induk, kemudian mengakses fail yang tidak dibenarkan. Contohnya:
bashhttp://example.com/app?file=../../etc/passwd
Ini boleh menyebabkan aplikasi memaparkan fail sistem yang sensitif.
Ciri Utama Serangan Traversal Direktori
-
Memanipulasi Pembolehubah: Ciri asas serangan traversal direktori melibatkan memanipulasi pembolehubah yang merujuk fail dengan jujukan "dot-dot-slash (../)".
-
Memecah Kekangan: Ia membolehkan penyerang keluar dari direktori akar aplikasi dan mengakses bahagian lain sistem fail.
-
Memanfaatkan Pengesahan Lemah: Serangan traversal direktori mengeksploitasi pengesahan lemah atau sanitasi input pengguna.
Jenis-jenis Serangan Traversal Direktori
Walaupun prinsip teras di sebalik serangan traversal direktori tetap sama, ia boleh nyata dalam cara yang berbeza berdasarkan konteks dan aplikasi yang dipersoalkan:
-
Serangan berasaskan URL: Ini melibatkan menyuntik input berniat jahat dalam URL untuk melintasi direktori.
-
Serangan berasaskan borang: Input berniat jahat dimasukkan ke dalam medan borang untuk mengeksploitasi skrip bahagian pelayan yang terdedah.
-
Serangan berasaskan kuki: Penyerang memanipulasi kuki untuk melintasi direktori dan mengakses data yang tidak dibenarkan.
taip | Penerangan |
---|---|
Serangan berasaskan URL | Suntikan input berniat jahat dalam URL untuk merentasi direktori. |
Serangan berasaskan bentuk | Masukkan input berniat jahat ke dalam medan borang untuk mengeksploitasi skrip sebelah pelayan. |
Serangan berasaskan kuki | Memanipulasi kuki untuk melintasi direktori dan mengakses data yang tidak dibenarkan. |
Masalah dan Penyelesaian Berkaitan dengan Serangan Traversal Direktori
Isu utama dengan serangan traversal direktori ialah akses tanpa kebenaran kepada fail dan data sensitif. Ini boleh menyebabkan kebocoran data, kehilangan kerahsiaan dan berpotensi memberikan penyerang dengan vektor serangan lanjut (seperti mendapatkan bukti kelayakan pangkalan data daripada fail konfigurasi).
Berikut ialah beberapa penyelesaian:
-
Pengesahan Input: Pastikan pengesahan yang mantap bagi input yang dibekalkan pengguna. Jangan benarkan “..” atau “/” sebagai sebahagian daripada input.
-
Kawalan Akses: Laksanakan kawalan akses yang betul. Jangan bergantung semata-mata pada laluan fail yang dibekalkan untuk membenarkan pengguna.
-
Prinsip Keistimewaan Terkecil: Jalankan aplikasi dengan sekurang-kurangnya keistimewaan yang diperlukan, mengurangkan potensi kerosakan daripada serangan traversal direktori.
Serangan Traversal Direktori dan Istilah Serupa
Penggal | Penerangan |
---|---|
Serangan Traversal Direktori | Mengeksploitasi kelemahan dalam prosedur input pengguna untuk mengakses fail dan direktori yang tidak dibenarkan. |
Kemasukan Fail Jauh (RFI) | Penyerang menggunakan laluan input pengguna untuk memuat naik skrip berniat jahat ke dalam pelayan tapak web. |
Kemasukan Fail Setempat (LFI) | Penyerang memanipulasi tapak web untuk melaksanakan atau mendedahkan kandungan fail pada pelayan web. |
Perspektif dan Teknologi Masa Depan Berkaitan dengan Serangan Traversal Direktori
Apabila landskap pembangunan web berkembang, kaedah dan alatan untuk melakukan serangan lintasan direktori mungkin menjadi lebih canggih. Walau bagaimanapun, asas pencegahan mungkin masih terletak pada pengesahan input yang teguh dan konfigurasi sistem yang waras.
Firewall aplikasi web, sistem pengesanan anomali dan algoritma pembelajaran mesin untuk sistem pengesanan pencerobohan boleh memainkan peranan penting dalam strategi pengurangan masa hadapan terhadap serangan sedemikian.
Sambungan Antara Pelayan Proksi dan Serangan Traversal Direktori
Pelayan proksi boleh berfungsi sebagai lapisan keselamatan tambahan terhadap serangan traversal direktori. Dengan menapis permintaan dan tindak balas antara klien dan pelayan, mereka boleh membantu mengesan corak atau tanda-tanda serangan traversal direktori yang luar biasa, dengan itu menghalang mereka daripada mencapai pelayan.
OneProxy, sebagai contoh, menyediakan penyelesaian pelayan proksi yang mantap yang boleh memainkan peranan penting dalam strategi pertahanan anda terhadap jenis serangan ini.