1bab iii analisis dan perancangan...

19
15 1 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem Sistem Server Config merupakan sebuah metode yang memisahkan konfigurasi basis data sebuah website kedalam server terpisah yang dihubungkan menggunakan mekanisme representational state transfer (REST) dan JSON Web Token (JWT) sebagai autentikasinya. Penelitian ini bertujuan untuk membuat sistem keamanan yang mengimplementasikan Server Config menggunakan token JWT terhadap konfigurasi website. Sehingga sistem keamanan yang dibuat untuk melindungi konfigurasi website dari serangan symlink. 3.1.1 Analisis Masalah Shared web hosting bekerja dengan menempatkan banyak aplikasi web kedalam sebuah server tunggal, namun tidak semua aplikasi web memiliki keamanan yang kuat. Sebagian besar aplikasi web merupakan content managemenet system (CMS) yang telah disediakan oleh penyedia layanan web hosting, tetapi ketika salah satu aplikasi web berhasil disusupi oleh penyerang, maka konfigurasi basis data pada aplikasi lain pada server yang sama mudah dibaca. Hal ini memungkinkan penyerang menggunakan informasi username dan password yang terdapat didalam konfigurasi tersebut untuk membaca, merubah atau menghapus basis data sehingga dapat mengambil alih aplikasi web yang lain atau mengambil informasi berharga didalam basis data. Permasalahan tersebut mendasari hipotesa pada penelitian ini, jika konfigurasi aplikasi web dalam sebuah web dipisah dengan aplikasi didalam server yang berbeda, memungkinkan penyerang tidak dapat membaca atau memanfaatkan informasi username dan password yang terdapat pada konfigurasi aplikasi web. Berdasarkan hipotesa tersebut, dalam penelitian ini diajukan mekanisme pemisahan file konfigurasi dengan aplikasi web kedalam server yang berbeda, konsep ini berdasarkan mekanisme Demilitarized Zone (DMZ) yaitu untuk melindungi sistem dengan cara memisahkan beberapa jaringan kedalam zona yang mempunyai Firewall antar zona [24]. Konsep DMZ tersebut seperti tertera pada Gambar 3.1.

Upload: others

Post on 15-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

15

1 BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Sistem Server Config merupakan sebuah metode yang memisahkan

konfigurasi basis data sebuah website kedalam server terpisah yang dihubungkan

menggunakan mekanisme representational state transfer (REST) dan JSON Web

Token (JWT) sebagai autentikasinya. Penelitian ini bertujuan untuk membuat

sistem keamanan yang mengimplementasikan Server Config menggunakan token

JWT terhadap konfigurasi website. Sehingga sistem keamanan yang dibuat untuk

melindungi konfigurasi website dari serangan symlink.

3.1.1 Analisis Masalah

Shared web hosting bekerja dengan menempatkan banyak aplikasi web

kedalam sebuah server tunggal, namun tidak semua aplikasi web memiliki

keamanan yang kuat. Sebagian besar aplikasi web merupakan content

managemenet system (CMS) yang telah disediakan oleh penyedia layanan web

hosting, tetapi ketika salah satu aplikasi web berhasil disusupi oleh penyerang,

maka konfigurasi basis data pada aplikasi lain pada server yang sama mudah

dibaca. Hal ini memungkinkan penyerang menggunakan informasi username dan

password yang terdapat didalam konfigurasi tersebut untuk membaca, merubah

atau menghapus basis data sehingga dapat mengambil alih aplikasi web yang lain

atau mengambil informasi berharga didalam basis data.

Permasalahan tersebut mendasari hipotesa pada penelitian ini, jika

konfigurasi aplikasi web dalam sebuah web dipisah dengan aplikasi didalam

server yang berbeda, memungkinkan penyerang tidak dapat membaca atau

memanfaatkan informasi username dan password yang terdapat pada konfigurasi

aplikasi web.

Berdasarkan hipotesa tersebut, dalam penelitian ini diajukan mekanisme

pemisahan file konfigurasi dengan aplikasi web kedalam server yang berbeda,

konsep ini berdasarkan mekanisme Demilitarized Zone (DMZ) yaitu untuk

melindungi sistem dengan cara memisahkan beberapa jaringan kedalam zona yang

mempunyai Firewall antar zona [24]. Konsep DMZ tersebut seperti tertera pada

Gambar 3.1.

Page 2: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

16

Proses autentikasi terhadap token website client mempunyai tujuan untuk

