KEAMANAN PADA APLIKASI WEB DENGAN PHP

Slides:



Advertisements
Presentasi serupa
PHP File Upload
Advertisements

FORM HANDLING
Pemrograman Web – PHP 2 Antonius RC. PHP dan Form (1)
Pernahkah anda membuka sebuah Website???? What It????
Kemanan Web. Keamanan Web ► How Web Works ?  Menggunakan protokol HTTP  Klien meminta dokumen melalui URL (Request)  Server membalas dengan memberikan.
Database Security.
CodeIgniter By ISNARDI, M.Kom.
KONSEP PEMROGRAMAN WEB
Cookies dan Session.
MODUL 11 MEMBUAT LOGIN USER
LAYANAN BERBASIS APLIKASI WEB Pertemuan I Budi Arifitama.
PHP dalam HTML Statement Variabel
Kemanan Web.  Definisi Statis ◦ Kerahasiaan ◦ Keutuhan ◦ Dapat dipertanggung jawabkan  Defenisi Dinamis ◦ Taksiran ◦ Proteksi ◦ Deteksi ◦ Reaksi.
1 Computer Security Database Security. 2 Computer Security Database Security Apa itu database? kumpulan data yang disimpan dan diatur/ diorganisasikan.
Isnardi,M.Kom Ikhsan, S.Kom, M.Kom Novinaldi, S.Kom
Konsep Pemrograman Web
Pengembangan Evangs Mailoa PHP WEB. Awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai dengan namanya, PHP digunakan untuk membuat website.
Form.
By : Nanda Prasetia, ST. KEAMANAN SISTEM WWW Berkembangnya www dan internet menyebabkan pergerakan sistem informasi untuk menggunakannya sebagai basis.
Keamanan Sistem World Wide Web
Proteksi Berkas.
PHP.
Nama kelompok WordPress Pengertian WordPress  WordPress adalah sebuah aplikasi sumber terbuka (open source) yang sangat populer digunakan.
Keamanan Web Server Pertemuan XI.
Pengenalan PHP Perulangan (While) While(….syarat….) { ………aksi…….; }
PHP L. Erawan. Pengantar PHP itu bahasa script berjenis server-side (kalau bahasa javascript berjenis client-side) Anda harus menginstall software PHP.
Membangun Halaman Web Dinamis dengan PHP
Internet Programming FORM DAN UP LOAD FILE M. Agus Zainuddin PENS – ITS Surabaya.
PERTEMUAN KE 2 JAVA SERVER PAGES (JSP) BY : TITO SUGIHARTO
Sistem Pendeteksi Penyusup Sebuah sistem keamanan adalah sekumpulan komponen yg bertugas untuk mengamankan sesuatu yg berharga. Analoginya jika kita ingin.
Membangun Halaman Web Dinamis dengan PHP
Dasar-dasar Pemrograman PHP
PHP.
PRAKTIKUM PEMROGRAMAN WEB Pertemuan 5
Fungsi-fungsi tambahan dalam PHP Session dan Cookie
Keamanan Web Server Pertemuan XI.
Pemrogaman Web PHP.
Pemrograman Web II Ganjil
Website Security.
Pengantar Pemrograman Internet 2
Lutfi Budi Ilmawan Univ. Muslim Indonesia
Pengamanan Sistem Jaringan
Keamanan Web Server.
Pemrograman PHP Lanjut
Pemrograman internet ABU SALAM, M.KOM.
Basis Data Klien Server dan Basis data Internet Materi 7
Keamanan Web Server.
PEMASARAN BERBASIS WEB
PERTEMUAN 3 PENGENALAN PHP.
PEMASARAN BERBASIS WEB
Passing Variable Dalam PHP
Pemrograman Basis Data Berbasis Web
ANCAMAN & SERANGAN TERHADAP SISTEM INFORMASI.
Keamanan Sistem World Wide Web
Overview Teknologi Internet
PERTEMUAN 9 PHP 2.
PENGAMANAN WEB.
SESSION AND USER AUTHENTICATION
PHP5 Internet Programming.
KEAMANAN WEBSITE.
Keamanan Sistem World Wide Web
Prinsip Dasar Internet & Pemrograman Web
PEMROGRAMAN WEB Client Side XHTML, JAVASCRIPT.
Keamanan Web Server Pertemuan 9.
ANCAMAN & SERANGAN TERHADAP SISTEM INFORMASI.
Koneksi Database MySql di PHP
Personal Home Page (PHP) yang sekarang PreHypertextProcessor
Dasar Pemrograman Web.
PEMROGRAMAN WEB II.
Prinsip Dasar Internet & Pemrograman Web
Transcript presentasi:

