Anda di halaman 1dari 9

RANCANG BANGUN APLIKASI PENCARIAN SQL

INJECTION VULNERABILTY PADA WEBSITE


BERBASIS PHP

M Fachru Alfandy1, Fhery Agustin2, Adnan Buyung Nasution3


1
Jurusan Teknik Informatika Universitas Potensi Utama
2,3
Dosen Jurusan Teknik Informatika Universitas Potensi Utama
1,2,3
Universitas Potensi Utama, K.L. Yos Sudarso KM 6,5 No. 3A Tj. Mulia - Medan
Email : mfachrualfandy@gmail.com1

Abstrak
Saat ini, tindakan penyerangan yang terjadi pada suatu website semakin sering terjadi
intensitas nya. Sering juga kita merlihat pada media online dan media elektronik lain nya yang memuat
berita tentang begitu banyak nya aksi-aksi penyerangan terhadap suatu-situs web yang tidak memiliki
keamanan yang cukup baik. Salah satu contoh faktor timbulnya tindakan peretasan adalah kesalahan
pada penulisan kode yang terjadi dalam pembuatan website itu sendiri. Hal inilah yang dimanfaatkan
oleh para attacker untuk mendapatkan keuntungan. Kelemahan-kelemahan scripting ini dapat
ditemukan pada proses vulnerabilities scanning misalnya dengan SQL Injection. Untuk mencegah
tindakan tersebut dapat dilakukan dengan menggunakan jasa perusahaan audit keamanan web. Dan
tentunya tidak gratis pula dan akan menghabiskan banyak biaya, untuk menghindari hal tersebut, saya
dalam proyek akhir ini akan dibangun aplikasi sql vulnerability scanner yang berfungsi untuk
mendeteksi suatu kelemahan pada website berbasis php terhadap kelemahan dari SQL Injection. Maka
dengan menggunakan aplikasi web vulnerability scanner ini kita dapat mendeteksi suatu kelemahan
web terhadap terhadap serangan SQL Injection dengan lebih dini sehingga kita dapat mencegah hal-
hal yang tidak kita inginkan.

Kata Kunci : Aplikasi, SQL Injection Scanner, PHP, Website Vulnerability, Netbeans.
Abstract
Now, the attacking action that happend on a website the more frequent its intensity. Often we
also look at online media and other electronic media that contains news about so many of the actions of
an attack on a website that does not have good security. One example of the factor of the occurrence of
hacking action is the error in writing the code that occurs in the making of the website itself. This is
what the attackers use to gain profit. These scripting flaws can be found in vulnerabilities scanning
process for example with SQL Injection. To prevent such action can be done by using the services of
web security audit company. And of course not free anyway and will spend a lot of cost, to avoid it, I in
this final project will be built sql vulnerability scanner application that serves to detect a weakness in
php based website against the weakness of SQL Injection. So by using this vulnerability scanner web
application we can detect a web weakness against against SQL Injection attacks with earlier so that we
can prevent things we do not want.
.

Keywords : Aplication, SQL Injection Scanner, PHP, Website Vulnerability, Netbeans.


1. PENDAHULUAN

Saat ini laju dari sebuah perkembangan teknologi informasi, terutama pada dunia maya
(internet) mendorong banyak pihak untuk ikut berpartisipasi di dalamnya baik sebagai pengguna (user)
maupun pengelola (administrator) dalam mengelola sebuah sistem nya dengan baik dan aman. Dengan
dibangunnya suatu halaman website mendorong banyak nya informasi yang dihubungkan dengan
jaringan internet yang dapat mudah diakses oleh para pengguna (user) sebagai ilmu pengetahuan.
Informasi yang berada pada suatu website, baik itu informasi yang terdapat pada halaman interface
maupun pada halaman administrator tidak secara otomatis dijamin sebuah keamanan nya semua
masalah ini dikarenakan adanya risiko yang terdapatnya celah atau kerentanan (vulnerability) pada
bagian- bagian lapisan keamanan yang memungkinkan disalahgunakan oleh pihak yang tidak
berwewenang untuk mengambil keuntungan. Semakin tinggi nilai informasi pada suatu website maka
juga semakin tinggi pula risiko yang akan ditanggung oleh website tersebut sehingga harus
menciptakan suatu website yang memberikan jaminan keamanan baik bagi user dan terutama
administrator demi kemudahan dalam tukar-menukar informasi, transaksi, yang membutuhkan
flesibilitas tinggi dan keamanan terhadap gangguan dan kestabilan. Semua hal ini diperlukan untuk
melindungi data supaya tidak rusak/hilang dikarenakan oleh virus komputer atau yang lebih parah
adalah serangan pengacau (intruder).
Berbagai jenis serangan yang umumnya terjadi pada suatu website membuat pihak
administrator diharapkan senantiasa untuk selalu melakukan pengujian dan upaya penyempurnaan
website demi meningkatkan keamanan dari website tersebut. Salah satu ancaman yang sering terjadi
pada suatu website adalah SQL Injection. Serangan ini memanfaatkan celah keamanan pada sebuah
query dengan memasukkan SQL statement (DDL, DML, DCL) seperti create, insert, update, drop, alter,
union dan select. Seringkali para pemilik website tidak mengetahui celah tersebut, sehingga
beranggapan bahwa website yang dimilikinya telah memiliki keamanan yang sempurna dan tidak
mengetahui adanya celah ancaman keamanan dari pintu belakang (Backdoor) website tersebut. SQL
Injection melakukan serangan dari celah tersebut yang kemudian berusaha untuk mengetahui dan
mencuri data administrator dengan tujuan mengambil alih kepemilikan website tersebut. Hal tersebut
terjadi karena input user tidak divalidasi sehingga muncul celah keamanan tersebut.
Dengan latar belakang di atas maka penulis mengambil judul Rancang Bangun Aplikasi
Pencarian SQL Injection Vulnerabilty Pada Website Berbasis PHP.

