Anda di halaman 1dari 5

PENETRATION TESTING KEAMANAN WEB MENGGUNAKAN

SQL INJECTION
Barkah Akbar Harahap[1], Husni Lubis [2], T. M. Diansyah [3]
Program Studi Teknik Informatika, Sekolah Tinggi Teknik Harapan
Jl. HM Joni No 70 C Medan
[1] [2] [3]
E-mail : abaiMU.7@gmail.com , husni.lubis82@gmail.com , dian_10.22@gmail.com

Abstrak
Pada masa sekarang ini banyak terciptanya berbagai teknologi baru yang mendukung kinerja manusia. Teknologi
semakin berkembang pesat dengan berbagai fitur aplikasi website yang memudahkan pengguna untuk
melakukan banyak pekerjaan, seperti halnya berbagi informasi, media penyimpanan, dan melakukan transaksi
jual-beli yang dapat diakses atau dilakukan kapan saja dimana saja. Semakin berkembangnya teknologi
menghasilkan kemudahan bagi banyak pengguna akan tetapi semakin banyaknya tercipta teknologi baru semakin
tinggi pula tingkat kejahatan komputer yang terjadi. Keamanan dalam sebuah website menjadi penting, karena
data terpusat dapat diambil dan disalahgunakan oleh pihak yang tidak bertanggung jawab. Salah satu cara untuk
menguji keamanan website adalah dengan menggunakan teknik SQL Injection. SQL Injection adalah salah satu
teknik hacking dimana penyerang memasukkan karakter-karakter khusus pada url sebuah website untuk
mengeksploitasi celah keamanan yang muncul disekitar lapisan basis data pada aplikasinya. Celah keamanan
tersebut ditunjukkan pada saat user memasukkan nilai string dan karakter-karakter kontrol lainnya yang ada
dalam intruksi SQL yang tidak di-filter secara benar atau user memasukkan string dengan tipe data tidak sama
yang seharusnya tidak diproses.

Kata Kunci : Injeksi SQL, Keamanan Web, Pengujian Penetrasi

Abstract
At the present time the creation of many new technologies that support human performance. Technology is
growing rapidly with the various features of a website application that allows users to do a lot of work, as well
as information sharing, storage, and perform transactions that can be accessed or made anytime anywhere. The
continued development of technology generates a lot of convenience to the user but the increasing number of
new technologies to create the higher the level of computer crime that happened. Security in a website is
important, because centralized data can be retrieved and abused by irresponsible parties. One way to test the
security of a website is to use SQL Injection techniques. SQL injection is a hacking technique in which an
attacker can enter SQL commands via the url of a website to be executed by the database. The security hole is
shown when the user enter a value string and other control characters that exist in the SQL commands that are
not filtered properly or the user enter a string value with data type is not the same as that should not be
processed.

Keyword : SQL Injection, Web Security, Penetration Testing

1. Latar Belakang website adalah dengan menggunakan teknik SQL


