Anda di halaman 1dari 16

LAPORAN

MATAKULIAH KEAMANAN JARINGAN

SQL INJECTION

Oleh :

Familano Widha Manggara Putra 2103171017

Moch. Akbar Ilham 2103171023

DEPARTEMEN TEKNIK INFORMATIKA DAN KOMPUTER

JURUSAN TEKNIK INFORMATIKA

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

2019
1. Lingkungan Eksperimen

1.1.Topologi Jaringan

Gambar 1.1 Topologi jaringan

Pada gambar 1.1 diprlihatkan bahwa dalam percobaan kali ini, kami

mnggunakan dua buah PC Virtual yang bergerak di IP berbeda. PC Kali berada

di IP 192.168.56.100 dan PC Korban terletak di 192.168.56.105.

1.2.Penerapan VM Target

1.2.1. Lakukan import OS VM Target ke Virtual Box

Gambar 1.2 Import OS Korban di Virtual Box

Gambar 1.2 merupakan proses impor OS ke VirtualBox. Setelan

untuk OS cukup menggunakan setelan standar.

1.2.2. Hidupkan OS target


Gambar 1.3 Os Korban Hidup

Gambar 1.3 memperlihatkan bahwa OS Korban bisa dihidupkan.

OS Korban berisikan layanan di port 80 yaitu http.

1.3.Penerapan VM Kali

1.3.1. Lakukan import OS VM Kali ke Virtual Box

Gambar 1.4 Impor OS Kali Linux di VirtualBox

Gambar 1.4 merupakan proses impor OS ke VirtualBox. Setelan

untuk OS cukup menggunakan setelan standar.


1.3.2. Hidupkan OS Korban

Gambar 1.3 Os Korban Hidup

Gambar 1.3 memperlihatkan bahwa OS Korban bisa dihidupkan.

OS Korban berisikan layanan di port 80 yaitu http.

2. Metode

a. Scanning

• Nmap

Nmap (Network Mapper) adalah sebuah aplikasi atau tool yang

berfungsi untuk melakukan port scanning. Nmap dibuat oleh Gordon

Lyon, atau lebih dikenal dengan nama Fyodor Vaskovich. Aplikasi ini

digunakan untuk meng-audit jaringan yang ada. Dengan menggunakan

tool ini, kita dapat melihat host yang aktif, port yang terbuka, Sistem

Operasi yang digunakan, dan feature-feature scanning lainnya.


b. Information Gathering

• Wapiti

Wapiti adalah alat open source yang memindai aplikasi web untuk

berbagai kerentanan termasuk injeksi basis data, pengungkapan file,

skrip lintas situs, serangan eksekusi perintah, injeksi XXE, dan injeksi

CRLF. Suntikan basis data mencakup injeksi SQL, XPath, PHP, ASP,

dan JSP. Serangan eksekusi perintah termasuk kerentanan eval (),

system (), dan passtru (). Selain mengidentifikasi kerentanan yang

disebutkan di atas, Wapiti juga melakukan beberapa tugas pengujian

penetrasi tambahan, seperti menemukan file yang berpotensi berbahaya

di server, menemukan kesalahan konfigurasi dalam file .httaccess yang

dapat menyebabkan pelanggaran keamanan, dan menemukan salinan

cadangan dari aplikasi di server yang bisa kompromi keamanan aplikasi

web tersebut jika penyerang berhasil mendapatkan file-file itu. Hasil

yang dikumpulkan secara otomatis disimpan dalam file html. Format file

lain yang didukung termasuk .XML, .JSON, dan .TXT.

c. Exploitation

• Sqlmap

Sqlmap adalah tools opensource yang mendeteksi dan melakukan

exploit pada bug SQL injection secara otomatis. dengan melakukan

serangan SQL injection seorang attacker dapat mengambil alih serta

memanipulasi sebuah database di dalam sebuah server.


3. Eksperimen

3.1.Scanning available IP dengan menggunakan Nmap

Gambar 3.1 Scanning Nmap

a. Perintah

Nmap -sT 192.168.56.1-254

b. Output

Gambar 3.2 Hasil Scanning

c. Deskripsi

Dari hasil scanning diatas didapati bahwa untuk IP yang sedang

