• Tidak ada hasil yang ditemukan

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

4.1.1 Tampilan utama

Ini (Gambar 4.1) merupakan tampilan awal pada saat aplikasi di panggil :

Gambar 4.1 Tampilan Menu Utama

Pada tampilan utama terdiri atas 4 bagian yang dibatasi oleh 3

garis. Bagian pertama adalah nama aplikasi yaitu VULNERABILITY

Bagian ketiga adalah hasil proses aplikasi sesuai pilihan menu yang dipilih oleh pengguna. Bagian keempat adalah menu untuk menyimpan hasil proses. Tampilan menu utama dibuat dengan warna dasar adalah putih karena terlihat sederhana, jelas, dan nyaman dilihat oleh pengguna.

4.1.2 Halaman ScanningSQL Injection pada Url

Halaman ini berfungsi untuk melakukan pencarian kelemahan alamat Url pada tab yang sedang aktifterhadap SQL Injection dengan

mengakses alamat Url yang sudah dimodofikasi dengan

menambahkan simbol (‘) setelah simbol (=) pada alamat Url yang didapatdari alamat Url pada tab yang sedang aktif.

Gambar 4.2 Halaman Scanning SQL Injection pada URL

Berikut adalah Pseudo Code dari Proses Scanning SQL

1. call show_loading()

2. call start_elapsed_time() dan store to mulai_proses 3. declare jumlah_link_sudah_diperiksa and set 0 4. declare jumlah_link_sudah_dideteksi and set 0 5. declare variabel html and set null

6. set currentURL = alamat URL pada tab yang aktif

7. call check_sql_inject(currentURL) and store to hasil_scan_SQLi 8. set jumlah_link_sudah_diperiksa + 1

9. if hasil_scan_SQLi is “KOSONG” then a.settemp_html = “URL aman” 10.else

a.set temp_html = hasil_scan_SQLi b.set jumlah_link_sudah_dideteksi + 1 11.call stop_elapsed_time()

12.print jumlah_link_sudah_diperiksa and jumlah_link_sudah_dideteksi 13.print and call get_elapsed_time(mulai_proses,selesai_proses) 14.call hide_loading()

15.print temp_html

Potongan Source Code :

function get_sqli(callback)

