• Tidak ada hasil yang ditemukan

Finish Start

4.1 IMPLEMENTASI SISTEM

Dari desain sistem yang telah dibuat sebelumnya, maka dapat di implementasikan seperti beberapa contoh tampilan berikut :

1. Tampilan utama

Dibawah ni merupakan tampilan awal pada addons vulnerability

scanner :

Gambar 4.1 Tampilan Menu Utama

Pada tampilan utama terdiri atas 4 bagian yang dibatasi oleh 3 garis. Bagian pertama adalah nama addons tersebut adalah SQL

INJECTION dimana pada bagian tersebut merupakan scanning web

menggunakan metode SQL INJECTION.

Bagian kedua adalah menu yang terdiri atas 4 submenu utama yaitu XSS SCANNER pada bagian tersebut merupakan scanning web dengan menggunakan pola pendeteksian XSS INJECTION. Bagian ketiga adalah hasil proses INFO dimana pada info tersebut terdapat informasi tentang domain dan informasi lengkap tentang client. Bagian keempat adalah menu COOKIE dimana pada menu tersebut akan menampilkan cookies hasil dari scanning web tersebut. Tampilan menu utama dibuat

dengan warna dasar adalah biru dengan text berwarna putih karena terlihat sederhana, dan mudah digunakan.

2. Halaman Scanning SQL Injection pada URL

Halaman berikut berfungsi untuk melakukan pencarian kelemahan alamat URL pada tab yang sedang dengan mengakses alamat URL yang sudah dimodifikasi dengan menambahkan simbol (‘) setelah simbol (=) pada alamat URL yang didapat dari alamat URL pada tab yang sedang aktif.

Gambar 4.2 Halaman Scanning SQL Injection pada URL

Berikut adalah algoritma Pseudo Code dari Proses Scanning SQL Injection pada URL :

1. call start_elapsed_time() dan store to mulai_proses

2. deklarasi jumlah_link_sudah_diperiksa and set 0

3. deklarasi jumlah_link_sudah_dideteksi and set 0

4. deklarasi variabel html and set null

5. set currentURL = alamat URL pada tab yang aktif

6. call check_sql_inject(currentURL) and store to hasil_scan_SQLi

7. set jumlah_link_sudah_diperiksa + 1

8. if hasil_scan_SQLi is “KOSONG” then

a.set temp_html = “URL aman”

9. else

a.set temp_html = hasil_scan_SQLi

b.set jumlah_link_sudah_dideteksi + 1

11. report jumlah_link_sudah_diperiksa and jumlah_link_sudah_dideteksi

12. report and call get_elapsed_time(mulai_proses,selesai_proses)

Berikut adalah potongan source code dari Proses Scanning SQL Injection pada URL :

Addons mengambil URL pada tab yang sedang aktif sebagai data

inputan. URL tersebut dicari kelemahannya terhadap injeksi SQL oleh fungsi check_sql_inject. Jika hasil dari fungsi adalah “kosong” mak alamat

URL tersebut aman dan apabila terdapat hasil maka aplikasi akan

memunculkan alamat URL yang sudah dimodifikasi yang dimungkinkan terdapat kelemahan.

Sehingga oleh aplikasi tersebut akan langsung dimunculkan hasil akhir berupa URL baru dari hasil scanning dimana pada URL tersebut merupakan alamat yang memiliki kelemahan pada SQL INJECTION.

3. Halaman Scanning SQL Injection pada PAGE

Menu berikut ini berfungsi untuk melakukan pencarian kelemahan halaman URL pada page yang sedang aktif terhadap injeksi SQL dengan cara mengakses semua alamat URL yang didapat pada page tersebut dan selanjutnya ditambahkan simbol (‘) setelah simbol (=) pada semua alamat

URL yang ditemukan.

Gambar 4.4 Halaman Scanning SQL Injection pada PAGE

Berikut adalah Pseudo Code dari Proses Scanning SQL Injection pada

PAGE :

1. call show_loading()

2. call start_elapsed_time() dan store to mulai_proses