available adalah IP 192.168.56.105. Scanning dilakukan dengan mtode

Full Open. Proses scanning dilakukan dari IP 192.168.56.1 hingga

192.168.56.254.
3.2.Mendapatkan celah dari SQL Target

Gambar 3.3 Scanning untuk celah

a. Perintah

Wapti -u http://192.168.56.105
b. Output

Gambar 3.4 Celah yang bisa dimasuki

c. Deskripsi

Setelah melakukan scanning dengan wapti kita akan mengetahui

celah – celah dari paramter yang diinputkan secara raw sql pada web.

Dengan mengetahui clah tersebut,kita bisa melakukan injeksi pada

bagian tersebut.
3.3.Mendapatkan informasi database apa saja dari target

Gambar 3.5 Mendapatkan informasi DB

a. Perintah

Sqlmap -u “http://192.168.56.105/?tampil=artikel_detail&id=83” --

dbs
b. Output

Gambar 3.6 Available DB

c. Deskripsi

Dengan menggunakan celah yang tadi kita dapatkan kita bisa

langsung melakukan scanning terhadap target. Scanning menghasilkan

output brupa backend yang digunakan korban dan juga dengan

menambahkan –dbs kita akan meendapatkan output berupa database

korban.

3.4.Mendapatkan informasi tabel dari database target

Gambar 3.7 Scanning Tabel


Gambar 3.8 Scanning Tabel

a. Perintah

Sqlmap -u “http://192.168.56.105/?tampil=artikel_detail&id=83” -

D ulmwp --table

b. Output

Gambar 3.9 Hasil Scanning

c. Deskripsi

Setelah mengetahui database apa saja yang hidup, kita bisa

melakukan scanning terhadapt tabel yang terdapat pada database

tersebut. Dengan menambahkan perintah -D dilanjutkan dengan nama


database dan –table, maka kita akan mngetahui tabel apa saja yang ada

di database korban.

3.5.Mengetahui isi pada tabel SQL Target

Gambar 3.10 Proses Mengetahui isi tabel


Gambar 3.11 Proses Mengetahui isi tabel

a. Perintah

Sqlmap -u “http://192.168.56.105/?tampil=artikel_detail&id=83” -

D ulmwp -T user --dump

b. Output

c. Deskripsi

Setelah mengetahui tabel apa saja yang terdapat di databas

tersebut, maka kita bisa meengetahui informasi yang terdapat dalam

masing – masing tabel dengan menambahkan -T nama tabel. Kita bsa

mendapatkan data - data yang dirasa penting dan krusial.


4. Hardening

a. Hardening terhadap enkripsi password

i. Database side

Gambar 4.1 Pengubahan format enkripsi

Penguatan halaman admin bisa dilakukan dengan menggunakan

enkripsi terhadap password. Dalam web service yang kami serang,

mereka menggunakan tipe enkripsi md5 yang sudah terdapat banyak

layanan decryptor terhadap sistem enkripsi tersebut.

Dikarenakan hal tersebut, kami merubah tipe enkripsi yang semula

md5 menjadi sha1.

Gambar 4.2 Password dengan enkripsi sha1

Isi password juga harus dirubah sesuai dengan tipe enkripsi yang

digunakan, dan berikut merupakan hasil enkripsi dari password website

terkait.
ii. Web side

Gambar 4.3 Login page admin

Enkripsi dilakukan saat melakukan input terhadap password

sehingga, dalam halaman login page dari admin juga harus dirubah

menjadi sha1.

b. Hardening terhadap sql statement web service

Gambar 4.4 Source code web


Hardening dilakukan dengan merubah sql_query dari yang seemula

langsung melakukan query di perintah koneksi database, menjadi query dengan

parameter yang disediakan.

Dalam kasus diatas, kami memasukan sql statement kee dalam string

updateArtikel yang nantinya digunakan untuk query.

c. Tes ulang untuk SQL Injection

Gambar 4.5 Wapiti test

Dalam tes diatas dapat dilihat bahwa celah yang semula berjumlah 36,

menurun menjadi 23. Hal ini dapat membuktikan hardening berjalan dengan

baik. Untuk sisa 23 celah, kita perlu mencari ulang untuk sql statement yang

dilakukan secara raw.

Anda mungkin juga menyukai