Suwito Pomalingo | Seize The Day
A – Z Cybercrime Series : Manipulasi URL
URL adalah singkatan dari Uniform Resource Locator merupakan rangkaian karakter menurut format standar tertentu, digunakan untuk menunjukan alamat dari suatu sumber misalnya seperti dokumen, file dan gambar yang terdapat di internet atau halaman sebuah web.
Manipulasi URL ini selain bertujuan untuk lebih memudahkan administrator web, namun bisa juga digunakan untuk tujuan yang berbahaya oleh seseorang. Teknik manipulasi URL ini membahayakan ketika ada permintaan pengguna kemudian dialihkan dari situs yang sah ke situs tidak sah atau palsu, yang kemudian bisa dipasangkan kode berbahaya untuk tujuan tertentu. Manipulasi URL berbahaya saat mengarah ke situs phishing. Situs Phishing selalu menjadi tempat terbaik untuk menempatkan URL karena sama sekali tidak mencurigakan. Hal ini disebabkan tampilan grafisnya selalu terlihat seperti tampilan aslinya. Jika kita tidak memeriksa URL, sangat sulit bagi Anda untuk membedakan antara situs sebenarnya dan situs phishing. Contoh dari kasus ini yakni pengubahan alamat web dari yang seharusnya adalah www.klikbca.com, diubah menjadi www.killbca.com. Kedua web dibuat tampilannya sangat mirip, namun biasanya dikarenakan kelalaian pengguna yang tidak memperhatikan alamat URL, sehingga menyebabkan pengguna memasukkan data-data penting ke dalam web dengan alamat URL yang palsu tersebut.
Untuk menghindari penipuan menggunakan teknik ini, pengguna harus dapat mengidentifikasi apakah web tersebut adalah asli atau tidak. Web yang asli biasanya mengaktifkan fitur SSL atau https pada alamat webnya, yang biasanya ada ikon gembok atau kunci yang membuktikan bahwa halaman web yang diakses telah terenkripsi untuk keamanan transaksi perbankan.
Bentuk lain dari Manipulasi URL adalah dengan memanfaatkan celah atau informasi didalam suatu web, seperti hak akses pengguna yang tertinggal di dalam cache web, ataupun kesalahan user yang terjebak didalam malware web,bahkan terkena phising. Atau bisa juga karena kesalahan yang dilakukan oleh admin web atau programmer web, yang menjadikan sebuah web dapat diambil beberapa informasi penting oleh seseorang. Bentuk serangan seperti ini dapat dilakukan oleh siapa saja asalkan mengetahui teknik-tekniknya. Keberhasilah pada suatu serangan manipulasi URL ini terletak pada integritas dan mekanisme dalam pemikiran logika dan validasi beberapa kesalahan mendasar dari suatu web,dan exploitasi termasuk XSS, sql injection, file inclusion,dan serangan-serangan lainnya.
Contoh dari manipulasi URL seperti ini adalah sebagai berikut:
Dengan memanipulasi bagian URL tertentu, seseorang bisa mendapatkan akses ke halaman tertentu pada sebuah halaman web yang sebenarnya orang itu tidak memiliki akses ke halaman tersebut. Kita bisa melihat pada situs web dinamis, parameter-parameter biasanya dilewatkan melalui URL, contohnya seperti berikut:
http://target.com/forum/?cat=2
Dengan model URL seperti diatas, pengguna bisa mengganti secara manual parameter yang ada, misalnya dengan mengganti nilai seperti berikut:
http://target.com/forum/?cat=********
Jika programmer tidak mengantisipasi kemungkinan seperti ini, seseorang berpotensi memperoleh akses ke area yang terlindungi, misalnya dengan mengganti nilai parameter dengan data bukan angka, maka web akan menampilkan pesan kesalahan yang oleh penyerang dapat memanfaatkan pesan kesalahan untuk mengeksploitasi web lebih dalam.
Seorang penyerang bisa menguji untuk menampilkan direktori dan ekstensi file secara acak untuk bisa menampilkan informasi penting. Contohnya seperti :
- Mencari direktori yang berhubungan dengan administrator pengelola web :
http://target.com/admin/
http://target.com/admin.cgi
http://target.com/administrator
- Mencari naskah untuk mendapatkan informasi tentang sistem:
http://target.com/phpinfo.php
- Mencari backup cadangan. Ekstensi .bak umumnya digunakan dan secara default akan ditampilkan jika tidak diubah konfigurasi untuk tidak ditampilkan:
http://target.com/.bak
- Mencari file tersembunyi. Pada sistem UNIX, ketika direktori root sesuai dengan direktori pengguna, file yang dibuat oleh sistem mungkin dapat diakses melalui web:
http://target.com/.bash_history
http://target/.htaccess
Serangan dengan memanipulasi URL juga bisa dilakukan untuk memaksa server mengakses bagian yang tidak sah, serangan jenis ini biasa disebut Directory Traversal. Pada server yang rentan, seseorang bisa saja melakukan eksploitasi dengan memajukan atau mmenundurkan direktori melalui jenis string seperti “../” misalkan http://target.com/../../../directory/file
Bentuk serangan yang sedikit canggih dengan menggunakan karakter dalam bentuk encoding URL seperti http://target.com/..%2F..%2F..%2Fdirectory/file atau dengan notasi unicode:
http: //target/..%u2216..%u2216directory/file
Banyak situs web dinamis melewatkan nama halaman yang akan ditampilkan sebagai parameter dalam bentuk mirip, misalkan http://target.com/cgi-bin/script.cgi?url=index.htm
Jika programmer web tidak melakukan verifikasi, penyerang dapat memodifikasi URL secara manual agar meminta akses ke file yang orang tersebut tidak memiliki akses langsung, contohnya http://target.com/cgi-bin/script.cgi?url=script.cgi
Contoh kasus dengan memanfaatkan manipulasi URL seperti ini sangat banyak. Biasanya serangan yang memanfaatkan manipulasi URL seperti biasa disebut XSS, sql injection, file inclusion,dan serangan-serangan lainnya.
Untuk pencegahan serangan jenis ini, perlu untuk selalu memperhatikan kerentanan dan selalu melakukan update patch yang disediakan oleh server web. Selain itu perlu dilakukan konfigurasi secara teknis dari sisi server web.
Beberapa model konfigurasi yang perlu diperhatikan seperti :
- Mencegah penjelajahan halaman yang berada di path root sebuah situs web (menggunakan mekanisme chroot)
- Nonaktifkan tampilan file yang ada di direktori yang tidak mengandung file index. (bisa memanfaatkan .htaccess atau konfigurasi pada web server)
- Hapus direktori dan file yang tidak berguna (termasuk file tersembunyi)
- Pastikan server melindungi akses ke direktori yang berisi data sensitive.
- Hapus opsi konfigurasi yang tidak perlu.
- Hapus script yang tidak penting atau berbahaya.
- Membuat web memiliki akses HTTPS.
Wow, wonderful weblog layout! How lengthy have you ever been blogging for?
you made blogging look easy. The whole glance of your site is great, as well as the content material!