memastikan apakah sesuatu yang datang (request) sesuai dengan yang diakui.

Dalam mekanisme ini Server Config akan memverifikasi apakah yang melakukan

request benar-benar pengguna yang berhak. Dalam melakukan proses autentikasi,

standar JWT digunakan untuk memverifikasi sebuah request. Pada tahapan

mekanisme diatas, aplikasi web mempunyai konfigurasi tersendiri yang disebut

token, dibuat untuk mengakses konfigurasi basis data yang terletak didalam server

berbeda sebagai penghubung untuk bisa mengakses kedalam basis data.

Peletakkan konfigurasi website kedalam server yang berbeda diharapkan

dapat membuat penyerang tidak bisa langsung membaca konfigurasi yang terdapat

dalam sebuah file konfigurasi web. File konfigurasi website hanya memuat token

untuk membuat permintaan konfigurasi basis data yang telah terenkripsi dengan

key yang hanya bisa didapatkan oleh pengguna yang sah. Penyerang yang

mendapatkan token dengan user berbeda mendapatkan key yang tidak bisa

digunakan untuk membuka konfigurasi basis data dari server[25].

3.1.2 Analisa Kebutuhan non Fungsional

1. Sistem Operasi

Sistem operasi yang digunakan adalah Ubuntu yang merupakan salah satu

distro Linux berbasiskan Debian. Versi Ubuntu yang digunakan adalah Ubuntu

14.04 Server dan Ubuntu 14.04 Desktop yang menggunakan Kernel Linux 4.4.

Gambar 3.1 Sistem yang berbeda level keamanannya diletakkan kedalam zona keamanan yang

terpisah

Page 3: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

17

2. Web Server Dan Basis Data

Aplikasi web server yang digunakan adalah Apache. Sedangkan

manajemen server yang digunakan adalah VestaCP. VestaCP merupakan open

source web hosting control panel yang digunakan untuk mengatur website, EMail,

basis data dan DNS yang sudah terintegrasi didalamnya. Basis data yang

digunakan adalah MySQL dan PHPMyadmin sebagai managemen basis datanya.

3. Bahasa Pemrograman

Bahasa pemrograman yang digunakan adalah PHP. PHP adalah bahasa

pemrograman server-side untuk aplikasi Web. Keunggulan bahasa pemrograman

PHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan

kompilasi. Sedangkan PHP framework yang digunakan adalah Codeigniter.

Framework digunakan untuk mempercepat pembuatan aplikasi dan memberikan

keamanan yang lebih daripada menulis ulang aplikasi dari awal.

3.2 Perancangan Sistem

Perancangan sistem terbagi menjadi 2 rancangan sistem, yaitu rancangan

sistem pengamanan konfigurasi website menggunakan JSON Web Token dan

rancangan aplikasi Server Config. Rancangan antarmuka merupakan bagian dari

rancangan sistem aplikasi Server Config yang digunakan untuk memanajemen

aplikasi dan pengguna.

3.2.1 Rancangan Sistem

Rancangan sistem pengamanan konfigurasi website menggunakan JSON

Web Token dari serangan symlink terbagi menjadi 3 sub sistem, yaitu Sistem

Pengamanan Konfigurasi, Sistem REST API, dan Sistem Autentikasi. Gambar

3.2 menunjukkan rancangan sistem yang dibuat. Berikut merupakan penjelasan 3

sub sistem yang digunakan.

1. Sistem Pengamanan Konfigurasi

File konfigurasi website merupakan file yang berisi informasi konfigurasi

basis data yang digunakan oleh Content Management System untuk memperoleh

akses kedalam basis data. Informasi tersebut berupa database host, database

username, database password, dan database name. Informasi sensitif tersebut

diletakkan kedalam server terpisah yang dinamakan Server Config, kemudian

Page 4: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

18

digantikan oleh token JWT pada file konfigurasi website tersebut.

Standar JSON Web Token pada dasarnya digunakan untuk memvalidasi

sebuah request tertentu yang dikirim oleh pengguna yang sah. Token yang dicuri

dapat dipakai oleh penyerang juga, sehingga perlu mekanisme yang mengenkripsi

data konfigurasi sebelum dikirim dan mekanisme dekripsi agar konfigurasi yang

diterima tidak dapat dibaca oleh penyerang. Proses validasi token dan enkripsi

konfigurasi basis data dilakukan oleh Server Config yang akan dibahas pada

sistem REST API.

Sistem enkripsi token menggunakan library libsodium yang bekerja