1.2 SQL Injection


SQL Injection adalah salah satu jenis penyerangan yang mengijinkan pengguna tidak
sah(penyerang) untuk mengakses database server atau tindakan menyisipkan perintah SQL melalui
URL atau isian form yang digunakan untuk menyusun perintah SQL seperti login form. Yang
menggunakan teknik, penyerang mencoba memasukkan query (melalui field atau URL) yang akan
menyebabkan database server men-generate query SQL yang tidak valid. Pada kenyataan nya, SQL
injection terbukti merupakan salah satu teknik terbaik yang sering melumpuhkan sasarannya. Begitu
penyerang berhasil menguasai kendali database server.

2. METODOLOGI PENELITIAN

Metode pengembangan sistem yang digunakan penulis adalah metode pengembangan sistem
Waterfall. Waterfall adalah sebuah sistem yang melakukan pendekatan secara sistematis dan terurut
mulai dari level rekayasa perangkat lunak lalu menuju ke analisis, perancangan, implementasi,
pengujian dan pemeliharaan.
Penulis menggunakan metode penelitian waterfall dikarenakan pemecahan masalah yang aktual
yaitu masalah yang berkembang pada bidang artifisial intelligence yang sekarang sedang berkembang
pesat. Dengan metode waterfall, aplikasi yang telah penulis kumpulkan mula-mula disusun, dijelaskan,
dianalisis, dan kemudian diimplementasikan dalam sebuah perangkat lunak. Metodologi pengembangan
sistem Waterfall dapat dilihat pada gambar 1 berikut:
Analisis
Analisis Kebutuhan
Kebutuhan
(requirement)
(requirement)

Desain
Desain Sistem
Sistem
(system
(system design)
design)

coding
coding

Pengujian
Pengujian Program
Program

Pemeliharaan
Pemeliharaan Program
Program

Gambar 1. Prosedur Perancangan Sistem

Dalam pengembangannya metode waterfall memiliki beberapa tahapan yaitu : requirement


(analisis kebutuhan), design sistem (system design), coding, pengujian program, pemeliharaan sistem

2.1. Analisis Kebutuhan


Berisi tentang hal-hal yang harus ada pada hasil perancangan agar mampu menyelesaikan masalah
yang ada sesuai tujuan. Data yang dibutuhkan dalam melakukan perancangan sistem adalah nama
domain atau url atau alamat ip, site map, url halaman dan bahasa pemrograman yang digunakan untuk
membuat aplikasi adalah netbeans.

2.2. Desain Sistem


Secara umum Rancang Bangun Aplikasi Pencarian SQL Injection Vulnerability Pada Website
Berbasis PHP menggunakan model perancangan Unified Modelling Language.
2.3. Penulisan Sinkode Program
Coding merupakan penerjemahan design dalam bahasa yang bisa dikenali oleh komputer.
Dilakukan oleh programmer yang akan meterjemahkan transaksi yang diminta oleh user. Tahapan
inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu sistem. Dalam artian
penggunaan computer akan dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan
dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-
kesalahan terhadap system tersebut dan kemudian bisa diperbaiki.

2.4. Pengujian Program


