Anda di halaman 1dari 8

UNIVERSITAS MUHAMMADIYAH SIDOARJO

FAKULTAS SAINS DAN TEKNOLOGI


PROGRAM STUDI TEKNIK INFORMATIKA
2022

Nama : Lailatul Suroiyah


NIM : 191080200010
Kelas : 7B3
Mata kuliah : Ethical Hacking
Dosen Pengampu : Sukma Aji, S.T, M.Kom.

QUIZ 2 (SQL Injection Attack)


SQL injection adalah salah satu penyerangan yang memanfaatkan logika SQL untuk bisa
mengakses database di website yang sistem keamanannya kurang diperhatikan. Dalam projek
kali ini saya menggunakan website lokal yang sudah saya buat sebelumnya beserta databasenya.
Tutorial ini saya dapatkan dari youtube dengan link
https://www.youtube.com/watch?v=qbwhbfdVg3E&t=71s
Berikut untuk laman masuk website
Terdapat beberapa cara untuk dapat memiliki hak akses masuk ke dalam website
Yang pertama ketika kita mengetahui username-nya saja maka kita dapat menambah string untuk
membuat inputan kita dapat diterima database.
Berikut daftar user di database

Diasusmsikan bahwa saya mengetahui user yang pertama, saya memasukkan nik tersebut ke
form masuk dan untuk bisa masuk maka saya menambahkan string petik dan double – diikuti
spasi sehingga seperti berikut dengan pengisian password yang acak
Pertama kita uji di database

Kemudian hasilnya seperti berikut

Dengan menambahkan string tersebut menjadikan command setelah double strip menjadi
komentar dilihat dari perubahan warnanya, sehingga SQL membaca command nik saja. Setelah
itu kita uji di website dengan memasukkan inputan sebelumnya.
Dari inputan tersebut didapatkan hasil

Halaman utama website sudah dapat diakses, dengan nama user yang ditampilkan sesusai
inputan.
Cara yang pertama sudah berhasil, selanjutnya bagaimana jika kita tidak mengetahui sama sekali
username maupun passwordnya. Kita bisa menggunakan logika OR yang mana statementnya jika
salah satu salah maka tetap dianggap benar atau 0 OR 1 hasilnya 1. Kita bisa terapkan logika
tersebut di command SQL, kita buat tambahan yang pasti bernilai benar contohnya 1=1. Berikut
penambahan command pada SQL

Maka hasilnya

Didapatkan semua record dari command tersebut, namun jika dimasukkan kedalam form masuk
website seperti berikut
Didapatkan hasil failed atau gagal, karena hak akses untuk masuk didapatkan untuk satu user
saja, untuk itu jika mengingikan keluaran satu user dapat menambahkan command berikut

Didapatkan hasil seperti berikut

Setelah itu kita uji coba di websitenya

Didapatkan hasil sebagai berikut


Success.. Kita dapat memiliki hak akses masuk ke dalam website

Setelah mengetahui cara menginjeksi website menggunakan kelemahan SQL, berikut terdapat
cara untuk mencegah hal tersebut dapat terjadi
Yang pertama jangan langsung memasukkan variabel mentah ke command SQL tanpa adanya
filtering seperti berikut

Di variabel $nik dan $password dapat ditambahkan filtering berupa mysqli_real_escape_string


dengan tujuan mengabaikan string karakter seperti petik dan sebagainya. Penggunaannya seperti
berikut

Selanjutnya kita uji dilaman websitenya


Dari pengujian tersebut kita sudah tidak bisa lagi menginjeksi website dengan penambahan string
berupa petik dan kawannya.
Cara kedua yakni menggunakan prepared statement
Penggunaannya seperti berikut

Sehingga bisa kita uji kembali masuk ke websitenya dengan username dan password yang benar

Anda mungkin juga menyukai