laporan proyek akhir web database sql injection penetration … · 2020. 9. 1. · summary. final...

26
Laporan Proyek Akhir Web Database Sql Injection Penetration Testing Disusun oleh : Nama : Deny Setiawan NIM : 14.3.00016 Program Studi : TeknikInformatika ProgramPendidikan : Diploma III SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER SINAR NUSANTARASURAKARTA 2017

Upload: others

Post on 28-Jul-2021

7 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

Laporan Proyek Akhir

Web Database Sql Injection Penetration Testing

Disusun oleh :

Nama : Deny Setiawan

NIM : 14.3.00016

Program Studi : TeknikInformatika

ProgramPendidikan : Diploma III

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

SINAR NUSANTARASURAKARTA

2017

Page 2: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

Laporan Proyek Akhir

Laporan ini disusun guna memenuhi salah satu syarat untuk menyelesaikan

jenjang pendidikan Diploma III Pada STMIK Sinar Nusantara Surakarta

Disusun oleh :

Nama : Deny Setiawan

NIM : 14.3.00016

Program Studi : TeknikInformatika

ProgramPendidikan : Diploma III

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

SINAR NUSANTARASURAKARTA

2017

I

Page 3: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held
Page 4: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held
Page 5: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held
Page 6: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held
Page 7: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

MOTTO

Barang siapa keluar mencari ilmu maka dia berada di jalan Allah

Man JaddaWaJadda

Selalu ada Allah untuk orang yang bersabar

Tidak ada masalah yang tidak bisa diselesaikan selama ada komitmen

untuk menyelesaikannya

Ilmu pengetahuan tanpa agama lumpuh, agama tanpa ilmu pengetahuan

buta (Albert Einstein)

Perfectness is the first thing I always think when I do a job

V

Page 8: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

PERSEMBAHAN

Karya ini kupersembahkan untuk :

Allah SWT yang senantiasa member kesabaran, kekuatan, kasih sayang,

dan kemudahan pada hamba-Nya.

Orang tua tercinta yang selalu memberikan semangat dan doa.

Kakak serta adik tercinta yang selalu mau menolong jika ada kesulitan.

Teman-teman komunitas peretas yang selalu memberikan dorongan di

saat-saat putus asa.

Teman-teman kelas TI D3 angkatan 2014

Para dosen dan pembimbing yang telah memberikan ilmu dan

pengetahuannya kepada semua mahasiswa.

Seluruh pihak yang ikut membantu dalam menyelesaikan penulisan tugas

akhir ini.

Vi

Page 9: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

RINGKASAN

Laporan Proyek Akhir dengan judul “Web Database Sql Injection

Penetration Testing” ini telah dilaksanakan pada bulan September 2016 sampai

dengan Februari 2017.Tujuan Proyek Akhir ini adalah untuk melakukan penetrasi

testing pada website yang terdapat celah lubang keamanan.

Laporan Proyek Akhir ini disusun menggunakan metode pengumpulan

data.Serta metode observasi. Studi kepustakaan dilakukan dengan penelitian

kepustakaan yang relevan dengan masalah tersebut.

Hasil penelitian ini adalah aplikasi dapat menampilkan informasi

mengenai adanya celah atau bug pada web sehingga diharapkan membuat web

admin lebih waspada lagi terhadap serangan sql injeksi.

vii

Page 10: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

SUMMARY

Final Project titled “Web Database Sql Injection Penetration Testing” has

been held on September 2016 until February 2017.The purpose of Final Project is

for doing penetration testing on website which has vulnerability.

Final Project is built using data collection methods abd observation

methods. Literature study conducted by the research literature relevant to the

issue.

The result of it is an application that can give information about web

vulnerability so that web administrator will be more aware to the sql injection

attacking.

viii

Page 11: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

KATA PENGANTAR

Segala puji hanya milik Allah SWT, yang telah memberikan rahmat,