Injection. SQL Injection adalah salah satu teknik
Pada masa sekarang ini banyak terciptanya serangan yang dapat digunakan oleh penyerang untuk
berbagai teknologi baru yang mendukung kinerja mengeksploitasi aplikasi web, sebagai akibatnya
manusia. Teknologi semakin berkembang pesat penyerang bisa mendapatkan akses tidak sah ke
dengan berbagai fitur aplikasi website yang database atau untuk mengambil informasi langsung
memudahkan pengguna untuk melakukan banyak dari database.
pekerjaan, seperti halnya berbagi informasi, media
penyimpanan, dan melakukan transaksi jual-beli yang Adapun tujuan yang ingin dicapai dari penelitian
dapat diakses atau dilakukan kapan saja dimana saja. ini adalah:
Semakin berkembangnya teknologi menghasilkan 1. Mengetahui tentang teknik SQL Injection.
kemudahan bagi banyak pengguna akan tetapi 2. Mengetahui tingkat dan jenis-jenis keamanan
semakin banyaknya tercipta teknologi baru semakin internet.
tinggi pula tingkat kejahatan komputer yang terjadi.
Keamanan dalam sebuah website menjadi penting,
3. Melakukan pengujian terhadap aplikasi website
untuk mengetahui dan menganalisa tingkat
karena data terpusat dapat diambil dan
keamanan dari website yang diancang dan
disalahgunakan oleh pihak yang tidak bertanggung
website lain yang ada pada media internet.
jawab. Salah satu cara untuk menguji keamanan
Biltek Vol. 5, No. 021 Tahun 2015 – Sekolah Tinggi Teknik Harapan 1
4. Melakukan penelitian mengenai SQL Injection Sebelum melakukan SQL Injection dibutuhkan
untuk penerapan dan pencegahannya. Menarik sebuah website sebagai uji coba untuk penulis. Maka
kesimpulan atas ujicoba dan penetration testing penulis membuat sebuah website sederhana sebagai
keamanan web yang telah dilakukan dengan bahan percobaan, interfaceyang ditampilkan adalah
menggunakan teknik SQL Injection. sebuah link dari data artikel yang menampilkan isi
artikel. Yaitu sebagai berikut:
2. Metode Penelitian
Data Artikel
2.1 Analisis Rancangan Sistem xxxx
Analisa terhadap suatu sistem sangat diperlukan
untuk mengetahui kegiatan-kegiatan yang sedang xxxx
berjalan dalam suatu sistem. Tujuan mengetahui xxxx
kegiatan-kegiatan tersebut adalah untuk memahami Gambar 1. Tampilan Halaman Website Uji Coba
dan mengerti jalannya sistem serta hambatan-
hambatan yang terdapat dalam sistem tersebut. Fungsi Pada halaman diatas merupakan tampilan link
dari analisis sistem adalah untuk mengidentifikasi data artikel dari website sederhana yang diujikan,
kebutuhan sistem, kebutuhan perangkat keras berikut ini adalah tampilan data artikel jika link
(hardware), maupun kebutuhan perangkat lunak tersebut diklik. Dapat dilihat pada Gambar 2. berikut:
(software) sebagai dasar kebutuhan untuk
perancangan sistem. Analisis ini akan
mengidentifikasi permasalahan dan kekurangan yang Isi Artikel
ada pada sistem yang akan dibangun. xxxx
2.2 Analisis Kebutuhan Aplikasi
xxxx
Dalam melakukan pengujian penetration testing xxxx
keamanan web menggunakan SQL Injection, perlu Gambar 2. Tampilan Halaman Artikel
mempertimbangkan dan menganalisa kebutuhan
perangkat keras (Hardware) dan perangkat lunak 2.5 Perancangan Database
(Software) yang akan digunakan agar pengujian Pada uji coba SQL Injection yang akan
tersebut berjalan seperti yang diharapkan. Proses dilakukan, penulis membuat sebuah database untuk
pengujian penetration testing keamanan web dapat dilakukan pengujian. Adapun design database
menggunakan SQL Injection ini membutuhkan yang dibuat adalah sebagai berikut:
perangkat keras dan perangkat lunak sebagai media a. Tabel User, pada tabel ini memiliki deskripsi
dan alat yang digunakan untuk melakukan pengujian. dengan nama tabel “user” dan primary key “login”.
Yang dapat di lihat pada Tabel 1. berikut ini:
2.3 Perancangan Sistem
Pada proses pengujian SQL Injection yang Tabel 1. Desain Tabel User
dilakukan adalah pengujian dilakukan pada aplikasi Field
website sederhana yang sengaja penulis rancang No Type Width Keterangan
sendiri sebagai kesimpulan sistem kerja website dan Name
tingkat keamanannya dapat diketahui. Aplikasi web 1 Login Varchar 20 Username
tidak terlepas dari penggunaan database sebagai
sumber data untuk membuat tampilan web yang Password
dinamis. Penggunaan aplikasi web seringkali tidak 2 Password Varchar 20
User
dibarengi dengan penggunaan unsur perlindungan
terhadap akses kepada database. Lewat penggunaan
teks sederhana, seseorang bisa masuk dan login b. Tabel Articles, pada tabel ini memiliki deskripsi
kedalam sistem bahkan tanpa harus memasukan dengan nama tabel “articles” dan primary key
username dan password, tetapi hanya dengan “id_artikel”. Dapat di lihat pada Tabel 2. berikut ini:
memasukan query SQL kepada aplikasi. Pemaksaan
query SQL secara ilegal ini disebut dengan istilah
SQL Injection atau SQL Insertion. Karena sebenarnya
user tidak memiliki hak untuk melakukan query
terhadap database secara langsung, maka dilakukanlah Tabel 2. Desain Tabel Articles
proses pemaksaan agar aplikasi melakukan suatu Field
query untuk tujuan tertentu, biasanya untuk No Type Width Keterangan
Name
menembus bagian administrasi suatu aplikasi web.
1 Id Int 11 Id Artikel
2.4 Perancangan Interface Uji Coba
2 Articles Varchar 200 Isi Artikel

