Celah-Celah Keamanan Pada Website Pemerintah Kabupaten Sidoarjo


  • SPYRO KiD
  • admin[~@t~]spyrozone[~d.t~]net
  • Monday, January 10th, 2011
  • CopyLEFT (c) 2011++ www.spyrozone.net All Rights Reserved


Sekitar akhir Mei 2010 lalu, saya mendapati banyak halaman website Pemerintah Kabupaten Sidoarjo (www.sidoarjokab.go.id) yang menampilkan pesan deface. Celahnya sendiri sudah ada sejak awal 2007. Saat itu sidoarjokab.go.id menggunakan jasa Solusindo Hosting sebelum beralih ke PT. Data Utama Dinamika.

Salah satu celah pada website ini sudah banyak dibicarakan di forum-forum underground (meski “hanya” sekedar info untuk melihat /etc/passwd) sejak awal tahun 2009.¬†Yang membuat saya lebih prihatin, belum ada tindakan dari Administrator untuk melakukan perbaikan.

Saya kemudian memulai explorasi mencari jalan termudah bagi Attacker untuk masuk, celah-celah apa saja yang ada pada website tersebut, lalu melaporkannya kepada Admin dengan meninggalkan solusi pada file yang vulnerable di server Pemerintah Kabupaten Sidoarjo. Beberapa solusi yang saya sarankan telah diimplementasikan walaupun belum menyeluruh. Berikut catatan perjalanan saya dalam mencari celah pada website Pemerintah Kabupaten Sidoarjo yang dimanfaatkan oleh Attacker untuk melakukan pengrusakan dan menanam backdoor. Selamat menikmati :mrgreen:

DEFACED by…

Semua pesan deface yang saya jumpai meninggalkan nama dan alamat website yang sama. Berikut ini adalah salah satu tampilan halaman website Pemerintah Kabupaten Sidoarjo yang diubah tampilannya oleh Attacker:

{image: pesan deface pada website Pemkab. Sidoarjo yang ditinggalkan Attacker}

Pesan deface pada website Pemkab. Sidoarjo yang ditinggalkan Attacker