karunia, dan hidayah-Nya sehingga penulis dapat menyelesaikan Laporan Proyek

Akhir ini dengan judul “WEB DATABASE SQL INJECTION PENETRATION

TESTING”

Laporan Proyek Akhir ini merupakan salah satu syarat memperoleh gelar

Ahli Madya Komputer pada jurusan Teknik Informatika STMIK Sinar Nusantara

Surakarta.

Atas tersusunnya Laporan Proyek Akhir ini, penulis tidak lupa mengucapkan

terima kasih kepada :

1. Allah SWT

2. Ibu Kumaratih Sandradewi, S.P, M.Kom, selaku Ketua STMIK Sinar

Nusantara Surakarta

3. Bapak Hendro Wijayanto, M.Kom, selaku pembimbing.

4. Bapak Didik Nugroho, M.Kom, selaku Ketua Jurusan Teknik Informatika.

5. Orang tua penulis yang telah memberikan semangat, motivasi, dan doa saat

penelitian dan penyusunan Proyek Akhir ini

6. Teman-teman Teknik Informatika D3 angkatan 2014, yang telah memberikan

banyak bantuan kepada penulis

Penulis menyadari bahwa Laporan Proyek Akhir ini jauhdari kata sempurna,

oleh karena itu kritik dan saran yang membangun akan selalu penulis terima

Page 12: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

dengan senanghati. Penulis berharap semoga Laporan Proyek Akhir ini dapat

bermanfaat bagi seluruh masyarakat.

Surakarta, Februari 2017

Penulis

Page 13: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

DAFTAR ISI

HALAMAN JUDUL .................................................................................................i

HALAMAN PERNYATAAN ................................................................................ ii

HALAMAN PENGESAHAN ................................................................................ iii

HALAMAN PERSETUJUAN ................................................................................iv

HALAMAN MOTTO .............................................................................................. v

HALAMAN PERSEMBAHAN..............................................................................vi

HALAMAN RINGKASAN .................................................................................. vii

SUMMARY ......................................................................................................... viii

KATA PENGANTAR ............................................................................................ix

DAFTAR ISI ...........................................................................................................xi

DAFTAR GAMBAR ......................................................................................... xviii

DAFTAR TABEL .................................................................................................. xx

BAB I PENDAHULUAN

1.1 LatarBelakang ........................................................................................... 1

1.2 PerumusanMasalah ................................................................................... 2

1.3 PembatasanMasalah .................................................................................. 2

1.4 TujuanProyekAkhir.............................................................................. 3

1.5 ManfaatProyekAkhir............................................................................ 3

1.6 MetodePenelitian ................................................................................. 4

Page 14: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

1.7 SistematikaPenulisan ........................................................................... 6

BAB II LANDASAN TEORI

2.1 Pengertian Aplikasi ............................................................................ 10

2.2 Xampp ................................................................................................ 10

2.2.1 Tujuan SQL Injection Pentesting ............................................. 13

2.3 Pengertian SQL Injection ................................................................... 14

2.4 FlowChart .......................................................................................... 15

BAB III TINJAUAN UMUM

3.1 SQL Injection ..................................................................................... 19

3.2 Protokol HTTP ................................................................................... 20

3.3 Algoritma SQL-Injection Free Secure ............................................... 20

3.4 Fitur System ....................................................................................... 22

3.4.1 Menerima HTTP Request dari Client ...................................... 22

3.4.2 Desain System………………………………………………..23

3.4.3 Mencegah Serangan SQL Injection ......................................... 25

3.4.4 Menerima HTTP Response dari Web Server .......................... 26

3.4.5 Implementasi ............................................................................ 27

3.5 Uji Coba Dan Evaluasi....................................................................... 30

3.6 Uji Coba Pendeteksian Serangan SQL Injection ............................... 31

3.6.1 Uji Coba Pencegahan Serangan SQl Injection……………...32