KEAMANAN PADA APLIKASI WEB DENGAN PHP Oleh: Monica S. Sembiring Ridwan Sitepu

Pengantar Aplikasi web dengan PHP telah menjadi hal yang populer dalam menyediakan akses global terhadap data, pelayanan, dan produk. Akan tetapi, akses global yang merupakan keuntungan utama penggunaan web ini juga memberikan lubang-lubang keamanan yang bisa diakses secara global dan sering disalahgunakan. Memang bukan hal yang sulit untuk membuat aplikasi web menggunakan skrip PHP, tetapi aplikasi ini bisa jadi mengandung lubang-lubang berbahaya tanpa disadari. Kejadian ini ditampilkan oleh banyak aplikasi web umum lainnya., termasuk PHP yang ternyata memiliki lubang-lubang keamanan berbahaya. Kode program sering dibuat untuk mengidentifikasi lubang ini, tetapi biasanya kode program tersebut mudah diakses oleh publik.

Lubang Keamanan PHP Lubang keamanan yang paling umum di dalam skrip PHP dan tak terkecuali pada aplikasi web yang manapun, adalah berkaitan dengan User Input. Banyak skrip menggunakan informasi user yang legal dalam bentuk format web dan memproses informasi ini dengan berbagai cara. Jika user input ini dilegalkan tanpa batasan, maka user input potensial menyisipkan perintah-perintah yang tidak diinginkan dalam skrip.

Langkah-Langkah Menghindari Lubang-Lubang dalam Aplikasi PHP

Variabel Auto Global Kebanyakan aplikasi PHP yang ditemukan lubang keamanannya akibat varibel autoglobal adalah aplikasi yang open source, karena user dapat mengetahui kode aplikasi dan mengetahui nama-nama varibel yang digunakan. Solusinya: Menonaktifkan register_globals dalam file php.ini. Menuliskan kode untuk menginisialisasi variabel global. Menjamin suatu variabel bahwa variabel itu benar-benar datang dari suatu bagian dan tidak berasal dari attacker. Menuliskan kode untuk mengecek bahwa variabel global tidaklah berada dalam array $HTTP_POST atau $HTTP_GET.

Fungsi include(), require() atau fopen() Kelemahan biasanya muncul ketika digunakan varibel untuk parameter fungsi include(), require() atau fopen(). Dengan fungsi tersebut dapat dilakukan eksekusi/parsing file PHP dari file lain, baik pada file dari disk local atau file dari situs lain. Jika varibel untuk parameter fungsi tersebut diketahui,maka attacker dapat mengganti nilai varibel tersebut dengan mengirimkan nilai varibel lewat metode GET atau POST. Solusinya: Cek apakah nama file yang dibuat adalah salah satu dari nama file yang diinginkan Hindari penggunaan variabel sebagai nama file. Jangan percaya variabel global

Hilangkan Karakter-Karakter Escape HTML Dalam Teks Kesalahan umum yang terjadi adalah penggunaan nilai variabel yang disediakan oleh user atau URL dalam sebuah query SQL tanpa menghilangkan karakter-karakter khusus.

Hindari Upload Yang Salah File-file upload dapat rusak dari sebuah kemungkinan berbahaya yang berasal dari permasalahan variabel global yang tidak dapat dipercaya. Hal ini layak dipertimbangkan sebagai sebuah permasalahan tambahan. Saat sebuah file di-uploaded, script PHP menyimpan file uploaded itu. Akan tetapi, user dapat membangun URL yang mengatur nilai variabel ini hingga menjadi nilai yang tidak diharapkan seperti /etc/passwd dan tidak akan meng-upload file. Skrip tersebut kemungkinan kemudian menyalin file itu ke sebuah lokasi atau menampilkan isi file ke user.