dengan berbagai algoritma tertentu untuk menghasilkan teks terenkripsi yang

selalu berubah-ubah nilainya. Pada konfigurasi website, proses enkripsi dilakukan

saat instalasi yaitu untuk mengamankan pengiriman key dari website menuju

Gambar 3.2 Rancangan Sistem

Page 5: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

19

Server Config, sedangkan proses dekripsi dilakukan setiap user mengakses web

untuk mendekripsi nilai konfigurasi yang diberikan oleh Server Config. Sebelum

token didapatkan, terlebih dahulu dilakukan instalasi pada aplikasi Server Config.

Instalasi diperlukan agar Server Config memiliki key untuk melakukan enkripsi

maupun dekripsi. Seperti pada Gambar 3.3 yangmerupakan diagram alir instalasi

Server Config dan Gambar 3.4 merupakan diagram alir dari proses mendapatkan

konfigurasi website dari Server Config.

Kunci atau key yang digunakan pada proses enkripsi dan dekripsi

didapatkan dari aplikasi Statickey. Statickey merupakan aplikasi yang dibuat dari

bahasa C untuk menghasilkan keluaran berupa angka acak yang nilainya tetap

apabila diakses oleh user dan direktori tertentu. Cara kerjanya adalah dengan

menjalankan pseudo random dengan nilai seed yang statis sehingga nilainya akan

Gambar 3.3 Diagram alir instalasi Server Config

Page 6: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

20

tetap sama selama seed tidak berubah seperti yang tertera pada Gambar 3.5.

Gambar 3.5 Diagram pseduo random generator

Gambar 3.4 Diagram alir get Server Config

Page 7: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

21

2. Sistem REST API

Sistem REST API digunakan website untuk berkomunikasi dengan aplikasi

Server Config. Sistem REST API melakukan dekripsi token dan enkripsi data

konfigurasi website serta melakukan dekripsi key pada saat instalasi. Fungsi

config_post melakukan dekripsi token dan enkripsi data konfigurasi web,

sedangkan fungsi install_post melakukan dekripsi key dan memasukannya

kedalam basis data. Gambar 3.6 menunjukkan diagram alir pada fungsi

install_post dan Gambar 3.7 merupakan digram alir pada fungsi config_post.

Gambar 3.6 Diagram alir fungsi install_post pada REST API

Page 8: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

22

3. Sistem Autentikasi

Sistem autentikasi menggunakan standar JWT untuk melakukan validasi

terhadap token yang dikirim, ekstraksi konten didalam JWT, serta memeriksa

Gambar 3.7 Diagram alir config_post pada REST API

Page 9: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

23

payload token berdasarkan signature token. Gambar 3.8 merupakan diagram alir

dari sistem autentikasi JWT.

3.2.2 Rancangan Aplikasi

1. Use Case Diagram

Pengguna biasa hanya dapat melakukan manajemen aplikasi yaitu

menambahkan aplikasi, menambahkan token, mengubah token, serta menghapus

token. Pengguna juga dapat menonaktifkan token serta mengubah profil pengguna

seperti username dan password. Gambar 3.9 merupakan use case diagram

aplikasi Server Config.

Gambar 3.8 Sistem autentikasi pada standar JWT

Page 10: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

24

2. Diagram Alir Insert App

Pada insert app data yang dimasukkan adalah nama aplikasi dan CMS yang

akan digunakan. Kemudian sistem melakukan generate random app_key dan

menampilkan konfigurasi website untuk melakukan instalasi pada website

kedalam sistem. Gambar 3.10 merupakan diagram alir proses insert app pada

aplikasi Server Config.

Gambar 3.9 Use Case diagram aplikasi Server Config

Gambar 3.10 Diagram alir insert app

Page 11: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

25

3. Diagram Alir Add Token

Form Add token memasukkan konfigurasi basis data website yaitu

database host, database name, database username dan database password yang

digunakan oleh website tersebut untuk berkomunikasi dengan basis data server.

Gambar 3.11 merupakan diagram alir proses add token pada aplikasi Server

Config.

4. Diagram Alir Edit Token

Pengubahan token dilakukan dengan mengubah konfigurasi website

sebelumnya dengan variabel baru konfigurasi basis data. Kemudian dilakukan

generate token JWT baru dan membuat ulang konfigurasi website. Gambar 3.12

merupakan diagram alir proses edit token pada aplikasi Server Config.

Gambar 3.11 Diagram alir add token

