Saya akan sharing teknik hacking web sederhana. Sering sekali kurangnya pengamanan pada jenis serangan ini pada sebuah website dari programmer pemula. Kenapa saya tahu? Karena saya sendiri pernah terkena teknik ini waktu dulu membuat website.
Dari Mana Pintu Masuknya?
Pintu masuk serangan ini adalah menggunakan fitur upload pada website. Pernah tidak melakukan upload file tanpa validasi terlebih dahulu? Disinilah letak masalahnya. Kita ambil contoh sebut saja domain.com
memiliki fitur upload dimana file yang berhasil diupload akan dapat diakses misalkan domain.com/uploads/filename.ext
Jika tidak ada validasi terlebih dahulu, maka penyerang akan dapat mengupload file script sejenis *.php
, *.asp
, dan sejenisnya. Dengan begitu dia dapat mengaksesnya dengan mudah lewat domain.com/uploads/hacking.php
Asumsikan nama filenya adalah hacking.php
Cara Mencegahnya
Cara mencegahnya adalah dengan melakukan validasi extension file terlebih dahulu sebelum akhirnya benar-benar diproses dan dipindah ke folder /uploads/
Bagaimana jika memang fitur di website bisa mengupload berbagai macam file?
Nah ini yang membutuhkan sedikit usaha dalam pencegahan. Solusinya kamu bisa menggunakan fitur dari milik Apache ataupun Nginx untuk melakukan filter ext terlebih dahulu sebelum diproses oleh web server. Sehingga penanganan file dengan ext khusus tersebut akan dianggap sebagai file text biasa.
Nah, sekarang kamu tahu kan kenapa biaya keamanan sebuah sistem bisa sangat mahal? Sebabnya ya seperti ini, fiturnya sederhana “hanya” upload file ke server. Tetapi kalau sudah berurusan dengan orang “iseng” tidak akan ada habisnya.
Contoh yang lain misalkan saja pengguna diminta mengisi huruf saja. Secara informasi sudah diperintahkan untuk mengisi huruf saja. Kalau user mau mengisi script SQL Injection bagaimana? Suka-suka user kan? Entah ini user biasa atau “user” yang memang iseng. Jadi, runyam kan urusannya? Perlu validasi ini itu. Padahal kalau tidak ada orang “iseng” pekerjaan akan lebih mudah selesai.