Pada tahap ini dilakukan pengujian aplikasi secara menyeluruh, meliputi pengujian fungsional
dan pengujian ketahanan sistem. Pengujian secara black box (interface) yaitu pengujian perangkat
lunak yang tes fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja.
Pengetahuan khusus dari kode aplikasi / struktur internal dan pengetahuan pemrograman pada
umumnya tidak diperlukan, pengujian tersebut untuk masing-masing blok peralatan yang dirancang.

2.5. Pemeliharaan Sistem


Perangkat lunak yang susah disampaikan kepada pelanggan pasti akan mengalami perubahan.
Perubahan tersebut bisa karena mengalami kesalahan karena perangkat lunak harus menyesuaikan
dengan lingkungan (periperal atau system operasi baru) baru, atau karena pelanggan membutuhkan
perkembangan fungsional.

3. HASIL DAN PEMBAHASAN

Hasil yang disajikan oleh aplikasi Rancang Bangun Aplikasi Pencarian SQL Injection
Vulnerabilty Pada Website Berbasis PHP adalah berupa laporan mengenai keamanan sebuah website
terhadap serangan SQL Injection yang dilakukan penyerang (Attacker) dengan memanfaatkan celah
(Vulnerabilty) kelemahan dari website tersebut.
Berikut ini akan dijelaskan tentang tampilan hasil dari Rancang Bangun Aplikasi Pencarian
SQL Injection Vulnerabilty Pada Website Berbasis PHP dapat dilihat pada gambar sebagai berikut :

3.1. Tampilan Form Beranda


Tampilan yang disajikan oleh sistem untuk menampilkan form beranda dapat dilihat pada
Gambar 2 berikut :

Gambar 2. Tampilan Form Beranda

3.2. Tampilan Form Projek Baru


Tampilan yang disajikan oleh sistem untuk menampilkan form projek baru dapat dilihat pada
Gambar 3 berikut :
Gambar 3. Tampilan Form Projek Baru

3.3. Tampilan Daftar Projek


Tampilan yang disajikan oleh sistem untuk menampilkan form daftar projek dapat dilihat pada
gambar 4 berikut :

Gambar 4. Tampilan Form daftar projek

3.4. Tampilan Form Laporan


Tampilan yang disajikan oleh sistem untuk menampilkan form laporan dapat dilihat pada gambar
5 berikut :
Gambar 5. Tampilan Form Laporan

3.5. Tampilan Form Tentang Program


Tampilan yang disajikan oleh sistem untuk menampilkan form Tentang Program dapat dilihat
pada gambar 6 berikut :

Gambar 6. Tampilan Form Tentang Program


3.6. Pembahasan
Berikut ini adalah kebutuhan perangkat keras dan perangkat lunak untuk membuat Aplikasi
Rancang Bangun Aplikasi Pencarian SQL Injection Vulnerabilty Pada Website Berbasis PHP adalah
sebagai Beikut:
1. Satu unit laptop atau PC dengan spesifikasi sebagai berikut :
a. Processor Core i3 / Core i2 / Core 2 duo
b. RAM minimal 2 Gb
c. Hardisk minimal 80 Gb
2. Perangkat Lunak dengan spesifikasi seba gai berikut :
a. Sistem Operasi Windows 7 / Windows Xp
Netbeans 8.2.

3.7. Hasil Uji Coba


Setelah melakukan uji coba terhadap sistem, maka dapat disimpulkan hasil yang didapatkan yaitu
:
1. Serangan SQL Injection dilakukan dengan memanfaatkan celah(Vulnerabilty) keamanan pada url
sebuah website berbasis php.
2. Tidak adanya pemfilteran pada url website yang memiliki celah SQL Injection.
3. Sistem yang diterapkan sesuai dengan yang dirancang.
4. Hasil pencarian SQL Injection Vulnerabilty berupa laporan berformat pdf.
5. Interface bersifat userfriendly sehingga siapa saja dapat memahami penggunaan aplikasi.

3.8. Kelebihan dan Kekurangan Sistem


Setiap sistem memiliki kelebihan dan kekurangan, berikut ini adalah kelebihan dan kekurangan
sistem yang telah dibuat.
Kelebihan Sistem
Adapun kelebihan sistem yang telah dibuat diantaranya yaitu :
1. Dapat mengetahui keamanan sebuah website berbasis php terhadap celah(Vulnerability) SQL
Injection.
2. Penggunaan yang memudahkan user dalam menggunakan nya.
3. Memberikan hasil laporan dalam format pdf

Kekurangan Sistem
Adapun kekurangan sistem yang telah dibuat diantaranya yaitu :
1. Belum di integrasikan ke dalam Browser.
2. Terbatas dalam pencarian celah kemanan pada website terhadap SQL Injection Vulnerabilty.
3. Interface antar muka belum menarik.
4. Sistem ini belum diterapkan pada perangkat mobile.