3.6.2 Uji Coba Penerimaan HTTP Response dari Web Server…...33

3.6.3 Uji Coba SQlMap…………………………………………...36

Page 15: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

3.6.4 Uji Coba Performa…………………………………………..38

BAB IV IMPLEMENTASI

4.1 Perancangan Konsep .......................................................................... 45

4.2 Persiapan Pembuatan ......................................................................... 45

4.2.1 Tahap Pra Produksi .................................................................. 45

4.3 Perancangan Desain ........................................................................... 45

4.3.1 Desain Xampp ............................................................................ 46

4.3.2 Desain local webserver............................................................... 46

4.3.3 Desain tool pblind.py………………………………………….47

4.3.4 Desain tool sqlmap.py…………………………………………47

4.3.5 Desain tool dbpwaudit.sh……………………………………...48

4.3.6 Desain directory administrator………………………………...48

4.4 Tahap Proses Pentesting dan injeksi .................................................... 49

4.4.1 Cari Colomn yang memiliki celah injection…………………..54

4.4.2 Gunakan perintah union select………………………………...60

4.4.3 Asal usul angka ajaib dan fungsi perintah union select……….61

4.4.4 Cari informasi database target………………………………...63

4.4.5 Mendapatkan nama table……………………………………...67

4.5 Mendapatkan nama colomns…………………………………………68

4.6 Mendapatkan username dan password……………………………….69

4.7 Sql injection automatically dengan sqlmap.py……………………….71

4.7.1 AutoSqlMapping …………………………………………….75

4.7.2 AutoSqlMap-GUI …………………………………………..78

Page 16: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

4.8 Tahap terakhir sql injeksi…………………………………………….79

4.9 Pencegahan Terhadap Serangan Sql Injection ………………………81

4.10 Pengujian Aplikasi ………………………………………………….82

BAB V PEMBAHASAN

5.1 Kesimpulan ........................................................................................... 90

5.2 Saran ..................................................................................................... 90

DAFTAR PUSTAKA

LAMPIRAN

Page 17: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held
Page 18: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

79

4.8 Tahap terakhir sql injeksi

Setelah berhasil mendapatkan username dan password langkah selanjutnya adalah

mencari tahu letak direktori dari cpanel atau letak dari login admin.Penulis

menggunakan findadmin.pl yang di coding dengan menggunakan bahasa

pemrograman perl sehingga kita bisa menemukan letak direktori login yaitu:

Gambar 4.37 Tampilan Menu findadmin.pl

Page 19: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

80

Gambar 4.38 Tampilan ketika melakukan bruteforce attack

http://localhost/injector/administrator/

Gambar 4.39 Tampilan Menu Administrator

Page 20: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

81

Setelah login kita bisa melakukan apa saja.Kita bisa mengedit,menghapus atau

menambahi isi dari website tersebut.

4.9 Pencegahan terhadap serangan sql injection

Ada banyak cara untuk melakukan pencegahan terhadap adanya serangan

sql injection diantaranya dengan melakukan filtering pada parameter id.Penulis

akan membuat sebuah file php yang bertujuan mencegah adanya serangan sql

injection.File tersebut oleh penulis diberi nama cegah-sql.php.Ketika dimasukkan

ke file index utama maka secara otomatis attacker tidak bisa melakukan hacking

sql injection.

Gambar 4.40 Tampilan file cegah-sql.php

Page 21: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

82

Gambar 4.41 Tampilan website yang sudah difiter

4.10 Pengujian Aplikasi

Pengujian berfungsi untuk melihat sejauh mana aplikasi berjalan.

Dalam pengujian ini penulis menggunakan teknik kuesioner. Dengan

teknik ini akan dilakukan evaluasi aplikasi sebelum dan sesudah uji coba

aplikasi pada responden.

Pengujian diberikan kepada 25 orang yaitu komunitas hacker atau

peretas, dengan pertanyaan sebagai berikut.