Biltek Vol. 5, No. 021 Tahun 2015 – Sekolah Tinggi Teknik Harapan 2
cukup baik.
Kemudian dilakukan pengujian atau penetration 2. Teknik SQL Injection tidak dapat dijadikan acuan
testing keamanan kepada website lain yang dipilih untuk mendapatkan hasil yang diinginkan, tetapi
secara acak melalui media internet. Dengan perlu juga memahami pemrograman lain seperti
mengakses “http://www.google.com” pencarian target Javacript, HTML dan lainnya. Hal ini dikarenakan
menggunakan kata kunci “penjualan kebaya” dengan teknik SQL Injection hanya dapat diproses pada
tujuan mencari website online dengan penjualan sintak SQL pada halaman yang memiliki proses
kebaya. Maka didapatlah target pengujian dengan query SQL.
alamat url seperti berikut: 3. Dengan pengembangan bahasa pemrograman PHP
“http://www.grosirkebaya.net/”. begitu juga pemrograman yang lain, teknik SQL
Injection telah diantisipasi dengan didukung
library baru mengikuti versi bahasa pemrograman
yang digunakan. Seperti otomatisasi pendeteksi
karakter “/” atau karakter “=” dan lainnya.
Sehingga teknik SQL Injection tidak dapat
berjalan.

Pada activity diagram dibawah ini


menggambarkan proses yang berjalan pada web.
Proses yang berlangsung terjadi setelah menguji
keamanan web tersebut, yang dapat dilihat pada
Gambar 5. berikut :

Pelaku Website Database

Gambar 3. Tampilan Website Online Yang Menjadi


Menampilkan
Target Pengujian Buka Website
Halaman

Pengujian dilakukan sama halnya pada website


sebelumnya dengan memasukan perintah SQL
Injection pada url website sehingga menjadi seperti
Insert Sql Injection Eksekusi Sql Respon Request
berikut ini: “http://www.grosirkebaya.net/?id=1
Tidak
Diperoleh hasil respon dari website lain yang Hasil Respon

menjadi target uji coba tampak seperti Gambar 4. Lanjutkan

dibawah ini: Lanjutkan Sql


Injection

Gambar 5. Activity Diagram

Berdasarkan gambar activity diagram di atas,


dapat dijelaskan bagi pengguna menjalankan aplikasi
dan juga respon sistem yang menghasilkan perintah
kemudian diinputkan dengan url.

Gambar 4. Tampilan Halaman Website Setelah


Dilakukan SQL Injection 3. Hasil & Pembahasan

Dalam pengujian yang ditargetkan pada sebuah Tampilan Halaman Website Uji Coba
aplikasi website lain memberikan hasil yang berbeda,
SQL Injection yang diterapkan pada website
rancangan penulis sama sekali tidak mendapatkan
respon. dengan beberapa kesimpulan keamanan yang
dapat dijelaskan sebagai berikut:
1. Aplikasi website tidak seluruhnya dapat dengan
mudah untuk dilakukan SQL Injection, hal ini Gambar 6. Tampilan Halaman Website Uji Coba
dikarenakan kemanan aplikasi website tersebut

Biltek Vol. 5, No. 021 Tahun 2015 – Sekolah Tinggi Teknik Harapan 3
Tampilan Halaman Isi Artikel

Gambar 12. Respon SQL Injection Informasi Isi


Gambar 7. Tampilan Halaman Isi Artikel Akses Login

Tampilan Respon SQL Injection Tahap Pertama Respon SQL Injection Informasi Isi Seluruh Data

ISI
TABE
L

Gambar 8. Tampilan Respon SQL Injection Tahap