{chrome.tabs.getSelected(null, function(tab)

{var temp_html = "<table>"; var currentURL = tab.url; report("mengakses :" + currentURL); var hasil_scan_SQLi = check_sql_inject(currentURL); jumlah_link_sudah_diperiksa++; report("hasil : " +

hasil_scan_SQLi.substring(hasil_scan_SQLi.indexOf("readonly= \"yes\";>") + 16, hasil_scan_SQLi.indexOf("</div>"))); if(hasil_scan_SQLi == "KOSONG") temp_html += '<tr><td align="center" id="hasil_scan">&nbsp; URL AMAN

&nbsp;</td></tr>';

else{temp_html += hasil_scan_SQLi; jumlah_link_sudah_dideteksi++;}

Aplikasi sebelum proses akan memunculkan gambar “please

wait …”. Aplikasi mengambil alamat Url pada tab yang sedang aktif

sebagai data masukan. Alamat Url tersebut dicari kelemahannya

terhadap SQL Injection oleh fungsi check_sql_inject(). Jika hasil dari fungsi adalah “kosong” berarti alamat Url tersebut aman jika ada

hasil maka aplikasi akan memunculkan alamat Url yang sudah

dimodifikasi yang terbukti mempunyai kelemahan terhadap SQL

Injection. Setelah proses selesai aplikasi akan memunculkan hasil pencarian.

4.1.3 Halaman ScanningSQL Injection pada PAGE

Halaman ini berfungsi untuk melakukan pencarian kelemahan alamat Url pada tab yang sedang aktif terhadap SQL Injection dengan

cara mengakses semua alamat Url yang didapat pada halaman dengan

alamat pada tab yang sedang aktif dan selanjutnya dimodofikasi dengan menambahkan simbol (‘) setelah simbol (=) pada semua

alamat Url yang ditemukan dan bisa dimodofikasi. Menu Sub menu

ini seperti Gambar 4.4

Gambar 4.3 Halaman Scanning SQL Injection pada PAGE

Berikut adalah Pseudo Code dari Proses Scanning SQL

1. call show_loading()

2. call start_elapsed_time() dan store to mulai_proses 3. declare jumlah_link_sudah_diperiksa and set 0 4. declare jumlah_link_sudah_dideteksi and set 0 5. declare variabel html and set null

6. declare array_URL as new array

7. set currentURL = alamat URL pada tab yang aktif 8. call get_all_urls(currentURL) and store to array_URL 9. loop i from 0 until length of array_URL

a. 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 + 1 b. else

1)call check_sql_inject(array_URL[i]) and store to hasil_scan_SQLi 2)set jumlah_link_sudah_diperiksa + 1

10.if hasil_scan_SQLi is “KOSONG” then a. settemp_html = “URL aman” 11.else

a. set temp_html = hasil_scan_SQLi b. set jumlah_link_sudah_dideteksi + 1 12.call stop_elapsed_time()

13.print jumlah_link_sudah_diperiksa and jumlah_link_sudah_dideteksi 14.print and call get_elapsed_time(mulai_proses,selesai_proses) 15.call hide_loading()

16.print temp_html

Potongan Source Code :

function get_links(callback)

{chrome.tabs.getSelected(null, function(tab)

{var array_URL = new Array();report("mengambil semua link pada halaman " + tab.url); array_URL =

get_all_urls(tab.url); var hasil_scan_SQLi = ""; var temp_html = "<table>"; for(var i = 0; i < array_URL.length; i++){

{report("mengakses :" + array_URL[i].substring(0,array_URL[i].indexOf("#####POST#### #")) + " METODE POST "); hasil_scan_SQLi = check_sql_inject_post(array_URL[i]); jumlah_link_sudah_diperiksa++;} else{report("mengakses :" + array_URL[i]); hasil_scan_SQLi = check_sql_inject(array_URL[i]); jumlah_link_sudah_diperiksa++;} report("hasil : " + hasil_scan_SQLi.substring(hasil_scan_SQLi.indexOf("readonly= \"yes\";>") + 16,hasil_scan_SQLi.indexOf("</div>"))); if(hasil_scan_SQLi != "KOSONG"){temp_html += hasil_scan_SQLi; jumlah_link_sudah_dideteksi++}

Aplikasi mengambil alamat Url pada tab yang sedang aktif sebagai data masukan. Alamat Url tersebut akan dicari semua alamat

Url yang terdapat pada halaman Url tersebut dengan fungsi

get_all_urls(). Semua alamat Url yang didapat akan diperiksa

apakah memiliki kelemahan terhadap SQL Injection oleh fungsi

check_sql_inject() (alamat Url mengirim nilai dengan metode

GET) dan check_sql_inject_post() (alamat Url mengirim nilai

dengan metode POST). Jika hasil pencarian dari semua alamat Url

yang ditemukan kosong maka aplikasi menyatakan halalam Url

tersebut aman jika tidak maka aplikasi akan menunjukkan beberapa

alamat Url yang memiliki kelemahan terhadap SQL Injection. Setelah

proses pencarian selesai maka aplikasi menunjukkan hasil proses pencarian.

4.1.4 Halaman ScanningSQL Injection pada SITE

Halaman ini berfungsi untuk melakukan pencarian kelemahan

website pada tab yang sedang aktif terhadap SQL Injection dengan

cara mengakses semua alamat Url yang didapat pada website tersebut

dan selanjutnya dimodofikasi dengan menambahkan simbol (‘) setelah

simbol (=) pada semua alamat Url yang ditemukan dan bisa

dimodofikasi. 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 SQL Injection.

Gambar 4.4 Halaman Scanning SQL Injection pada SITE dengan cepat

Pada submenu terakhir sama dengan submenu sebelumnya

tetapi proses pencarian tidak berhenti saat ditemukan satu alamat Url

yang memiliki kelemahan terhadap SQL Injection 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.5 Halaman Scanning SQL Injection pada SITE secara penuh

Berikut adalah Pseudo Code dari Proses Scanning SQL

Injection pada SITE : 1. call show_loading()

2. call start_elapsed_time() dan store to mulai_proses 3. declare jumlah_link_sudah_diperiksa and set 0 4. declare jumlah_link_sudah_dideteksi and set 0 5. set rootURL = alamat URL pada tab yang aktif

6. set path_rootURL = rootURL.substring(0,rootURL.lastIndexOf('/') + 1) 7. set rootURL = "http://" + rootURL

8. declare akan_diakses, sudah_diakses, sudah_dicari hasil_sementara as new array

9. declare temp_url, hasil_scan_SQLi and set to null 10.loop nonstop

a. if akan_diakses don’t have value then 1) break

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

e. if ada_yang_sama = false and temp_url have word "#####POST#####" then

1) call get_all_urls(temp_url) and store to hasil_sementara 2) push temp_url to sudah_diakses

f. loop i from 0 until length of hasil_sementara 1) set ada_yang_sama = false

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

I. ada_yang_sama = true 3) 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 I. if hasil_sementara[i] = sudah_dicari[k] then