3. deklarasi jumlah_link_sudah_diperiksa and set 0

4. deklarasi jumlah_link_sudah_dideteksi and set 0

5. set currentURL (target) = alamat URL pada tab yang aktif

6. call get_all_urls(currentURL) and store to array_URL

7. loop i from 0 until length of array_URL

1.if array_URL[i] have word “#####POST#####” then

1. call check_sql_inject_post(array_URL[i]) and store to

hasil_scan_SQLi

2. set jumlah_link_sudah_diperiksa + +

2.else

1. call check_sql_inject(array_URL[i]) and store to hasil_scan_SQLi

2. set jumlah_link_sudah_diperiksa + 1

1.set temp_html = “URL aman”

9. else

1.set temp_html = hasil_scan_SQLi

2.set jumlah_link_sudah_dideteksi + 1

10. call stop_elapsed_time()

11. report jumlah_link_sudah_diperiksa and jumlah_link_sudah_dideteksi

12. print and call get_elapsed_time(mulai_proses,selesai_proses)

Berikut adalah Potongan Soure Code dari Scanning page

Gambar 4.5 Potongan Code Scanning SQL Injection pada PAGE

Pada proses diatas alamat URL tersebut akan dicari pada URL yang terdapat pada Page URL tersebut dengan fungsi get_all_urls. Semua alamat URL yang didapat akan diperiksa apakah memiliki kelemahan

check_sql_inject_post. Jika hasil pencarian dari semua alamat URL yang ditemukan kosong maka aplikasi menyatakan halaman URL tersebut aman jika tidak maka addons akan menunjukkan beberapa alamat URL yang memiliki kelemahan terhadap injeksi SQL.

4. Halaman Scanning SQL Injection pada SITE

Menu ini berfungsi untuk melakukan pencarian kelemahan website pada tab yang sedang aktif terhadap injeksi SQL dengan cara mengakses seluruh alamat URL yang didapat pada website tersebut dan selanjutnya dimodifikasi dengan menambahkan simbol (‘) setelah simbol (=) pada semua alamat URL yang ditemukan. Pada menu kali ini pencarian dilakukan secara site fast dimana akan berhenti bila sudah ditemukan satu alamat URL pada website tersebut yang memiliki kelemahan terhadap injeksi SQL.

Gambar 4.6 Halaman Scanning SQL Injection pada SITE (FAST)

Pada submenu terakhir sama dengan submenu Site Fast tetapi proses pencarian akan berhenti saat tidak ditemukan alamat URL yang memiliki kelemahan terhadap injeksi SQL.

Gambar 4.7 Halaman Scanning SQL Injection pada SITE (FULL)

Berikut adalah Pseudo Code dari Proses Scanning SQL Injection pada

SITE :

1. Panggil fungsi call start_elapsed_time() untuk mulai_proses 2. deklarasi jumlah_link_sudah_diperiksa and set 0

3. deklarasi jumlah_link_sudah_dideteksi and set 0 4. deklarasi variable pendukung

5. looping (while)

1.if mengakses var akan_diakses dan lakukan break a. set temp_url = shift from akan_diakses

b. set ada_yang_sama = false

c. loop i from 0 until length of sudah_diakses 2.if temp_url = sudah_diakses[i] then

a. ada_yang_sama = true

d. if ada_yang_sama = false and temp_url dengan menggunakan "POST" then

3.call get_all_urls(temp_url) and store to hasil_sementara 4.push temp_url to sudah_diakses

e. loop i from 0 until length of hasil_sementara 5.set ada_yang_sama = false