4. KESIMPULAN

Berdasarkan pembahasan dari bab-bab sebelumnya yang telah dilakukan maka dapat diambil
beberapa kesimpulan 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.
2. Diperlukan suatu pengamanan pada SQL statement pada database yang ada pada suatu website-
website, agar perintah-perintah SQL injection tersebut dapat disaring dengan baik.
3. Aplikasi Pencarian SQL Injection Vulnerability ini bertujuan mencari suatu kelemahan website
terhadap serangan SQL Injection.
4. Selain itu diharapkan juga bahwa program aplikasi ini akan membuka wawasan para peneliti lain,
yang pada gilirannya nanti diharapkan dapat menjadi peluang bagi bermunculannya program-
program sejenis lebih lanjut, dan dengan tingkat pengembangan yang lebih mutakhir melalui hasil
karya.

5. SARAN

Untuk pengembangan lebih lanjut pada aplikasi Rancang bangun aplikasi pencarian sql
injection vulnerabilty, maka dapat diberikan beberapa saran sebagai berikut :
1. Melakukan perkembangan sistem dengan desain yang dinamis, aplikasi ini masih perlu banyak
pengembangan lagi dari segi desain dan tampilan untuk lebih mempermudah penggunaannya
2. Meningkatkan tingkat keakurasian dalam pencarian kelemahan pada website berbasis php.
3. Menambah metode-metode lain dalam mencari kelemahan website berbasis PHP terhadap serangan
SQL injection
4. Diharapkan kedepan nya aplikasi ini dapat di integrasikan ke dalam browser.

UCAPAN TERIMA KASIH

Dengan terselesaikannya Karya Ilmiah ini, penulis mengucapkan terimakasih yang sedalam-
dalamnya kepada :

1. Bapak Fhery Agustin, SE, M.Kom, selaku Dosen Pembimbing I yang telah menyediakan
waktu, tenaga dan pikiran ditengah kesibukannya untuk memberikan bimbingan, petunjuk
dalam menyelesaikan penulisan skripsi ini.
2. Bapak Adnan Buyung Nasution, M.Kom, selaku Dosen Pembimbing II yang telah
menyediakan waktu, tenaga dan pikiran ditengah kesibukannya untuk memberikan bimbingan,
petunjuk dalam menyelesaikan penulisan skripsi ini.
3. Ibu Hj. Nuriandy, B.A selaku Pembina Yayasan Potensi Utama Medan.
4. Bapak Bob Subhan Riza, ST selaku Ketua Yayasan Potensi Utama Medan.
5. Ibu Dr. Rika Rosnelly, SH, M.Kom, selaku Rektor Universitas Potensi Utama Medan.
6. Ibu Ratih Puspasari, M.Kom selaku Dekan Fakultas Teknik Dan Ilmu Komputer Universitas
Potensi Utama.
7. Bapak Budi Triandi, M.Kom, selaku Ketua Program Studi Teknik Informatika Universitas
Potensi Utama Medan.
8. Kepada Seluruh Dosen Pengajar di Universitas Potensi Utama Medan, yang selama ini telah
mengajarkan ilmu yang bermanfaat bagi penulis.
9. Untuk kedua orang tua dan abang saya tercinta, yang kiranya selama ini memberikan nasehat,
dorongan dan bantuan doa maupun materil.

DAFTAR PUSTAKA
[1] Arief, M. Rudyanto, 2012. Pemrograman Web Dinamis Menggunakan PHP dan MySQL.
Andi, Yogyakarta.
[2] Angela Merici Elu, 2013, Rancang Bangun Aplikasi Pendeteksian Vulnerability Structure
Query Language (SQL) Injection Untuk Keamanan Website, Volume. VII, Jurnal Terknologi
Informasi, 2013.
[3] Gata, Windu, 2013. Sukses Membangun Aplikasi Penjualan dengan Java. Elex Media,
Jakarta.
[4] Rahmatillah, 2012. Aplikasi Laporan Simpan Pinjam Berbasis Web. Poltikenik Telkom
Bandung, 2012.
[5] Septiawan Arbi, 2012. Rancang Bangun Aplikasi Web Vulnerability Scanner Terhadap
Kelemahan Sql Injection Dan Xss Menggunakan Java. Institut Teknologi Sepuluh Nopember.
[6] Tri Raharjo, 2013, SQL Injection Pada Sistem Keamanan Database, E-Jounal LPPM STMIK
ProVisi Semarang 2013.
[7] Komputer, Wahana, 2012. The Best 40. Elex Media, Jakarta.

Anda mungkin juga menyukai