i.ada_yang_sama2 = true

d) if hasil_sementara[i] have word “#####POST#####" then I. if ada_yang_sama2 = false then

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

ii.set jumlah_link_sudah_diperiksa + 1 iii.push hasil_sementara[i] to sudah_dicari e) else

I. if ada_yang_sama2 = false then

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

ii.set jumlah_link_sudah_diperiksa + 1 iii.push hasil_sementara[i] to sudah_dicari g. if hasil_scan_SQLi not “KOSONG” then

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

a) set berhenti = true b) break

11.call stop_elapsed_time()

12.print jumlah_link_sudah_diperiksa and jumlah_link_sudah_dideteksi 13.print and call get_elapsed_time(mulai_proses,selesai_proses) 14.call hide_loading()

Potongan Source Code :

for(var loop = 0; loop < sudah_diakses.length; loop++) {if(temp_url == sudah_diakses[loop])ada_yang_sama = true;} if(ada_yang_sama == false &&

temp_url.indexOf("#####POST#####") == -1){

report("mengambil semua link pada halaman " + temp_url); hasil_sementara = get_all_urls(temp_url);

sudah_diakses.push(temp_url); for(var loop = 0; loop < hasil_sementara.length; loop++){

ada_yang_sama = false; for(var loop2 = 0; loop2 <

sudah_diakses.length; loop2++){if(hasil_sementara[loop] == sudah_diakses[loop2])ada_yang_sama = true;}

if(ada_yang_sama == false){

akan_diakses.push(hasil_sementara[loop]); ada_yang_sama2 = false; for(var loop3 = 0; loop3 < sudah_dicari.length; loop3++){if(hasil_sementara[loop] == sudah_dicari[loop3]) ada_yang_sama2 = true;}

Aplikasi mengambil alamat Url pada tab yang sedang aktif sebagai data masukan. 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 alamat Url pada

halaman Url jika belum dicari dan mencari kelemahan terhadap SQL

Injection. 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 SQL Injection

oleh fungsi check_sql_inject() (alamat Url mengirim nilai dengan

metode GET) dan check_sql_inject_post (alamat Url mengirim nilai

dengan metode POST). 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 SQL

Injection. Setelah proses pencarian selesai maka aplikasi menunjukkan hasil proses pencarian.

4.1.5 Halaman ScanningXSS Injection pada URL

Halaman ini berfungsi untuk melakukan pencarian kelemahan alamat URL pada tab yang sedang aktifterhadap XSS Injection dengan

mengakses alamat Url yang sudah dimodofikasi dengan

menambahkan script (<script>document.write('<strong><em>

<s>XSS_BY_ADITYA</s></em></strong>');</script>) setelah simbol (=) pada alamat Url yang didapat dari alamat Url pada tab yang sedang aktif (Utuh: 2011). Tampilan sub menu ini pada gambar 4.9.

Gambar 4.6 Halaman Scanning XSS Injection pada URL

Berikut adalah Pseudo Code dari Proses Scanning XSS

Injection pada URL : 1. call show_loading()

2. call start_elapsed_time() dan store to mulai_proses 3. declare jumlah_link_sudah_diperiksa and set 0 4. declare jumlah_link_sudah_dideteksi and set 0 5. declare variabel html and set null

6. set currentURL = alamat URL pada tab yang aktif

7. call check_xss_inject(currentURL) and store to hasil_scan_XSS 8. set jumlah_link_sudah_diperiksa + 1

9. if hasil_scan_ XSS is “KOSONG” then a.settemp_html = “URL aman” 10.else

a.set temp_html = hasil_scan_ XSS b.set jumlah_link_sudah_dideteksi + 1 11.call stop_elapsed_time()

12.print jumlah_link_sudah_diperiksa and jumlah_link_sudah_dideteksi 13.print and call get_elapsed_time(mulai_proses,selesai_proses) 14.call hide_loading()

15.print temp_html

Potongan Source Code :

function get_xss(callback)

var temp_html = "<table>"; var currentURL = tab.url; report("mengakses :" + currentURL); var hasil_scan_XSS = check_xss_inject(currentURL); jumlah_link_sudah_diperiksa++; report("hasil : " +

hasil_scan_XSS.substring(hasil_scan_XSS.indexOf("readonly=\" yes\";>") + 16,hasil_scan_XSS.indexOf("</div>")));

if(hasil_scan_XSS == "KOSONG") temp_html += '<tr><td align="center" id="hasil_scan">&nbsp; URL AMAN

Aplikasi mengambil alamat Url pada tab yang sedang aktif

sebagai data masukan. Alamat Url tersebut dicari kelemahannya

terhadap XSS Injection oleh fungsi check_xss_inject(). Jika hasil dari fungsi adalah “kosong” berarti alamat Url tersebut aman jika ada

hasil maka aplikasi akan memunculkan alamat Url yang sudah

dimodifikasi yang terbukti mempunyai kelemahan terhadap XSS

Injection. Setelah proses selesai aplikasi akan memunculkan hasil pencarian.

4.1.6 Halaman ScanningXSS Injection pada PAGE

Halaman ini berfungsi untuk melakukan pencarian kelemahan halaman Url pada tab yang sedang aktif terhadap XSS Injection

dengan cara mengakses semua alamat Url yang didapat pada halaman

tersebut dan selanjutnya dimodofikasi dengan menambahkan script

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

alamat URL yang ditemukan dan bisa dimodofikasi. Gambar 4.11 merupakan tampilan untuk sub menu ini.

Ga mbar 4.7 Halaman Scanning XSS Injection pada PAGE

Berikut adalah Pseudo Code dari Proses Scanning XSS

Injection pada PAGE : 1. call show_loading()

2. call start_elapsed_time() dan store to mulai_proses 3. declare jumlah_link_sudah_diperiksa and set 0 4. declare jumlah_link_sudah_dideteksi and set 0 5. declare variabel html and set null

6. declare array_URL as new array

7. set currentURL = alamat URL pada tab yang aktif 8. call get_all_urls(currentURL) and store to array_URL 9. loop i from 0 until length of array_URL

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

1) call check_xss_inject_post(array_URL[i]) and store to hasil_scan_XSS 2) set jumlah_link_sudah_diperiksa + 1

b.else

1) call check_xss_inject(array_URL[i]) and store to hasil_scan_XSS 2) set jumlah_link_sudah_diperiksa + 1

10.if hasil_scan_XSS is “KOSONG” then a.settemp_html = “URL aman” 11.else

a.set temp_html = hasil_scan_XSS b.set jumlah_link_sudah_dideteksi + 1 12.call stop_elapsed_time()

13.print jumlah_link_sudah_diperiksa and jumlah_link_sudah_dideteksi 14.print and call get_elapsed_time(mulai_proses,selesai_proses) 15.call hide_loading()

16.print temp_html

Potongan Source Code :

for(var i = 0; i < array_URL.length; i++){ if(array_URL[i].indexOf("#####POST#####") > 0) {report("mengakses :" +

array_URL[i].substring(0,array_URL[i].indexOf("#####POST#### #")) + " METODE POST ");hasil_scan_XSS =

check_xss_inject_post(array_URL[i]); jumlah_link_sudah_diperiksa++;}

else{ report("mengakses :" + array_URL[i]); hasil_scan_XSS = check_xss_inject(array_URL[i]); jumlah_link_sudah_diperiksa++;}

Aplikasi mengambil alamat Url pada tab yang sedang aktif sebagai data masukan. Alamat Url tersebut akan dicari semua alamat

Url yang terdapat pada halaman Url tersebut dengan fungsi

get_all_urls(). Semua alamat Url yang didapat akan diperiksa

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

tersebut aman jika tidak maka aplikasi akan menunjukkan beberapa alamat Url yang memiliki kelemahan terhadap XSS Injection. Setelah proses pencarian selesai maka aplikasi menunjukkan hasil proses pencarian.

4.1.7 Halaman ScanningXSS Injection pada SITE

Halaman ini berfungsi untuk melakukan pencarian kelemahan

website pada tab yang sedang aktif terhadap XSS Injection dengan cara

mengakses semua alamat Url yang didapat pada website tersebut dan

selanjutnya dimodofikasi dengan menambahkan script

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

</s></em></strong>');</script>) setelah simbol (=) pada semua

alamat Url yang ditemukan dan bisa dimodofikasi. 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 XSS Injection.

Pada submenu terakhir sama dengan submenu sebelumnya

tetapi proses pencarian tidak berhenti saat ditemukan satu alamat Url

yang memiliki kelemahan terhadap XSS Injection 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.9 Halaman Scanning XSS Injection pada SITE secara penuh

Berikut adalah Pseudo Code dari Proses Scanning XSS

Injection pada SITE : 1. call show_loading()

2. call start_elapsed_time() dan store to mulai_proses 3. declare jumlah_link_sudah_diperiksa and set 0 4. declare jumlah_link_sudah_dideteksi and set 0 5. set rootURL = alamat URL pada tab yang aktif

6. set path_rootURL = rootURL.substring(0,rootURL.lastIndexOf('/') + 1) 7. set rootURL = "http://" + rootURL

8. declare akan_diakses, sudah_diakses, sudah_dicari hasil_sementara as new array

9. declare temp_url, hasil_scan_XSS and set to null 10.loop nonstop

a.if akan_diakses don’t have value then 1)break

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#####" then 1)call get_all_urls(temp_url) and store to hasil_sementara

2)push temp_url to sudah_diakses

