Dosen Pengampu :
Bambang Agus Herlambang, S.Kom., M.Kom
Disusun Oleh :
Informatika 7A
Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa karena dengan rahmat,
karunia, serta taufik dan hidyah-Nya penulis dapat menyelesaikan makalah tentang Perlindungan
Web pada Sistem Login dari Serangan SQL Injection ini dengan baik meskipun banyak
kekurangan didalamnya. Penulis berterimakasih kepada Bapak Bambang Agus Herlambang,
S.Kom., M.Kom. selaku dosen mata kuliah Keamanan Sistem Informasi yang telah memberikan
tugas ini kepada penulis.
Penulis sangat berharap makalah ini dapat berguna dalam rangka menambah wawasan serta
pengetahuan kita mengenai Keamanan Sistem Informasi. Penulis juga menyadari sepenuhnya
bahwa di dalam makalah ini terdapat kekurangan dan jauh dari kata sempurna. Oleh sebab itu,
penulis berharap adanya kritik, saran dan usulan demi perbaikan makalah yang akan penulis buat
di masa yang akan datang.
Semoga makalah sederhana ini dapat dipahami bagi siapapun yang membacanya.
Sekiranya laporan yang telah disusun ini dapat berguna bagi penulis sendiri maupun orang yang
membacanya. Sebelumnya kami mohon maaf apabila terdapat kesalahan kata-kata yang kurang
berkenan dan penulis memohan kritik dan saran yang membangun demi perbaikan di masa depan.
Penulis
i
DAFTAR ISI
KATA PENGANTAR ................................................................................................................................... i
DAFTAR ISI ................................................................................................................................................. ii
BAB I PENDAHULUAN ............................................................................................................................. 1
1.1. Latar Belakang .............................................................................................................................. 1
1.2. Rumusan Masalah ......................................................................................................................... 2
1.3. Manfaat ......................................................................................................................................... 2
1.4. Tujuan ........................................................................................................................................... 2
BAB II PEMBAHASAN .............................................................................................................................. 3
2.1. Pengertian SQL Injection .............................................................................................................. 3
2.2. Pengertian SQL ............................................................................................................................. 3
2.3. Macam Teknik Penyerangan pada SQL Injection ......................................................................... 4
2.4. Cara Kerja SQL Injection .............................................................................................................. 5
2.5. Metode untuk Menghindari SQL Injection ................................................................................... 5
BAB III .......................................................................................................................................................... 7
SIMULASI .................................................................................................................................................... 7
3.1. Simulasi ......................................................................................................................................... 7
3.2. Model Analisis Simulasi Serangan ................................................................................................ 7
3.3. Perancangan Antarmuka ................................................................................................................ 8
3.4. Pengujian Algoritma Rijndael ....................................................................................................... 8
3.5. Pengujian Serangan SQL Injection Pada Web tanpa Rijndael. ..................................................... 8
3.6. Pengujian Serangan SQL Injection Pada Web dengan Rijndael. .................................................10
BAB IV PENUTUP ..................................................................................................................................... 12
4.1. Kesimpulan...................................................................................................................................12
4.2. Saran .............................................................................................................................................12
DAFTAR PUSTAKA ................................................................................................................................. 13
ii
BAB I
PENDAHULUAN
1.1.Latar Belakang
Pesatnya perkembangan teknologi komunikasi dan informasi yang memudahkan setiap orang
dalam mengakses informasi yang dibutuhkan dengan instan Namun pada pekembangan
teknologi terdapat kelemahan pada keamanan sistem sehingga perlu adanya perbaikan agar
membuatnya menjadi lebih aman, kelemahan keamanan sistem pada teknologi tersebut umumnya
ditemukan oleh hacker. Hacker adalah seseorang orang yang mempelajari, menganalisis,
memodifikasi suatu program atau menerobos masuk ke suatu sistem jaringan untuk mendapatkan
keuntungan atau hanya sekedar tertantang. Hacker sendiri dapat dibagi menjadi 2 (dua) jenis yaitu:
hacker adalah seorang golongan profesional memiliki pengetahuan tinggi dan mendalam pada
sistem komputer yang mengenal pasti kelemahan suatu sistem lalu memberitahukan kepada
pemiliknya dan cracker adalah kebalikan dari pada hacker yaitu bersifat merusak suatu sistem guna
kepentingannya pribadi.
Salah satu gangguan atau bentuk kejahatan di internet adalah dalam bentuk mengganggu
sistem jaringan dan database. Salah satu teknik dalam mengganggu sistem database jaringan
adalah dengan menggunakan SQL injection. SQL injection atau dikenal juga dengan SQL
insertion yaitu sebuah teknik yang digunakan untuk mengeksploitasi database pada suatu websites
dengan memaksa keluarnya error page situs itu yang ada error pages itu terdapat info tentang
struktur database website yang dieksploitas.
Bentuk pengamanan system yang sering digunakan adalah dengan menggunakan teknik enkripsi
dan deskripsi data. Enkripsi dan dekripsi termasuk dalam bidang ilmu kriptografi. Kriptografi
adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat
dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga. Pengamanan
ini dilakukan dengan mengenkripsi informasi tersebut dengan suatu kunci khusus. Algoritma
Rijndael terpilih oleh National Institute of Standards and Technology (NIST) sebagai pemenang
dalam perlombaan memperebutkan kandidat AES sebagai algoritma kriptografi yang dapat
melindungi informasi dengan baik serta efisien dalam implementasinya dan dinobatkan sebagai
AES [4]. Berbagai penelitian telah dilakukan terhadap algoritma Rijndael dan serangan SQL
Injection. (Soyjaudah et al., 2004) melakukan penelitian tentang enkripsi yang digunakan dalam
sistem komunikasi untuk melindungi informasi yang dikirim lewat saluran komunikasi agar tidak
ditangkap dan dibaca oleh pihak yang tidak berwenang [5]. (Majumder dan Saha, 2009) melakukan
penelitian tentang Analysis SQL Injection Attack [6]. Pada penelitian ini penulis akan membuat
1
perlindungan web pada login sistem menggunakan algoritma Rijndael dalam melindungi web dari
serangan SQL Injection.
1.2.Rumusan Masalah
1. Apa itu SQL Injection ?
2. Macam teknik penyerangan SQL Injection ?
3. Bagaimana cara kerja SQL Injection ?
4. Bagaimana cara menghindari SQL Injection ?
5. Bagaimana melakukan perlindungan Web pada sistem login dari SQL Injection
menggunakan algoritma Rijndael?
1.3.Manfaat
Manfaat yang diharapkan penulis setelah membaca makalah ini antara lain :
1. Menambah wawasan tentang SQL Injection.
2. Memudahkan pembaca dalam mencari informasi tentang SQL Injection.
3. Melakukan peningkatan keamanan informasi pada sistem login dari serangan SQL
Injections.
1.4.Tujuan
Tujuan dari penulisan makalah ini adalah untuk memahami bagaimana SQL injection itu
dilakukan serta mengetahui cara pencegahannya.
2
BAB II
PEMBAHASAN
3
Data Manipulation Language (DML) Perintah (statement) SQL digunakan untuk melakukan
manipulasi data dalam database, menambahkan (insert), mengubah (update),
menghapus(delete), mengambil dan mencari data (query). Perintah SQL standar seperti :
select, insert, update, delete, create, dan drop dapat digunakan untuk menyelesaikan tugas yang
diberikan berhubungan dengan data suatu database.
Data Control Language (DCL) Termasuk dalam DCL adalah perintah untuk melakukan
pendefenisian pemakai yang boleh mengakses database dan apa saja privilegenya. Fasilitas ini
tersedia pada sistem manajemen database yang memiliki fasilitas keamanan dengan membatasi
pemakai dan kewenangannya.
4
007400200040004000760065007200730069006 f006e00);
Metode untuk menghindari SQL Injection dapat dilakukan kedalam dua cara yaitu secara
client-side dan server-side. Pada metode client-Side yaitu menerima 'Shadow SQL Query' dari
server-side dan melakukan pengecekan terhadap deviasi yang terjadi antara shadow query dengan
5
query dinamis yang dibentuk oleh masukan dari pengguna. Jika ditemukan adanya deviasi
maka dapat dipastikan bahwa masukannya tidak benar (Malicious). Sedangkan dalam penelitian
ini dikedepankan metode secara server-side. yaitu melalui sejumlah langkah antara lain:
1. Gunakan Prepared Statement atau Parameterized Query. Lebih sederhana dan lebih
mudah untuk dimengerti dibanding query dinamis, Parameterized query mengirimkan
setiap parameter kedalam lapisan query setelah semua kode SQL telah didefinisikan.
Database dapat membedakan antara kode dan data, apapun masukan dari pengguna.
Seorang penyerang tidak dapat merubah maksud query, meskipun SQL command telah
disusupkan di dalamnya.
2. Lakukan validasi masukan. Autentikasi masukan dari pengguna dengan aturan-aturan yang
telah didefinisikan seperti panjang, tipe dan filter lain jika diperlukan.
3. Matikan atau sembunyikan pesan-pesan error yang keluar dari server database.
4. Mengunci atau membatasi database anda. Jika aplikasi web Anda tidak memerlukan akses
ke tabel tertentu, maka pastikan bahwa mereka semua tidak memiliki izin untuk itu.
Jika hanya read-only maka akanmenghasilkan laporan dari tabel hutang account anda maka
pastikan anda menonaktifkan insert / update / menghapus akses.
6
BAB III
SIMULASI
3.1.Simulasi
Perlindungan Web pada sistem login dari SQL Injection menggunakan Algoritma Rijndael
Flowchart dan Solusi Masalah, Flowchart dan solusi masalah dalam penelitian ini terdapat dalam
Gambar 6.
3.3.Perancangan Antarmuka
Dalam perancangan antarmuka dituntut untuk membuat antarmuka yang mudah dimengerti
oleh pengguna sehingga aplikasi akan lebih interaktif dapat dilihat dalam Gambar 8.
Pada hasil dan pengujian penggunaan dalam melindungi login sistem menggunakan algoritma
Rijndael, hasil sistem berisi antarmuka program dan pengujian sistem yang telah dibuat. Hasil
pengujian sesuai dengan proses runtunan jalannya algoritma. Pada proses pengujian, terdapat dua
tahap, yaitu pengujian SQL Injection tanpa Rijndael dan pengujian SQL Injection dengan
menggunakan Rijndael pada login sistem.
8
untuk melakukan serangan SQL Injection. Berikut beberapa skenario yang akan diuji dalam
penelitian ini dalam Tabel V.
Berdasarkan data percobaan dalam Tabel V. Dapat disimpulkan bahwa web tanpa Rijndael
kurang efektif menangani serangan SQL Injection dan banyak yang berhasil meretas sistem.
9
Pada Gambar 10. menjelaskan bahwa halaman login pada web di retas dengan cara
memasukkan kode SQL Injection. Kode SQL Injection, akan dimasukkan pada bagian
username. SQL Injection mampu meretas sistem web, meskipun terlindungi dengan adanya user
dan password.
Pada Gambar 11. menjelaskan, web berhasil diretas dengan memasukkan kode SQL Injection.
Dan berhasil melakukan proses login tanpa menggunakan username ataupun password.
Pada Tabel VI. menjelaskan, ketika diberikan kode SQL Injection, web tidak berhasil
diretas, dan dinyatakan login gagal. Membuktikan bahwa Rijndael mampu memberikan
pengamanan yang baik terhadap sebuah web. Pada Tabel VI. membuktikan bahwa serangan SQL
Injection tidak berhasil pada web dengan keamanan yang baik menggunakan Rijndael.
10
Pada Gambar 12. form login diberikan kode SQL Injection. Web akan diretas dengan cara
memberikan kode SQL Injection.
Pada Gambar 13. menjelaskan, ketika diberikan kode SQL Injection web tidak berhasil diretas,
dan dinyatakan login gagal. Membuktikan bahwa Rijndael mampu memberikan pengamanan yang
baik terhadap situs web.
11
BAB IV
PENUTUP
4.1.Kesimpulan
Dari hasil perancangan sistem kemudian dilanjutkan dengan pengambilan data, pengujian
dan analisa, maka dapat disimpulkan sebagai berikut :
1. SQL Injection merupakan teknik hacking paling populer pada aplikasi web dengan prinsip
melewatkan perintah-perintah SQL lewat aplikasi web untuk dieksekusi oleh database
back-end. Kelemahan akan muncul apabila inputan user tidak disaring/difilter dengan
sempurna dan akhirnya dieksekusi. Oleh karena itu diperlukan suatu pengamanan yang
extra hati – hati pada SQL statement pada database yang ada pada suatu website-website
kita, agar perintah-perintah SQL injection tersebut dapat disaring dengan baik.
2. Dari pengujian sebanyak 40 kode SQL Injection, 11 berhasil masuk kedalam sistem tanpa
Rinjdael. Setelah dimasukkan Rijndael ke-40 skenario SQL Injection gagal.
3. Algoritma Rijndael dapat digunakan dalam memproteksi SQL Injection dimana SQL
Injection menyerang database server. Karena database server merupakan tempat
penyimpanan data yang harus dijaga dan dlindungi dari pihak yang tidak berkepentingan
untuk mengolah data.
4.2.Saran
Berikut beberapa saran dalam penelitian ini untuk diteliti lebih lanjut :
1. Algoritma Riendael dapat digabungkan dengan beberapa metode pengamanan lain untuk
melindung web sistem dari para penyerang
2. Rijndeal hanya memperoteksi database tetapi dari segi yang lain perlu ditambahkan
algoritma keamanan untuk melindungi router atau jaringan
12
DAFTAR PUSTAKA
[1] Akhir, Tugas. 2019. “ANALISIS SERANGAN SQL INJECTION PADA CELAH
KEAMANAN WEBSITE STUDI KASUS PT . ABC.” (September).
[2] Dharmawan, Eka Adhitya , Erni Yudaningtyas, M.Sarosa. 2013. “Perlindungan Web Pada
Login Sistem Menggunakan Algoritma Rijndael.” Eeccis 7(1): 77–84.
[3] Elu, Angela Merici. 2013. “( Sql ) Injection Untuk Keamanan Website.” Jurnal Teknologi
Informasi VII(1): 111–24.
[4] Ke-, Prosiding Snatif. 2015. “UMK (Universitas Muria Kudus) Dengan Domain Umk.Ac.Id
Merupakan.” : 251–58.
[5] Suartana, I Made, Henni Endah Wahanani, and Aditya Noor Sandy. 2015. “Sistem Pengaman
Web Server Dengan Application Firewall (WAF).” Scan X(1): 3–8.
[6] Yudantoro, Tri Raharjo. 2013. “SQL Injection Pada Sistem Keamanan Database.” Jurnal
Teknologi Informasi dan Komunikasi (JTIK) STMIK ProVisi Semarang: 89–93.
13