Gunakan Ekstensi .php untuk Semua File Script Banyak pemrogram PHP menggunakan ekstensi .inc atau .class untuk file library dan file konfigurasi yang diakses dengan menggunakan fungsi include. Jika attacker mengambil URL untuk file .inc atau .class dalam browser-nya, maka dia tidak akan mampu melihat isi file ini, termasuk kode PHP apapun. Boleh jadi hal ini memperlihatkan hak keintelektualan, password, atau kelemahan dalam pengkodean.

Tempatkan Isi Yang Sensitif Di Luar Direktori Root Dokumen Banyak sistem PHP dirancang untuk membatasi akses ke dokumen atau citra melaluiautentifikasi user dan daftar kontrol akses. Akan tetapi, dokumen-dokumen ini sering disimpan sebagai file dalam sebuah subdirektori dari direktori yang berisi skrip PHP. Hal ini tentu membuat file-file tersebut tersedia langsung jika user memakai URL yang tepat dalam browser.

Berhati-Hati terhadap Server Bersama Banyak situs PHP mengambil keuntungan dengan murahnya tempat yang disediakan oleh pihak ketiga. Penyedia tempat ini biasanya menggunakan server bersama dengan pengguna-pengguna lain. Pengguna lain ini mungkin saja mampu menggunakan skrip PHP atau akses shell untuk memodifikasi, mengakses, atau menghapus file-file atau menentukan password basis data. Serangan lain yang mungkin adalah kemampuan menciptakan file sesi (standarnya tersimpan dalam /tmp) yang akan mengizinkan attacker menggunakan autentifikasi tersebut.

Session Spoofing Sebuah session dapat berisi informasi-informasi yang krusial seperti username, password dan lain-lain sehingga attacker dapat mengambil informasi tersebut, atau paling tidak, jika sistem pengecekan untuk otentifikasi tidak terlalu rumit, misalnya tanpa pengecekan IP host dari client, maka dengan menggunakan session ID attacker dapat men-take over session tersebut. Atau mungkin, jika attacker tahu apa yang harus diisi pada file tersebut, maka attacker dapat membuat sessionya sendiri.

Beberapa Tips Untuk Pengamanan Aplikasi Web Dengan PHP

Mengamankan Layout atau Tampilan Untuk menghindari tag-tag HTML yang dapat merusak tampilan/layout website, atau menghindai implantasi scripting seperti diatas, kita dapat men-disable tag-tag tersebut. Kita dapat memilih tag-tag apa saya yang diperbolehkan dengan fungsi strip_tags() sehingga tag yagn tidak diperbolehkan ditampilkan sebagaimana adanya dan tidak diparsing oleh browser sebagai kode HTML.

Batasi Ukuran Data Yang Dikirim Ke Server Dan Database Jika kita membuat suatu aplikasi guestbook misalnya, tentu saja kita tidak mau pengunjung dapat mengisi guestbook dengan tulisan yang sangat panjang sekali. Oleh karena itu ada baiknya berfikir untuk selalu membatasi fasilitas untuk user.

Filter Kata-kata Kotor (Bad Words) Mungkin ini tidak ada hubungannya dengan kemanan sistem, tapi jika anda ingin membangun website yang 'baik' sebaiknya hidari kata-kata sembarangan yang bisa diposting oleh user.

Cegah flooding Untuk mencegah flooding kita bisa menggunakan fasilitas session untuk mencegah agar user hanya dapat mengirimkan data sekali atau beberapa kali saja

Cegah Mekanisme Upload File PHP Yang Dapat Dieksekusi Jika seseorang menupload file seperti dibawah ini : <?php $cmd = "cat /etc/passwd"; // atau $cmd ="echo "HACKED\">".dirname($_SERVER['PATH_TRANSLATED'])."/hacked.html"; $h = shell_exec($cmd); echo $h; ?> Apabila file tersebut bisa dipanggil lewat URL maka script tersebut dapat dieksekusi oleh PHP dan hasilnya ... BOOM !