Ada total 74 halaman yang diubah tampilannya oleh Jester:

  1. http://www.sidoarjokab.go.id/domain/perpus/daftar_buku/buku_2006/index.php
  2. http://www.sidoarjokab.go.id/ekonom/sembako/index.php
  3. http://www.sidoarjokab.go.id/interaktif/agenda/index.php
  4. http://www.sidoarjokab.go.id/interaktif/guestbook/harian/index.php
  5. http://www.sidoarjokab.go.id/interaktif/guestbook/harian/index2.php
  6. http://www.sidoarjokab.go.id/interaktif/guestbook/harian/indexi.php
  7. http://www.sidoarjokab.go.id/interaktif/guestbook/index.php
  8. http://www.sidoarjokab.go.id/interaktif/new/index.htm
  9. http://www.sidoarjokab.go.id/interaktif/new/index.php
  10. http://www.sidoarjokab.go.id/interaktif/new/index-news.php
  11. http://www.sidoarjokab.go.id/interaktif/poling/index.php
  12. http://www.sidoarjokab.go.id/other/baz/main.php
  13. http://www.sidoarjokab.go.id/other/baz/main-bgBAZ2008.html
  14. http://www.sidoarjokab.go.id/other/BlockGrand/default-menus.htm
  15. http://www.sidoarjokab.go.id/other/BlockGrand/index-main.htm
  16. http://www.sidoarjokab.go.id/other/dekranas/guest/index.php
  17. http://www.sidoarjokab.go.id/other/warintek/index-.php
  18. http://www.sidoarjokab.go.id/sub/bagianap/indexing.htm
  19. http://www.sidoarjokab.go.id/sub/bkd/Berita/index.php
  20. http://www.sidoarjokab.go.id/sub/bkd/Berita/index_asli.php
  21. http://www.sidoarjokab.go.id/sub/bkd/Berita/index2.php
  22. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/index.htm
  23. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_access_denied.html
  24. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_footer.html
  25. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_footer2.html
  26. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_forumgroup.html
  27. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_forums.html
  28. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_forums_cell.html
  29. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_forums_list.html
  30. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_header.html
  31. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_last_discuss_cell.html
  32. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_last_discussions.html
  33. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_post_area.html
  34. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_post_closed.html
  35. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_post_form.html
  36. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_posthold.html
  37. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_posts.html
  38. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_posts_cell.html
  39. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_topics.html
  40. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_topics_cell.html
  41. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_topics_write.html
  42. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_user_info.html
  43. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_user_info_cell.html
  44. http://www.sidoarjokab.go.id/sub/bkd/Berita/templates/main_warning.html
  45. http://www.sidoarjokab.go.id/sub/bkd/forum/index2.php
  46. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_access_denied.html
  47. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_footer.html
  48. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_footer2.html
  49. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_forumgroup.html
  50. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_forums.html
  51. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_forums_cell.html
  52. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_forums_list.html
  53. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_header.html
  54. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_last_discuss_cell.html
  55. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_last_discussions.html
  56. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_post_area.html
  57. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_post_closed.html
  58. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_post_form.html
  59. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_posthold.html
  60. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_posts.html
  61. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_posts_cell.html
  62. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_topics.html
  63. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_topics_cell.html
  64. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_user_info.html
  65. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_user_info_cell.html
  66. http://www.sidoarjokab.go.id/sub/bkd/forum/templates/main_warning.html
  67. http://www.sidoarjokab.go.id/sub/candi/default.htm
  68. http://www.sidoarjokab.go.id/sub/gedangan/default.htm
  69. http://www.sidoarjokab.go.id/sub/index.php
  70. http://www.sidoarjokab.go.id/sub/krian/index.html
  71. http://www.sidoarjokab.go.id/sub/main.php
  72. http://www.sidoarjokab.go.id/sub/prambon/default.htm
  73. http://www.sidoarjokab.go.id/sub/rsd/index.php
  74. http://www.sidoarjokab.go.id/sub/tulangan/default.htm