Page 12: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

26

5. Diagram Alir Tambah User

Menambahkan pengguna atau user hanya dapat dilakukan oleh pengguna

berlevel admin. Data yang harus dimasukkan adalah nama pengguna, username,

password, Email, level pengguna dan terakhir admin bisa langsung mengaktifkan

pengguna tersebut atau tidak. Gambar 3.13 merupakan diagram alir proses

tambah user pada aplikasi Server Config.

Gambar 3.13 Diagram alir tambah user

Gambar 3.12 Diagram alir edit token

Page 13: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

27

3.2.3 Rancangan Antarmuka

Berikut merupakan rancangan antarmuka aplikasi Server Config yang

digunakan untuk memanajemen aplikasi dan pengguna.

1. Dashboard

Halaman utama atau dashboard memuat informasi list aplikasi terdaftar,

informasi jumlah aplikasi terdaftar dan aplikasi belum aktif. Gambar 3.14

merupakan rancangan antarmuka dari halaman utama aplikasi Server Config.

2. App

Halaman app memuat daftar aplikasi yang terdaftar, menambah,

mengubah, menghapus, dan menonaktifkan aplikasi serta melihat konfigurasi

token untuk web. Gambar 3.15 adalah rancangan antarmuka dari halaman App

yang akan dibuat.

3. User

Halaman user digunakan oleh administrator untuk manajemen pengguna

aplikasi yaitu menambah, menonaktifkan dan menghapus pengguna dari daftar.

Sedangkan pengguna biasa digunakan untuk mengubah profil dan password

pengguna. Rancangan antarmuka dari halaman User aplikasi seperti tertera pada

Gambar 3.16.

Gambar 3.14 Rancangan antarmuka halaman utama aplikasi

Page 14: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

28

3.3 Metode Pengujian dan Analisis Hasil Uji Coba

Pengujian dilakukan untuk menganalisis keamanan dan performa dari

metode yang diimplementasikan kedalam sistem.

3.3.1 Pengujian Performa

Pengujian performa dilakukan untuk mengetahui performa web sebelum

Gambar 3.15 Rancangan antarmuka halaman App

Gambar 3.16 Rancangan antarmuka halaman User

Page 15: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

29

dan sesudah implementasi dari metode diterapkan. Sebagai perbandingan,

pengujian juga dilakukan setelah menggunakan PHP file cache yang menyimpan

konfigurasi dari Server Config kedalam lokal file dan menggunakan PHP

memcached yang menyimpan konfigurasi kedalam cache memori. Adapun

pengujian yang dilakukan adalah sebagai berikut:

Pengujian penggunaan sumber daya memori dan CPU.

Pengukuran throuhput yaitu bandwidth aktual yang diterima oleh klien .

Pengukuran rata-rata latency ketika diakses berkala.

Pengujian performa dilakukan dengan menggunakan aplikasi JMeter.

Untuk mendapatkan informasi CPU dan memori pada server yang sedang diuji

coba diperlukan plugin Servers Performance Monitoring pada JMeter. Plugin

tersebut berkerja dengan menempatkan aplikasi server agent pada server yang

memberikan informasi CPU load dan memori server kepada aplikasi JMeter.

Skenario uji coba dilakukan untuk mengetahui seberapa besar beban memori,

CPU, dan throughput saat menerima request dari beberapa kondisi dengan

membuat thread yang merepresentasikan jumlah user ketika mengakses website,

seperti tertera pada Tabel 3.1, Tabel 3.2, Tabel 3.3, dan Tabel 3.4.

Tabel 3.1 Tabel uji coba resource CPU

User After Before Cache Memory 10 20 30 40 50 60 70 80 90 100

Page 16: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

30

Tabel 3.2 Tabel uji coba resource memori

User After Before Cache Memory 10 20 30 40 50 60 70 80 90 100

Tabel 3.3 Tabel uji coba throughput

User After Before Cache Memory 10 20 30 40 50 60 70 80 90 100

3.3.2 Pengujian Keamanan

Pengujian keamanan dilakukan untuk menguji keamanan dari

implementasi Server Config. Pada pengujian keamanan, penulis melakukan

instalasi sistem operasi Ubuntu server 14.04 pada Oracle VirtualBox. Kemudian

instalasi VestaCP sebagai web hosting control panel untuk membuat shared web

hosting. Dalam hal pengujian keamanan ini penulis berperan sebagai penyerang

website, yang menggambarkan kemungkinan penyerang untuk mendapatkan