6.loop j from 0 until length of sudah_diakses a. if hasil_sementara[i] = sudah_diakses[j then

1.ada_yang_sama = true 7.if ada_yang_sama = false then

a. push hasil_sementara[i] to akan_diakses b. set ada_yang_sama2 = false

c. loop k from 0 until length of sudah_dicari 1.if hasil_sementara[i] = sudah_dicari[k] then

a.ada_yang_sama2 = true

d. if hasil_sementara[i] dengan menggunakan “POST” then 1.if ada_yang_sama2 = false then

a.call check_sql_inject_post(hasil_sementara[i]) and store to hasil_scan_SQLi

b.set jumlah_link_sudah_diperiksa + 1 c.push hasil_sementara[i] to sudah_dicari e. else

1.if ada_yang_sama2 = false then

a.call check_sql_inject(hasil_sementara[i]) and store to hasil_scan_SQLi

b.set jumlah_link_sudah_diperiksa + 1 c.push hasil_sementara[i] to sudah_dicari f. if hasil_scan_SQLi tidak “KOSONG” then

1. `set temp_html += hasil_scan_SQLi 2. set jumlah_link_sudah_dideteksi + 1 3. if batas = 1then

f. set berhenti = true g. berhenti

Berikut Potongan Source Code :

A p l i k a

Aplikasi pada saat proses akan dimunculkan newtab dimana dalam newtab ini aplikasi diproses dan ditampilkan hasil scanning. Aplikasi mencari root dari alamat URL tersebut. Alamat root dimasukkan ke antrian pertama untuk dicari semua alamat URL pada halaman URL tersebut dengan fungsi (get_all_urls).

Setelah itu addons akan memeriksa setiap alamat URL untuk dimasukkan ke antrian untuk dicari semua lamat URL pada halaman URL dan mencari kelemahan terhadap injeksi SQL. Dalam submenu ini aplikasi berhenti pada dua keadaan yaitu saat aplikasi mencari dalam satu website secara cepat (sitefast) atau secara penuh (full). Jika secara cepat, aplikasi berhenti jika sudah menemukan sebuah alamat URL yang memiliki kelemahan.

Tetapi jika Site Full, maka aplikasi akan berhenti jika semua link sudah diperiksa untuk dicari semua alamat URL pada halaman URL dan juga diperiksa untuk kelemahan terhadap injeksi SQL.

5. Halaman Scanning XSS Injection pada URL

Halaman ini berfungsi untuk melakukan pencarian kelemahan alamat URL pada tab yang sedang aktif terhadap injeksi XSS dengan mengakses alamat URL yang telah dimodifikasi dengan menambahkan

script(<script>document.write('<strong><em><s>XSS_INJECTION

</s></em></strong>');</script>) setelah simbol (=) pada alamat URL yang didapat dari alamat URL pada tab yang sedang aktif.

Berikut adalah Pseudo Code dari Proses Scanning XSS Injection pada URL :

1. call start_elapsed_time() dan store untuk mulai_proses

2. deklarasi jumlah_link_sudah_dideteksi and set 0

3. deklarasi variabel html and set null

4. set currentURL = alamat URL pada tab yang aktif

5. call check_xss_inject(currentURL) and simpan hasil_scan_XSS

6. set jumlah_link_sudah_diperiksa + 1

7. if hasil_scan_ XSS is “KOSONG” then

a.set temp_html = “URL aman”

8. else

b. set temp_html = hasil_scan_ XSS

c.set jumlah_link_sudah_dideteksi + 1 9. panggil fungsi stop_elapsed_time()

10.tampilkan jumlah_waktu_diperiksa and jumlah_link_sudah_dideteksi

Berikut adalah Potongan Source Code :

Gambar 4.9 Halaman Scanning XSS Injection pada URL

Gambar 4.10 Potongan Code Scanning XSS Injection pada URL

Alamat URL tersebut dicari kelemahannya terhadap injeksi XSS oleh fungsi check_xss_inject. Jika hasil dari fungsi adalah “kosong” berarti alamat URL tersebut aman.

6. Halaman Scanning XSS Injection pada PAGE

Halaman ini berfungsi untuk melakukan pencarian kelemahan halaman URL pada page yang sedang aktif terhadap injeksi XSS dengan cara mengakses semua alamat URL yang didapat pada page tersebut dan selanjutnya di

<s> XSS_INJECTION</s></em></strong>’;</script>) setelah simbol (=) pada semua alamat URL yang ditemukan.

Gambar 4.11 Halaman Scanning XSS Injection pada PAGE

Berikut adalah Pseudo Code dari Proses Scanning XSS Injection pada PAGE :

1. Panggil start_elapsed_time() dan store to mulai_proses

2. deklarasi jumlah_link_sudah_dideteksi and set 0

3. deklarasi variabel html and set null

4. deklarasi array_URL sebagai array

5. set currentURL

6. call get_all_urls(currentURL)

7. perulangan dari 0 sampai panjang array_URL

1. if array_URL[i] adalah “#####POST#####” then

1. call check_xss_inject_post(array_URL[i]) and simpan

hasil_scan_XSS

2. set jumlah_link_sudah_diperiksa + 1 2. else

1. call check_xss_inject(array_URL[i]) and store to

hasil_scan_XSS

2. set jumlah_link_sudah_diperiksa + 1

8. if hasil_scan_XSS is “KOSONG” then

a.set temp_html = “URL aman”

9. else

a.set temp_html = hasil_scan_XSS

b. set jumlah_link_sudah_dideteksi + +

10.call stop_elapsed_time()

11.tampilkan jumlah_link_sudah_diperiksa and

jumlah_link_sudah_dideteksi

12.tampilkan get_elapsed_time(mulai_proses,selesai_proses)

Berikut adalah Potongan Souce Code

Aplikasi mengambil alamat URL pada tab yang sedang aktif

Sebagai data masukan. Alamat URL tersebut akan dicari semua alamat URL yang terdapat pada halaman tersebut dengan fungsi

get_all_urls. Semua alamat URL yang didapat akan dicari apakah

memiliki kelemahan terhadap injeksi XSS oleh fungsi check_xss_inject

(alamat URL mengirim nilai dengan metode GET) dan

check_xss_inject_post (alamat URL mengirim nilai dengan metode

POST).

Jika hasil pencarian dari semua alamat URL yang ditemukan kosong maka aplikasi menyatakan URL tersebut aman jika bila memang terdeteksi maka aplikasi akan menunjukkan beberapa alamat URL yang memiliki kelemahan terhadap injeksi XSS.

7. Halaman Scanning XSS Injection pada SITE

Halaman ini berfungsi untuk melakukan pencarian kelemahan

website pada tab yang sedang aktif terhadap injeksi XSS dengan cara

mengakses semua alamat URL yang didapat pada website tersebut dan selanjutnya ditambahkan (<script>document.write ('<strong><em><s> XSS_INJECTION</s></em></strong>');</script>) setelah simbol (=) pada semua alamat URL yang ditemukan. Pada menu kali ini pencarian dilakukan secara cepat dalam arti pencarian akan berhenti bila sudah ditemukan satu alamat URL pada website tersebut yang memiliki kelemahan terhadap injeksi XSS.

Pada submenu terakhir sama dengan submenu sebelumnya tetapi proses pencarian tidak berhenti saat ditemukan satu alamat URL yang memiliki kelemahan terhadap injeksi XSS melainkan proses pencarian akan berhenti jika tidak lagi ada alamat URL dari semua alamat URL yang ditemukan dalam website tersebut yang belum diproses.

Gambar 4.14 Halaman Scanning XSS Injection pada SITE FULL

Berikut adalah Pseudo Code dari Proses Scanning XSS Injection pada SITE

1. call start_elapsed_time() dan store to mulai_proses

2. deklarasi jumlah_link_sudah_dideteksi dan set 0

3. set rootURL = alamat URL pada tab yang aktif

4. set path_rootURL = rootURL.substring(0,rootURL.lastIndexOf('/') +

1)

5. set variable pendukung

6. deklarasi temp_url, hasil_scan_XSS and set to null

7. perulangan (while)

a. if akan_diakses = berhenti

b. set temp_url = shift from akan_diakses

c. set ada_yang_sama = false

d. loop i from 0 until length of sudah_diakses

1. if temp_url = sudah_diakses[i] then

a. ada_yang_sama = true

e. if ada_yang_sama = false and temp_url have word

"#####POST#####" (menggunakan metode post) then

1. call get_all_urls(temp_url) dan simpan hasil_sementara

2. masukan temp_url to sudah_diakses

1. set ada_yang_sama = false

2. loop j from 0 sampai panjang sudah_diakses

a. if hasil_sementara[i] = sudah_diakses[j then

2. ada_yang_sama = true

3. if ada_yang_sama = false then

a. masukan hasil_sementara[i] to akan_diakses

b. set ada_yang_sama2 = false

c. loop k from 0 until length of sudah_dicari

1. if hasil_sementara[i] = sudah_dicari[k] then

a.ada_yang_sama2 = true

d. if hasil_sementara[i] have word “#####POST#####" then

1. if ada_yang_sama2 = false then

a.check_xss_inject_post(hasil_sementara[i]) and store to hasil_scan_XSS

b. set jumlah_link_sudah_diperiksa + 1

c.push hasil_sementara[i] to sudah_dicari e. else

1. if ada_yang_sama2 = false then

a.call check_xss_inject(hasil_sementara[i]) and store to hasil_scan_XSS

b. set jumlah_link_sudah_diperiksa + 1

c.push hasil_sementara[i] to sudah_dicari

g. if hasil_scan_XSS not “KOSONG” then

1. set temp_html += hasil_scan_XSS

2. set jumlah_link_sudah_dideteksi + 1

3. if batas = 1then

a. set berhenti = true

b. break

8. call stop_elapsed_time()

9. tampilkan jumlah_link_sudah_diperiksa and

jumlah_link_sudah_dideteksi

Berikut adalah Potongan Source Code :

Gambar 4.15 Potongan Code Scanning XSS Injection pada SITE

Aplikasi mencari root dari alamat URL tersebut. Alamat root dimasukkan ke antrian pertama untuk dicari semua alamat URL pada halaman URL tersebut dengan fungsi get_all_urls. Setelah itu aplikasi akan memeriksa setiap alamat URL untuk dimasukkan ke antrian untuk dicari semua lamat URL pada halaman URL jika belum dicari dan mencari kelemahan terhadap injeksi XSS oleh fungsi check_xss_inject (alamat URL mengirim nilai dengan metode GET) dan check_xss_inject_post (alamat

URL mengirim nilai dengan metode POST).

Dalam submenu ini aplikasi berhenti pada dua keadaan yaitu saat aplikasi mencari dalam satu website secara cepat atau secara penuh. Jika

secara cepat, aplikasi berhenti jika sudah menemukan sebuah alamat URL yang memiliki kelemahan terhadap injeksi XSS.

Tetapi jika penuh, maka aplikasi akan berhenti jika semua link sudah diperiksa untuk dicari semua alamat URL pada halaman URL dan juga diperiksa untuk kelemahan terhadap injeksi XSS.

8. Halaman INFO

Halaman ini berfungsi untuk mendapatkan informasi mengenai domain yang dipakai oleh website pada tab yang sedang aktif. Informasi didapat dari http://who.is.com merupakan sebuah website yang memiliki informasi tentang informasi-informasi penting yang digunakan untuk menampilkan, Seluruh informasi pada website tersebut

Gambar 4.16 Halaman Informasi Domain Website

Berikut adalah Pseudo Code dari Proses Get Info about Domain Website:

1. Panggil start_elapsed_time() dan store to mulai_proses

2. set currentURL = alamat URL pada tab yang sedang aktif

3. deklarasi url and set url = name of website 4. set url = 'http://who.is/whois/' + url

5. deklarasi info_domain and set to null

6. set info_domain += important information

7. set info_domain += information IP

8. set info_domain += information IP location

9. call stop_elapsed_time()

10.tampilkan jumlah_link_sudah_diperiksa and

11.tampilkan and call get_elapsed_time(mulai_proses,selesai_proses) Berikut adalah Potongan Source Code :

Gambar 4.17 Potongan Code Informasi Domain Website

Alamat URL tersebut dicari alamat root untuk dikirim ke alamat

http://who.is.com dimana nama website diganti dengan nama root alamat URL.

9. Halaman Get Info about Client Connection

Halaman ini berfungsi untuk mendapatkan informasi mengenai koneksi yang dipakai oleh pengguna untuk terhubung dengan internet.

Informasi didapat dari http://www.ip-address.org/ akan pilih untuk

Gambar 4.18 Halaman Informasi Client Connection

Berikut adalah Pseudo Code dari Proses Info client :

1. call start_elapsed_time() dan store to mulai_proses

2. deklarasi url and set url = "http://www.ip-address.org/"

3. panggil get_request_web(url) and store to data

4. deklarasi info_client and set to null

5. deklarasi temp as new array

6. set temp to get information about My IP address

7. set temp to get information about Continent

8. set temp to get information about Country

9. set temp to get information about State 10.set temp to get information about City

11.set temp to get information about City Lat/Lon 12.set temp to get information about ISP

13.set temp to get information about Time zone

14.set temp to get information about IP Language

15.set temp to get information about IP Currency

16.perulangan I dari 0 until 10 a. set info_client = temp[i] 17.call stop_elapsed_time()

18.print jumlah_link_sudah_diperiksa and jumlah_link_sudah_dideteksi

Berikut adalah Potongan Source Code :

Gambar 4.19 Potongan Code Informasi Client Connection

Aplikasi langsung meminta data dari alamat

http://www.ip-address.org/. Setelah data sudah didapat dari website tersebut maka aplikasi akan secara otomatis memproses masukan tersebut sesuai informasi yang dibutuhkan saja.

10.Halaman Get Information about Cookie

Halaman ini berfungsi untuk mendapatkan informasi cookie dari

browser Mozilla firefox. Informasi Cookie yang didapat disaring sesuai

Gambar 4.20 Halaman Get Information about Cookie

Berikut adalah Pseudo Code dari Proses Hasil Get Information

about Cookie :

1. panggill start_elapsed_time() dan store to mulai_proses

2. deklarasi html, url, url2, currentURL, hal_dicari_URL, mulai_URL,

selesai_URL and set to null

3. set currentURL = alamat URL pada tab yang sedang aktif

4. set hal_dicari_URL = '://'

5. set mulai_URL = currentURL.indexOf(hal_dicari_URL) +

hal_dicari_URL.length

6. set selesai_URL = currentURL.indexOf('/',mulai_URL)

7. if currentURL.substring(mulai_URL,mulai_URL + 4) == "www."

Then

a. set url = currentURL.substring(mulai_URL + 3,selesai_URL)

8. else

a. set url = "." + currentURL.substring(mulai_URL,selesai_URL)

b. set url2 = currentURL.substring(mulai_URL,selesai_URL)

9. deklarasi array_cookie as new array

10.call stop_elapsed_time()

11.tampilkan jumlah_link_sudah_diperiksa and

jumlah_link_sudah_dideteksi 12.tampilkan dan panggil call

get_elapsed_time(mulai_proses,selesai_proses) Berikut adalah Potongan Source Code :

Gambar 4.21 Potongan Code Get Information about Cookie

Aplikasi mengambil alamat URL pada tab yang sedang aktif sebagai data inputan. Alamat URL tersebut dicari nama domain nya. Setelah itu aplikasi mengambil semua cookie pada browser Mozilla

firefox. Semua cookie yang didapat dipisah dan diambil yang memiliki

nama domain yang sama dengan nama domain dari alamat URL pada tab yang sedang aktif.

11.Tampilan proses dan hasil scanning

Menu ini berfungsi sebagai result setelah aplikasi mencari kelemahan web atau beberapa fitur tambahan lainnya yang telah dilakukan oleh aplikasi pada waktu terakhir kali pemakaian. Aplikasi akan

menyimpan result tersebut pada new tab browser Mozilla firefox dalam bentuk tampilan text. Di bagian paling atas terdapat tampilan untuk proses scanning dan tampilan dibawahnya merupakan tampilan untuk menampilkan result.

Dokumen terkait