Hingga kini halaman tersebut belum dibenahi oleh Admin. Mengenai defacernya sendiri, banyak yang menyebut si Jester & Ghost61 ini berasal dari Turki (http://www.google.co.id/search?q=Ghost61+Jester).

Bagaimana cara mereka masuk? dimana letak celah keamanannya? tidak usah tanya si Jester, Ghost 61, apalagi tanya Galileo, cukup lanjutkan membaca artikel ini :D

HTML Injection

Celah pertama yang saya bahas ini pasti sudah sering Anda temui. Target exploitasi celah ini adalah layanan Buku Tamu sidoarjokab.go.id. Saya memasukkan code HTML berupa tag <h1> pada form Buku Tamu:

{image: Injeksi code HTML pada Buku Tamu}

Injeksi code HTML pada Buku Tamu

Hasilnya, input saya tidak disanitasi sehingga identitas dan komentar saya tampil dalam ukuran heading 1:

{image: Hasil Injeksi code HTML pada Buku Tamu}

Hasil Injeksi code HTML pada Buku Tamu

Saya kemudian mencoba memasukkan code JavaScript pada Buku Tamu:

{image: Injeksi code JavaScript pada Buku Tamu}

Injeksi code JavaScript pada Buku Tamu

Dan ternyata, code JavaScript saya dieksekusi:

{image: Hasil Injeksi code JavaScript pada Buku Tamu}

Hasil Injeksi code JavaScript pada Buku Tamu

Bisa Anda bayangkan jika ada orang jahat yang menanam code JavaScript berbahaya yang dapat mencuri informasi sensitif user (cookies, csrf, etc..) di halaman ini. Dari sini kita bisa melihat adanya 2 celah keamanan pada Buku Tamu:

  1. Tidak ada captha untuk melindungi buku tamu dari SPAMMER;
  2. Tidak adanya sanitasi input dan output untuk mencegah orang jahat menginjeksikan malicious script;

LOCAL File Inclussion (LFI)

Saya memulai mencari kelemahan lain yang lebih serius. Saya menjumpai pemandangan menarik pada struktur URL website Pemerintah kabupaten Sidoarjo. Perhatikan struktur URL halaman “Informasi Kabupaten Sidoarjo” berikut:

http://www.sidoarjokab.go.id/main.php?content=selayang/geografis.html

{image: Struktur URL Website Pemerintah Kabupaten Sidoarjo}

Struktur URL Website Pemerintah Kabupaten Sidoarjo

main.php melewatkan path menuju file geografis.html yang terletak pada folder selayang/ melalui parameter content. Kira-kira difilter nggak yach parameternya? atau semua yang dimasukkan melalui parameter content ditangkap dan diinclude apa adanya? Saya mencoba melakukan include file /etc/passwd dengan memasukkan ../../../../../../../../../etc/paswd pada parameter content:

http://www.sidoarjokab.go.id/main.php?content=/etc/paswd

http://www.sidoarjokab.go.id/main.php?content=../../../../../../../../../etc/paswd

Dan hasilnya..

{image: Meng-include /etc/passwd melalui parameter content}

Meng-include /etc/passwd melalui parameter content

Sesuai dengan yang saya harapkan :twisted: Isi file /etc/passwd yang berisi daftar user pada server ditampilkan pada area content ^^” Dari hasil penelusuran saya, ada7 file yang memiliki celah ini:

  1. http://www.sidoarjokab.go.id/main.php?content=[evil code]
  2. http://www.sidoarjokab.go.id/domain/dishub/index.php?content=[evil code]
  3. http://www.sidoarjokab.go.id/other/SdaAngka/index.php?data=[evil code]
  4. http://perijinan.sidoarjokab.go.id/main-content.php?load=[evil code]
  5. http://www.sidoarjokab.go.id/other/p3a/index.php?lok=[evil code]
  6. http://www.sidoarjokab.go.id/other/baz/index.php?content=[evil code]
  7. http://www.sidoarjokab.go.id/other/warintek/index.php?cont=[evil code]

Lalu sekarang bagaimana? apa yang bisa kita lakukan dengan daftar user tersebut? Kita inject dengan shell sederhana yang digenerate melalui error log? atau.. bagimana?

Sudahlah, biarkan saja dulu. Mari kita tinggalkan celah ini dan mencari celah keamanan lain yang lebih menarik :mrgreen:

INSUFFICIENT Authentication

Saya menelusuri setiap halaman web sidoarjokab.go.id untuk mencari struktur URL menarik lainnya. Kali ini saya mengamati struktur URL berita:

{image: Struktur URL berita sidoarjokab.go.id}

Struktur URL berita sidoarjokab.go.id

Ada lokasi yang menarik perhatian saya disana, yaitu directory /inter/ dan directory /inter/news/. Ada apa di kedua lokasi tersebut? Saya memulai dengan mengunjungi directory paling ujung, yaitu /inter/news/

{image: File-file "mencurigakan" :D}

File-file "mencurigakan" :D

Saya langsung disuguhi daftar file yang mengundang rasa penasaran saya :D —> idih.. dari tadi isinya penasaran melulu ya.. ^^” Hmm.. kira-kira apa yach yang tampil kalau saya akses file-file tersebut..? Coba aja ah.. Saya mencoba mengakses file frm-vers_child.php

{image: Form untuk input berita tidak dilindungi session}

Form untuk input berita tidak dilindungi session

Wew! :shock: Saya merasa sangat bahagia saat menyadari bahwa file tersebut adalah form untuk menginputkan berita dan tidak dilindungi dengan session :lol: Yang lebih menyenangkan lagi, ada fasilitas file upload yang sepertinya tidak difilter :twisted: Untuk memastikan dugaan saya, saya mengupload Web Shell menggunakan fasilitas file upload tersebut. Setelah proses upload selesai, saya memeriksa folder upload/

{image: Web Shell berhasil diupload}

Web Shell berhasil diupload

YEY!!! file saya berhasil diupload! tuch, ada spyrozone.net.php :lol: Dengan semangat 45, saya memanggil file tersebut:

{image: Web Shell gagal dijalankan}

Web Shell gagal dijalankan

Yaah… gagal nich… T_T

Tapi.. Tunggu dulu…! saya teringat dengan celah LFI yang sudah ditemukan tadi :D Saya mencoba memanggil spyrozone.net.php dengan memanfaatkancelah LFI tadi:

{image: Memanfaatkan LFI untuk menjalankan Web Shell}

Memanfaatkan LFI untuk menjalankan Web Shell

Yey! Web Shell saya tampil dengan indahnya :D Sekarang, saya bisa menjelajahi webserver dan menjalankan perintah-perintah shell melalui Web Shell. Biasanya, attacker hanya memiliki kendali penuh atas suatu file pada directory yang memiliki file permission 777 saja. namun dalam kasus ini, kesalahan konfigurasi pada server menyebabkan attacker dengan mudah bisa melakukan pembuatan file baru, edit, dan menghapus file apapun yang diinginkan :???:

Setelah melakukan penelusuran kembali, saya menemukan lokasi lain yang bisa dijadikan sebagai jalan bagi attacker untuk menanam web shell:

http://www.sidoarjokab.go.id/sub/bappeda/files/index.php

{image: File Explorer}

File Explorer

Saya menemukan file explorer lengkap dengan fungsi crete directory, upload file,  delete dan download. Kemungkinan besar file ini ditujukan bagi pengelola area download BAPPEDA. namun, seperti yang Anda lihat, halaman ini tidak dilindungi dengan session sehingga memungkinkan orang jahat untuk menanam web shell.

UNENCRYPTED stored password

Saya mendapati file konfigurasi koneksi database terletak pada directory inter/config.inc

{image: File konfigurasi koneksi database}

File konfigurasi koneksi database

Setelah melihat isi file tersebut menggunakan perintah cat, saya kemudian mengintip tabel yang berisi username dan password pengelola CMS. Ternyata, Admin membiarkan password-password tersebut “telanjang” —> idih.. lagi-lagi kata-kata favorit Anda muncul :lol:

{image: Daftar username dan password pengguna CMS}

Daftar username dan password pengguna CMS

Kini saya bisa masuk ke halaman Administrator dengan akun yang saya dapatkan:

{image: Halaman Administrator sidoarjokab.go.id}

Halaman Administrator sidoarjokab.go.id

Btw.. karena file koneksi databasenya disimpan dalam extensi .inc, saya jadi penasaran. Kira-kira, apakah akses menuju file .inc melalui browser sudah dicegah? Saya mencoba mengakses file config.inc melalui browser:

{image: Akses terhadap file .inc melalui browser}

Akses terhadap file .inc melalui browser

Wah.. lagi-lagi celah keamanan. File config.inc menampilkan isi file apa adanya. Siapapun yang mengakses file tersebut bisa melihat username, password dan nama database website sidoarjokab.go.id

INSECURE Web Host

Pemerintah Kabupaten Sidoarjo menggunakan jasa web hosting dari PT. Data Utama Dinamika. Saya agak terdiam saat mengakses halaman /administrator/ website perusahaan tersebut:

http://www.datautama.net.id/administrator/

Bukan form login yang saya hadapi, tapi sebuah halaman yang berisi pesan Deface :shock:

{image: Pesan Deface pada Website PT. Data Utama Dinamika}

Pesan Deface pada Website PT. Data Utama Dinamika

Wah, pesan Defacenya sama persis dengan pesan Deface pada Website Pemerintah kabupaten Sidoarjo. Pesan-pesan Deface lainnya ada di setiap sub directory website tersebut. Saya menelusuri directory-directory yang ada pada Robots.txt datautama.net.id

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /editor/
Disallow: /help/
Disallow: /images/
Disallow: /includes/
Disallow: /language/
Disallow: /mambots/
Disallow: /media/
Disallow: /modules/
Disallow: /templates/
Disallow: /installation/

Sepertinya sebelum beralih ke Flash, Data Utama Dinamika menggunakan Joomla :) Dari sini saya mulai punya dugaan lain. Jangan-jangan si Jester & Ghost61 ini mengambil alih webserver PT. Data Utama Dinamika terlebih dahulu sebelum memasuki portal sidoarjokab.go.id