a. Apakah tampilan dari aplikasi ini menarik?

Jawaban:

Page 22: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

83

TidakMenarik

KurangMenarik

CukupMenarik

Menarik

SangatMenarik

b. Apakah aplikasi ini mudah digunakan?

TidakMudah

SangatSulit

Sulit

CukupMudah

Mudah

SangatMudah

c. Apakah dengan aplikasi ini memudahkan Anda dalam

melakukan pengamanan celah sql injection?

SangatSulit

Sulit

CukupMudah

Mudah

SangatMudah

d. Apakah informasi dari aplikasi ini bermanfaat?

Tidak Bermanfaat

Kurang Bermafaat

Cukup Bermanfaat

Page 23: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

84

Bermanfaat

Sangat Bermanfaat

e. Apakah keakuratan aplikasi ini sudah tepat?

Tidak Tepat

Kurang Tepat

Cukup Tepat

Tepat

Sangat Tepat

Berdasarkan kuesioner diatas, dicari hasil presentase masing-

masing jawaban dengan rumus:

A : Hasil Perhitungan

B. Banyaknya jawaban

C. Jumlah Responden

Berikut ini hasil perhitungan presentase yang diperoleh dari

penyebaran kuesioner terhadap 25 responden komunitas hacker.

1. Pengolahan untuk pertanyaan pertama

KategoriJawaban 1 2 3 4 5

Responden 0 0 11 14 0

Hasil 0 0 44% 56% 0

A = B/C * 100%

Page 24: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

85

Tabel 4.1 Tabel Pengolahan Pertanyaan Pertama

Berdasarkan table diatas, dapat dilihat bahwa 50% responden

menyatakan bahwa tampilan aplikasi ini menarik, dan 45%

menyatakan cukup menarik.

2. Pengolahan untuk pertanyaan kedua

KategoriJawaban 1 2 3 4 5

Responden 0 0 9 11 5

Hasil 0 0 36% 44% 20%

Tabel 4.2 Tabel Pengolahan Pertanyaan Kedua

Dari table diatas, dapat dilihat bahwa 36% menyatakan bahwa

aplikasi mudah digunakan, 44% menyatakan cukup mudah digunakan,

dan 20% menyatakan sangat mudah digunakan.

3. Pengolahan untuk pertanyaan ketiga

KategoriJawaban 1 2 3 4 5

Responden 0 0 4 18 3

Hasil 0 0 16% 72% 12%

Tabel 4.3 Tabel Pengolahan Pertanyaan Ketiga

Dari table diatas dapat dilihat bahwa 16% menyatakan bahwa

dengan bantuan aplikasi ini memudahkan untuk mencari informasi,

72% menyatakan cukup memudahkan, dan 12% menyatakan sangat

memudahkan.

Page 25: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

86

4. Pengolahanuntukpertanyaankeempat

KategoriJawaban 1 2 3 4 5

Responden 0 0 4 9 12

Hasil 0 0 16% 36% 48%

Tabel 4.4 Tabel Pengolahan Pertanyaan Keempat

Dari table diatas, dapat dilihat bahwa 16% menyatakan aplikasi

bermanfaat, 36% menyatakan cukup bermanfaat, dan 48%

menyatakan sangat bermanfaat.

5. Pengolahan untuk pertanyaan kelima

KategoriJawaban 1 2 3 4 5

Responden 0 0 4 12 9

Hasil 0 0 16% 48% 36%

Tabel 4.5 Tabel Pengolahan Pertanyaan Kelima

Dari table diatas, dapat dilihat bahwa 16% menyatakan posisi

lokasi dalam aplikasi akurat, 48% menyatakan cukup akurat, dan 36%

menyatakan sangat akurat.

Page 26: Laporan Proyek Akhir Web Database Sql Injection Penetration … · 2020. 9. 1. · SUMMARY. Final Project titled “Web Database Sql Injection Penetration Testing” has been held

87