Pertama Gambar 13. Respon SQL Injection Informasi Isi
Seluruh Data
Tampilan Respon SQL Injection Informasi Server
4. Kesimpulan dan Saran

Kesimpulan
Dari pembahasan yang telah penulis uraikan
pada BAB sebelumnya, penulis mengambilkan
kesimpulan antara lain sebagai berikut :
1. Meskipun tergolong teknik lama, tetapi
penggunaan SQL Injection untuk mendapatkan
Gambar 9. Respon SQL Injection Informasi
hak akses administrator terhadap suatu aplikasi
Server website masih populer. Hal ini dikarenakan tidak
sedikit aplikasi website yang membiarkan
Tampilan Respon SQL Injection Informasi Isi Tabel karakter-karakter asing diinputkan kedalam query
sehingga menghasilkan lubang atau celah
keamanan. Salah satu cara pengamanan aplikasi
website yang bisa dilakukan adalah dengan
menambahkan kode, dengan begitu bisa
dilakukan proteksi keamanan terhadap aplikasi
website yang dirancang sehingga memperkecil
Gambar 10. Respon SQL Injection Informasi Isi resiko kerusakan pada aplikasi karena ulah
Tabel penyusup yang menggunakan teknik SQL
Injection.
2. Injeksi SQL dapat dengan mudah diatasi dalam
kebanyakan bahasa pemrograman yang
menargetkan aplikasi web atau menawarkan
fungsi. Misalnya dalam DBI di Perl, metode
DBI::quote meloloskan karakter khusus. Dan
pada masa sekarang ini tidak sedikit juga aplikasi
website yang sudah menerapkan tingkat
Respon SQL Injection Informasi Field keamanan website yang cukup tinggi sehingga
teknik SQL Injection yang dilakukan tidak
mendapatkan respon.

Saran
Penetration testing keamanan web menggunakan
SQL Injection yang telah penulis lakukan masih jauh
dari kesempurnaan. Hal ini disebabkan karena
Gambar 11. Respon SQL Injection Informasi Field keterbatasan waktu dan pengetahuan penulis dalam
melakukannya. Adapun saran dari penulis untuk
Respon SQL Injection Informasi Isi Akses Login penelitian dan pengembangan selanjutnya adalah:
Biltek Vol. 5, No. 021 Tahun 2015 – Sekolah Tinggi Teknik Harapan 4
1. Bagi pengguna website yang ingin mendaftarkan Menggunakan Algoritma Rijndael. Jurnal
hosting, terlebih dahulu memeriksa ataupun EECCIS Vol. 7, No. 1
menganalisa hosting yang akan disewa, sebab [3] Widhiarso, Yoni. 2013. Rancang Bangun Media
dari penyewaan hosting tersebut juga dapat Promosi dan Pemesanan Online Bagas Motor
terjadi pembobolan ataupun perusakan terhadap Berbasis Web. Jurnal Seminar Riset
website. Unggulan Nasional Informatika dan
2. Dalam membangun sebuah website terlebih Komputer FTI UNSA 2013
dahulu memastikan tidak terladapat lubang pada [4] Winasis, T. A. 2001. Trik Membangun Situs
script yang menjadi celah untuk dirusak ataupun Web Gratis. Jakarta. PT Elex Media
dibobol website tersebut.Perlu ditambahkan fitur Komputindo
offline mode (modus offline), sehingga dalam [5] Anggreana, J. K. 2013. Simulasi Keamanan
keadaan koneksi internet buruk ataupun putus, Pada Aplikasi Web Dengan Web Application
user masih dapat memberikan persetujuan. Firewall. Jurnal Ilmiah Komputer dan
Persetujuan tersebut nantinya akan diproses ke Informatika (KOMPUTA)
ERP Server pada saat smartphone dalam keadaan
online (terjangkau internet).

Daftar Pustaka

[1] Ariyus, D. 2008. PENGANTAR ILMU


KRIPTOGRAFI Teori Analisa dan
Implementasi. Yogyakarta. ANDI
[2] Dharmawan, E. A. dan Sarosa, M. 2013.
Perlindungan Web Pada Login Sistem

Biltek Vol. 5, No. 021 Tahun 2015 – Sekolah Tinggi Teknik Harapan 5

Anda mungkin juga menyukai