Hmm.. entahlah, yang jelas, ini bisa menjadi kabar baik bagi Si Pembuat CMS :D Ternyata Anda bukan satu-satunya orang yang lalai dalam kasus ini ^^” penyedia hostingnya ajah sudah dimasuki Attacker, jadi wajar jika client-clientnya mengalami nasib serupa ^^”

Solusi

Sambil menunggu Admin melakukan perbaikan pada sistem mereka, saya mencoba membantu Admin untuk menutup beberapa celah keamanan yang telah saya bahas. Mudah-mudahan bisa mempersingkat kerja Administrator dalam melakukan pemeriksaan menyeluruh terhadap sistem mereka.

1. Mencegah HTML Injection

Sanitasi untuk mencegah HTML Injection bisa dilakukan pada input maupun output, atau pada keduanya agar lebih aman. Kali ini saya langsung memberi solusi pada output buku tamu saja. Berikut adalah potongan code asli Buku Tamu sidoarjokab.go.id

<?while($rv_guest = mysql_fetch_array($qv_guest)) {?>
 <tr><td width="21%" valign="top">Nama</td><td width="2%" valign="top">:</td><td width="77%">
 <?=$rv_guest[1]?>
 </td></tr><tr><td valign="top">Tanggal</td><td valign="top">:</td><td>
 <?=tglapp($rv_guest[0])?>
 </td></tr><tr><td valign="top">Alamat</td><td valign="top">:</td><td>
 <?=$rv_guest[2]?>
 </td></tr><tr><td valign="top">Kota</td><td valign="top">:</td><td>
 <?=$rv_guest[3]?>
 </td></tr><tr><td valign="top">E-mail</td><td valign="top">:</td><td>
 <?=$rv_guest[4]?>
 </td></tr><tr><td valign="top">Komentar</td><td valign="top">:</td><td>
 <?=nl2br($rv_guest[5])?>
 </td></tr>

Terlihat pada baris ke 3,5,7,9,11,13, semua informasi ditampilkan apa adanya. Saya menambahkan htmlspecialchars() pada code tersebut sehingga menjadi demikian:

<?while($rv_guest = mysql_fetch_array($qv_guest)) {?>
<tr><td width="21%" valign="top">Nama</td><td width="2%" valign="top">:</td><td width="77%">
<?=htmlspecialchars($rv_guest[1],ENT_QUOTES)?>
</td></tr><tr><td valign="top">Tanggal</td><td valign="top">:</td><td>
<?=tglapp(htmlspecialchars($rv_guest[0],ENT_QUOTES))?>
</td></tr><tr><td valign="top">Alamat</td><td valign="top">:</td><td>
<?=htmlspecialchars($rv_guest[2],ENT_QUOTES)?>
</td></tr><tr><td valign="top">Kota</td><td valign="top">:</td><td>
<?=htmlspecialchars($rv_guest[3],ENT_QUOTES)?>
</td></tr><tr> <td valign="top">E-mail</td><td valign="top">:</td><td>
<?=htmlspecialchars($rv_guest[4],ENT_QUOTES)?>
</td></tr><tr> <td valign="top">Komentar</td><td valign="top">:</td><td>
<?=nl2br(htmlspecialchars($rv_guest[5],ENT_QUOTES))?>
</td></tr><tr>

Kini, jika ada orang iseng yang mencoba menginjeksikan script berbahaya, maka script tersebut akan tampil apa adanya:

{image: Halaman buku tamu setelah diamankan}

Halaman buku tamu setelah diamankan

2. Sanitasi Input Untuk mencegah LFI

Untuk melindungi Website Pemerintah Kabupaten Sidoarjo, saya menyisipkan code yang berfungsi untuk melakukan filtering terhadap nilai yang dilewatkan melalui parameter content:

/*
Pencegahan sementara untuk celah LFI
SPYRO KiD
Web  : http://www.spyrozone.net
Mail : root/at/spyrozone.net
*/
$secured_by_spyrokid = $_REQUEST["content"];
$up_dir = strrpos($secured_by_spyrokid, "..");
if($up_dir === false){
    $root_dir = substr($secured_by_spyrokid, 0,1);
    if($root_dir=="/") {
        header("location: http://www.sidoarjokab.go.id/");
        exit;
    }
}else{
    header("location: http://www.sidoarjokab.go.id/");
    exit;
}
$content = $secured_by_spyrokid;

Filter diatas saya sesuaikan dengan kondisi website Pemerintah Kabupaten Sidoarjo agar tidak merusak halaman lain. Jika ada Attacker yang mencoba memanipulasi URL untuk memeriksa adanya celah LFI, maka attacker akan dilempar ke halaman utama website Pemerintah Kabupaten Sidoarjo.

3. Mencegah Directory View

Andai saja directory view dinonaktifkan, Attacker mungkin tidak akan pernah tau adanya form input dan edit berita yang tidak diproteksi dengan session. Cara mendisable directory view cukup mudah, yaitu dengan menambahkan code berikut pada .htaccess

IndexIgnore *

Sekarang, Attacker tidak akan bisa melihat adanya file-file sensitif tersebut:

{image: Disable Directory View}

Disable Directory View

Alternatif lain, tambahkan kode berikut pada .htaccess

Options -Indexes

User akan disuguhi pesan Error 403 Forbidden saat mencoba mengakses halaman tersebut.

4. Mencegah Akses terhadap File .inc

Untuk mencegah akses agar file-file konfigurasi koneksi database yang disimpan pada file .inc diintip oleh orang lain melalui browser, tambahkan code berikut pada .htaccess

<Files ~ "\.inc$">
Order Allow,Deny
Deny from All
</Files>

Jika ada orang iseng yang mencoba mengakses file .inc melalui browser, maka akses menuju file tersebut akan ditolak:

{image: Akses terhadap file .inc melalui browser ditolak}

Akses terhadap file .inc melalui browser ditolak

5. Enkripsi Informasi Sensitif Pada Database

Jangan menyimpan password user pada database dalam keadaan telanjang tanpa enkripsi. Tujuan dari enkripsi adalah untuk menyembunyikan password sebenarnya agar attacker tidak bisa memanfaatkan password tersebut sekalipun jika suatu ketika isi tabel user bocor.

6. Pintar Memilih Web Hosting

Saya tidak bermaksud menyarankan Pemerintah kabupaten Sidoarjo untuk pindah layanan hosting, lho ^^” Di balik celah-celah keamanan dan kelalaian pada layanan PT. Data Utama Dinamika, perusahaan tersebut pasti memiliki banyak sekali keunggulan ;) (tapi saya kurang tau dimana keunggulannya, karena kebetulan saya bukan client mereka ^^)

Saya hanya menyarankan untuk kita semua agar pintar memilih Web Hosting. Percuma bukan jika kita mendapat layanan dengan harga murah dan fitur berlimpah jika perusahaan tersebut memiliki reputasi yang buruk dalam keamanan ^^” Jadikan faktor keamanan sebagai faktor utama sebelum Anda memutuskan untuk mempercayakan data-data penting Anda pada suatu perusahaan :)

7. Perlindungan Lainnya

Untuk perlindungan terhadap celah lainnya, silahkan Anda baca kembali Solusi pada kasus Celah Keamanan Pada Website JAMSOSTEK.

PENUTUP

Saat ini, celah-celah yang ada pada pembahasan ini sudah ditutup sesuai dengan solusi yang telah saya bahas. Besar kemungkinan masih banyak celah lain pada portal Pemkab Sidoarjo yang belum masuk pada pembahasan saya. Anda menemukan celah baru? silahkan mengirimkan celah baru yang Anda temukan ke email saya. Saya akan menambahkan celah keamanan tersebut pada artikel ini beserta solusi untuk Administrator dengan mencantumkan kredit kepada Anda ;)


//E.O.F