f. loop i from 0 until length of hasil_sementara 1)set ada_yang_sama = false

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

I. ada_yang_sama = true 3)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 I. if hasil_sementara[i] = sudah_dicari[k] then

i. ada_yang_sama2 = true

d) if hasil_sementara[i] have word “#####POST#####" then I. if ada_yang_sama2 = false then

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

ii. set jumlah_link_sudah_diperiksa + 1 iii. push hasil_sementara[i] to sudah_dicari e)else

I. if ada_yang_sama2 = false then

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

ii. set jumlah_link_sudah_diperiksa + 1 iii. 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

11.call stop_elapsed_time()

12.print jumlah_link_sudah_diperiksa and jumlah_link_sudah_dideteksi 13.print and call get_elapsed_time(mulai_proses,selesai_proses) 14.call hide_loading()

15.print temp_html

Potongan Source Code :

while(berhenti == false){if(akan_diakses.length ==

0){break;} temp_url = akan_diakses.shift() ada_yang_sama = false; for(var loop = 0; loop < sudah_diakses.length; loop++){if(temp_url == sudah_diakses[loop])ada_yang_sama = true;} if(ada_yang_sama == false &&

temp_url.indexOf("#####POST#####") == -1){report("mengambil semua link pada halaman " + temp_url); hasil_sementara = get_all_urls(temp_url); sudah_diakses.push(temp_url); for(var loop = 0; loop < hasil_sementara.length; loop++) {ada_yang_sama = false;for(var loop2 = 0; loop2 <

sudah_diakses.length; loop2++){if(hasil_sementara[loop] == sudah_diakses[loop2])ada_yang_sama = true;}

Aplikasi mengambil alamat Url pada tab yang sedang aktif sebagai data masukan. Aplikasi mencari root dari alamat Url tersebut.

Alamat root dimasukkan krl tersebut dengan fungsi get_all_urls().

Setelah itu aplikasi akan memeriksa setiap alamat Url untuk

dimasukkan ke antrian untuk dicari semua alamat Url pada halaman

Url jika belum dicari dan mencari kelemahan terhadap XSS Injection

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

menemukan sebuah alamat Url yang memiliki kelemahan terhadap

XSS Injection. 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 XSS

Dokumen terkait