laporan praktikum rekayasa software php dan mysqlHibaten Wafiroh
Tujuan mahasiswa dalam melakukan pratikum Rekayasa Software 2 adalah :
1. Melatih mahasiswa agar dapat mengaplikasikan pengetahuan tentang pengoneksian antara PHP dan MySql.
2. Sebagai sarana pelatihan, dan melatih mahasiswa agar dapat memahami teknik koneksi PHP dan MySql serta menerapkannya dalam aplikasi pemrograman.
Pengertian & Instalasi AppServ (Application Server)
Appserv merupakan aplikasi yang berfungsi untuk install beberapa program antara lain Apache, PHP, MySQL dalam waktu yang singkat. Banyak orang mengeluh-eluhkan tentang susahnya install Apache, PHP, MySQL. Dengan adanya AppServ, mempermudahkan orang untuk membuat web server dan database. AppServ ini mempunyai beberapa versi antara lain : AppServ versi 2.5.9 , 2.5.10 , 2.6.0 (terbaru).
laporan praktikum rekayasa software php dan mysqlHibaten Wafiroh
Tujuan mahasiswa dalam melakukan pratikum Rekayasa Software 2 adalah :
1. Melatih mahasiswa agar dapat mengaplikasikan pengetahuan tentang pengoneksian antara PHP dan MySql.
2. Sebagai sarana pelatihan, dan melatih mahasiswa agar dapat memahami teknik koneksi PHP dan MySql serta menerapkannya dalam aplikasi pemrograman.
Pengertian & Instalasi AppServ (Application Server)
Appserv merupakan aplikasi yang berfungsi untuk install beberapa program antara lain Apache, PHP, MySQL dalam waktu yang singkat. Banyak orang mengeluh-eluhkan tentang susahnya install Apache, PHP, MySQL. Dengan adanya AppServ, mempermudahkan orang untuk membuat web server dan database. AppServ ini mempunyai beberapa versi antara lain : AppServ versi 2.5.9 , 2.5.10 , 2.6.0 (terbaru).
Aplikasi Pencatat biodata pegawai pada CV. Maling Sejahtera yang berbasis web ini bertujuan untuk mencatat data diri pegawai yaitu NIP, Nama, Tgl lahir, dan alamat. Dengan aplikasi ini dapat memudahkan untuk mencatat , melihat, mengedit dan menghapus data pegawai dan bisa dilakukan dimanapun yang penting ada koneksi internet, karena aplikasi ini bebasis web dan bukan berbasis desktop. Dengan tampilan yang user interface ini memudahkan admin untuk menggunakannya, tanpa harus memilki keterampilan kusus dalm bidang website. Aplikasi ini mengunakan bahsa pemrograman PHP dan MySQL.
Nordrassil project web pembangkit ddl dan kode sumber aplikasi basis dataTri Y. Evelina
Nordrassil Project adalah web yang dapat menciptakan DDL maupun kode sumber aplikasi basis data. Tujuan dari penelitian ini adalah untuk membantu programmer, atau bahkan orang awam, untuk dapat merancang dan membuat sendiri DDL dan kode aplikasi basis data secara mudah, cepat dan tepat. Nordrassil Project juga menyediakan fasilitas untuk menggunakan template script sendiri berbasis javascript dengan sedikit tambahan fungsi API untuk men membangkitkan file, sehingga pengguna dapat menentukan sendiri kode skema basis data dan kode aplikasi basis data umum yang akan di generate oleh template script buatan mereka. Pengembangan Nordrassil Project tidak hanya akan bergantung pada satu pihak saja. Semakin variatif template script yang ada pada Nordrassil Project, maka akan semakin banyak pula kemungkinan jenis aplikasi basis data jenis skema basis data yang dapat dibuat.
Aplikasi Pencatat biodata pegawai pada CV. Maling Sejahtera yang berbasis web ini bertujuan untuk mencatat data diri pegawai yaitu NIP, Nama, Tgl lahir, dan alamat. Dengan aplikasi ini dapat memudahkan untuk mencatat , melihat, mengedit dan menghapus data pegawai dan bisa dilakukan dimanapun yang penting ada koneksi internet, karena aplikasi ini bebasis web dan bukan berbasis desktop. Dengan tampilan yang user interface ini memudahkan admin untuk menggunakannya, tanpa harus memilki keterampilan kusus dalm bidang website. Aplikasi ini mengunakan bahsa pemrograman PHP dan MySQL.
Nordrassil project web pembangkit ddl dan kode sumber aplikasi basis dataTri Y. Evelina
Nordrassil Project adalah web yang dapat menciptakan DDL maupun kode sumber aplikasi basis data. Tujuan dari penelitian ini adalah untuk membantu programmer, atau bahkan orang awam, untuk dapat merancang dan membuat sendiri DDL dan kode aplikasi basis data secara mudah, cepat dan tepat. Nordrassil Project juga menyediakan fasilitas untuk menggunakan template script sendiri berbasis javascript dengan sedikit tambahan fungsi API untuk men membangkitkan file, sehingga pengguna dapat menentukan sendiri kode skema basis data dan kode aplikasi basis data umum yang akan di generate oleh template script buatan mereka. Pengembangan Nordrassil Project tidak hanya akan bergantung pada satu pihak saja. Semakin variatif template script yang ada pada Nordrassil Project, maka akan semakin banyak pula kemungkinan jenis aplikasi basis data jenis skema basis data yang dapat dibuat.
2. 1. PENGERTIAN SQL INJECTION
SQL injection adalah jenis aksi hacking pada keamanan komputer di mana
seorang penyerang bisa mendapatkan akses ke basis data di dalam sistem. SQL
injection yaitu serangan yang mirip dengan serangan XSS dalam bahwa penyerang
memanfaatkan aplikasi vektor dan juga dengan common dalam serangan XSS.
Sql injection merupakan salah satu kelemahan yang paling dahsyat untuk
dampak bisnis, karena dapat menyebabkan pembongkaran semua informasi yang
sensitif yang tersimpan dalam sebuah aplikasi database, termasuk informasi berguna
seperti username, password, nama, alamat, nomor telepon, dan rincian kartu kredit.
Jadi SQL injection adalah kelemahan yang diterjadi ketika penyerang mampu
mengubah structured query language (SQL) di dalam database. Dengan mempengaruhi
database, penyerang dapat memanfaatkan sintaks dan kemampuan dari SQL itu sendiri,
serta kekuatan dan fleksibilitas yang mendukung fungsi database dan fungsi sistem
operasi yang hanya dilakukan dalam database.
3. 2. SEJARAH SQL INJECTION
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF codd yang
membahas tentang ide pembuatan basis data relasional pada bulan juni1970. Artikel ini juga
membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data
tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (structured english query
language). Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data
relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai
penamaan SEQUEL, IBM pun mengubahnya menjadi SQL.
Di akhir tahun 1970-an, muncul perusahaan bernama oracle yang membuat server basis
data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran
oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam
manajemen basis data. Standarisasi SQL dimulai pada tahun 1986, ditandai dengan
dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar
tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992.
Versi terakhir dikenal dengan SQL92.
4. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99,
akan tetapi kebanyakan implementasi mereferensi pada SQL92. Saat ini sebenarnya tidak ada
server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server
memiliki dialek masing-masing. Secara umum, SQL terdiri dari dua bahasa, yaitu data
definition language (DDL) dan data manipulation language (DML). Implementasi DDL dan
DML berbeda untuk tiap sistem manajemen basis data (SMBD), namun secara umum
implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan
menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.
5. 3. CARA KERJA SQL INJECTION
SQL injection merupakan serangan dimana kode SQL dimasukkan atau ditambahkan
ke dalam aplikasi/ user input parameter yang kemudian diteruskan ke SQL server back-end
untuk parsing dan eksekusi. Setiap prosedur yang membangun pernyataan SQL berpotensi
untuk mudah terserang. Bentuk injeksi utama SQL terdiri dari penyisipan langsung kode ke
dalam parameter yang digabungkan dengan perintah SQL dan kemudian dieksekusi. Sebuah
serangan langsung paling sedikit menyuntikan kode ke dalam string yang ditujukan ke
penyimpanan di dalam tabel atau sebagai metadata. Ketika string yang tersimpan akhirnya
digabungkan ke dalam perintah SQL dinamis, kode tersebut akan dieksekusi.
Ketika aplikasi web gagal untuk membersihkan paramater dengan benar dilewatkan ke
pernyataan SQL yang dibuat secara dinamis (bahkan ketika menggunakan teknik
parameterisasi) ini memungkinkan untuk seorang penyerang untuk mengubah mengubah
konstruksi back-end SQL.
6. Ketika seorang penyerang dapat memodifikasi pernyataan SQL, pernyataan tersebut
akan dieksekusi dengan hak yang sama dengan aplikasi pengguna, saat menggunakan server
SQL untuk mengeksekusi perintah yang berinteraksi dengan sistem operasi, proses akan
berjalan dengan hak akses yang sama dengan komponen yang mengeksekusi perintah
(misalnya database server, aplikasi server, atau web server).
Berikut vidio mode
penyerangan sql injection;
7. 4. TAHAPAN PENYERANGAN SQL INJECTION
2) Menentukan jumlah kolom
Penentuan jumlah kolom ini perlu dilakukan karena kita perlu mengetahui kolom mana dari sebuah
tabel yang bisa dimanfaatkan. Hal ini bertujuan supaya kita bisa memasukkan perintah SQL injection
pada lokasi yang tepat. Sebab kalau kita memasukkan di tempat yang salah maka kita tidak akan
memperoleh apapun. Untuk melakukan hal ini agak bersifat “trial and error”, dimana perintah yang
digunakan adalah ORDER BY.
1) Tes vulnerabilitas
Pengujian atau tes ini perlu dilakukan untuk mengetahui
apakah sebuah situs web memiliki celah keamanan atau tidak untuk
dilakukan SQL injection. Salah satu karakter yang sering digunakan
untuk melakukan vulnerabilitas adalah pemakaian karakter kutip
tunggal (‘)
8. 3) Mencari kolom yang vunerable
S e l a n j u t n y a a d a l a h m e n c a r i k o l o m y a n g m e m i l i k i
c e l a h u n t u k d i l a k u k a n S Q L i n j e c t i o n . I s t i l a h l a i n n y a
a d a l a h a n g k a e r r o r .
4) Menentukan nama database
P a d a d a s a r n y a i n i b u k a n l a h s e s u a t u y a n g p e n t i n g
t a p i a k a n l e b i h b a i k a g a r b i s a d i m a n f a a t k a n u n t u k
k e p e n t i n g a n l a i n
5) Mencari nama kolom
6) Menampilkan isi data
9. 5. MENCEGAH SQL INJECTION
1. Batasi panjang input box dengan cara membatasi di kode program.
2. Administrator web haruslah tegas menolak user yang menginput karakter selain
abjad dan angka.
3. Untuk nilai numerik, konversilah menjadi integer.
4. Filter input yang dimasukkan user.
5. Jika memungkinkan, buatlah daftar karakter yang boleh digunakan.
6. Batasi karakter yang boleh diinput oleh pengunjung situs web anda.
7. Matikan atau sembunyikan pesan – pesan error yang keluar dari sql server yang
berjalan.
8. Kalau bisa, hilangkan show error mysql.
9. Bagi yang menggunakan cms, sangat disarankan untuk mengupdate cms.