6 Linux Distribution
Disclosure Wikto
server- status,200,apache
,This gives a lot of Apache
information
•
Web server manual Web server manual ditemukan pada
hasil scanning
dengan menggunakan Nikto dan Wikto.
Hasil dari kedua tool tersebut ditunjukkan pada Tabel 4.
Tabel 4 Hasil scanning Nikto, dan Wikto
Tool Hasil
Keterangan
Nikto OSVDB- 3092: manual:
Web server manual found
Directory yang berisi manual dari
web server dapat ditemukan
Wikto manual,200,gen
eric,Web server manual
•
Directory indexing Directory indexing dari web server
dapat diketahui dari hasil scanning menggunakan tool Nikto, Nessus,
dan Wikto. Hasil scanning dari ketiga tool disajikan pada Tabel 5.
Tabel 5 Hasil scanning Nikto, Nessus, dan Wikto yang menunjukkan adanya
directory indexing
Tool Hasil
Keterangan
Nikto + OSVDB-
3268: icons: Directory
indexing is enabled: icons
Directory icons yang berisi file
default sebuah web server
dapat ditemukan
Wikto icons,200,apache
Directory indexing dari
,Directory indexing is
enabled web server di
aktifkan sehingga file
default web server dapat
ditemukan
Nessus Web Server Directory
Enumeration Directory icons
yang berisi file default sebuah
web server dapat
ditemukan
•
Terdapat kode program yang dapat di injeksi dengan script. Injeksi tersebut
menggunakan teknik XSS. Scanning dilakukan dengan menggunakan tool
Acunetix Web Vulnerability Scanner. Hasil scanning dapat dilihat pada
Lampiran 1.
2.2 Scanning SQL Injection vulnerability
Scanning terhadap
SQL injection dilakukan dengan dua cara, yaitu secara
otomatis dan secara manual.
2.2.1 Scanning SQL Injection secara otomatis
Scanning secara otomatis dilakukan menggunakan tool Scrawlr dan Nessus.
Hasil scanning menggunakan tool ini menunjukkan tidak adanya celah yang
memungkinkan dilakukannya serangan SQL injection.
2.2.2 Scanning SQL Injection secara manual
Scanning secara manual dilakukan dengan memasukkan perintah sql pada
URL di web browser. Perintah sql yang digunakan ditunjukkan pada Tabel 6.
Perintah-perintah tersebut digunakan untuk mengetahui celah keamanan pada
website yang tidak melakukan pemfilteran terhadap karakter-karakter SQL pada URL.
Celah keamanan ini dapat dimanfaatkan hacker untuk mengetahui karakteristik dari
database
yang digunakan. Selain melakukan langkah-langkah pada Tabel 6,
dilakukan juga penerobosan ke dalam halaman admin website menggunakan
7 teknik
sql injection. Penerobosan dilakukan dengan memasukkan karakter-
karakter pada Tabel 7. Karakter tersebut dimasukkan pada kotak isian username
dan password yang terdapat pada halaman login administrator.
Hasil scanning menggunakan langkah- langkah manual juga tidak menunjukkan
adanya celah
keamanan yang
memungkinkan dilakukannya serangan sql injection.
Hal tersebut dikarenakan pada halaman login administrator kotak isian username
dan password telah diberi filter escape karakter. Kode program yang digunakan
untuk melakukan filter adalah sebagai berikut.
loginUsername=_POST[username]; password=_POST[password];
................................ LoginRS__query=sprintfSELECT
username, password, Nama, id_level FROM login WHERE username=s AND
password=MD5s,
get_magic_quotes_gpc ? loginUsername :
addslashesloginUsername, get_magic_quotes_gpc ? password
: addslashespassword;
Kode program untuk memfilter escape karakter di tandai dengan cetak tebal pada
kode program. Cara kerja kode program ini adalah menambahkan backslash \
pada karakter single quote dan double qoute . Penambahan karakter backslash
\ sebelum karakter quote akan membuat string or 1=1-- akan tetap di proses or
1=1-- query SQL. Hal ini membuat serangan menggunakan teknik
SQL Injection tidak bekerja.
Filter lain yang diterapkan pada website juga turut melakukan filter
terhadap URL. Filter tersebut adalah sebagai berikut.
query_MenuM = SELECT FROM menu WHERE parent = .
mysql_escape_stringparentID.;
Kode program tersebut digunakan untuk memfilter
parantID yang
merupakan ID yang digunakan untuk menuju ke halaman lain yang berada pada
website. Hasil lengkap dari
scanning yang
dilakukan oleh ketiga tool dapat dilihat pada Lampiran 2.
Tabel 6 String yang dimasukkan pada web browser guna mengetahui celah SQL Injection pada website
String Efek
Hasil Pengujian http:targetindex.php?id=1 order by 10 memunculkan halaman yang benar jika
terdapat tabel dengan 10 kolom. Jika tidak terdapat tabel dengan 10 kolom
halaman yang akan ditampilkan adalah pesan error Unknown column ‘10 in
order clause Halaman website akan
memunculkan halaman dengan id 1
http:targetindex.php?id=null union all select 1,user,3,4,5
menampilkan database user. Halaman website akan
memunculkan halaman eror http:targetindex.php?id=null union all
select 1,2,database,4,5 menampilkan nama dari database.
Halaman website akan memunculkan halaman eror
http:targetindex.php?id=null union all select 1,version,datadir,4,5
menampilkan versi dari database yang digunakan version, dan database
data direktori datadir Halaman website akan
memunculkan halaman eror http:targetindex.php?id=66 AND 1=1--
menampilkan halaman yang benar Halaman website akan
memunculkan halaman dengan id 66
http:targetindex.php?id=66 AND 1=2-- menampilkan halaman yang error jika
terdapat celah sql injection Halaman website akan
memunculkan halaman dengan id 66
http:targetindex.php? id=1;sleep+delay+0:0:5;--
membuat load halaman akan di delay selama 5 detik.
Halaman website akan memunculkan halaman dengan id 1
dalam waktu yang normal
8
3. Penetration Test