konfigurasi website.

Page 17: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

31

Tabel 3.4 Tabel uji coba latency

User After Before Cache Memory

10 20 30 40 50 60 70 80 90 100

Pengujian dilakukan dengan menggunakan teknik bypass konfigurasi

dengan metode symlink attack. Teknik ini dilakukan dengan membuat symbolic

link atau symlink yang merupakan file khusus yang berisi referensi menuju file lain

atau folder. File atau folder yang dituju terletak pada aplikasi web lain yang

berbeda pengguna dengan penyerang. Dalam hal ini, penulis menggunakan CMS

Wordpress sebagai aplikasi web dimana letak konfigurasi basis datanya pada file

wp-config.php. Sebelum pengujian keamanan, dilakukan beberapa tahapan

sebagai berikut:

Menyiapkan website didalam hosting yang terdapat user target.

Memasang backdoor pada website yang digunakan untuk melakukan symlink

attack dengan cara mengunggah phpshell kedalam direktori pada website

tersebut.

Membuat backdoor dengan aplikasi Weevely yang digunakan untuk

mengakses direktori symlink, kemudian mengunggahnya kedalam website

tersebut dengan mambuat file baru pada phpshell kemudian menyimpannya.

Mengakses backdoor tersebut untuk mengakses remote server website.

Didalam backdoor tersebut penulis menggunakan perintah Linux terminal

untuk membaca file wp-config.php dari website target dengan perintah “cat

/home/usertarget/public_html/wordpress/wp-config.php”.

Gambar 3.17 menunjukan tahapan sebelum pengujian keamanan terhadap

Page 18: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

32

konfigurasi website.

Adapun skenario pengujian keamanan konfigurasi setelah file wp-

config.php tersebut berhasil didapatkan adalah sebagai berikut:

1. Pengujian Dekripsi Token Dari Direktori Penyerang

File wp-config.php berisi token yang dienkripsi menggunakan library

libsodium, untuk membukanya dibutuhkan sebuah key. Key tersebut didapatkan

dengan perintah “statickey” pada terminal linux. Tahap pertama skenario ujicoba

adalah dengan membuat file PHP baru didalam website penyerang. Didalam file

PHP tersebut penulis menjalankan fungsi sebagai berikut untuk melakukan

dekripsi token.

safeDecrypt($token, statickey)

Variabel $token merupakan nilai token yang ada didalam file wp-config.php.

Dengan perintah var_dump maka akan menampilkan hasil dari proses dekripsi

Gambar 3.17 Tahapan sebelum pengujian keamanan konfigurasi

Page 19: 1BAB III ANALISIS DAN PERANCANGAN SISTEMeprints.umm.ac.id/36055/4/jiptummpp-gdl-irfanharia-47588-4-bab3.pdfPHP adalah bisa membuat web menjadi dinamis serta tidak membutuhkan kompilasi

33

tersebut. Pengujian keamanan gagal jika token berhasil didekripsi sehingga

terlihat token JWT.

2. Pengujian Token Mengakses Konfigurasi Basis Data Dari Server Config

Skenario pengujian ini dilakukan untuk mencoba mengakses konfigurasi

website target yang terdapat pada Server Config dengan menggunakan token yang

didapatkan. Tahap pertama adalah dengan instalasi CMS Wordpress pada website

penyerang. Kemudian mengubah file wp-config.php Wordpress penyerang dengan

konfigurasi berisi token dari website target serta menambahkan perintah

var_dump untuk menampilkan output response dari Server Config lalu

menyimpannya. Terakhir adalah mengakses website penyerang dengan

menggunakan web browser untuk melihat hasil keluaran dari konfigurasi basis

data yang sudah diubah tersebut. Pengujian keamanan gagal jika keluaran

konfigurasi dapat dibaca oleh penyerang.

3. Pengujian Token Diakses Dari Direktori Penyerang

Skenario pengujian ini hampir sama dengan skenario kedua, perbedaannya

adalah konfigurasi website penyerang merupakan symbolic link dari konfigurasi

website target. Dengan menggunakan backdoor yang sudah ditanam sebelumnya,

penulis melakukan symlink dari website target dengan perintah

Kemudian langkah terakhir adalah mengakses website penyerang dengan

menggunakan web browser. Jika pengujian keamanan gagal maka website

penyerang akan berisi konten yang sama dengan website target.

ln -s /home/usertarget/public_html/wordpress/wp-config.php wp-

config.php