Update, Cara Mengamankan Website Dari Hacker Deface


Cara mengamankan website dari serangan defacer
sebelum membahas lebih item alangkah baiknya kita mengenal apa itu defacer
Defacer adalah orang yang hobi merusak tampilan website tidak memandang website yang diserang.
bagi anda yang websitenya pernah dideface pasti bertanya tanya apasih tujuanya merusak tampilan website?


tujuan defacer sangatlah banyak berikut saya akan menjawab pertanyaan anda:

  1. untuk pamer
  2. bentuk pemrotesan
  3. untuk menyurahkan isi hatinya
  4. sengaja ingin menghancurkan website tersebut
  5. mencari keuntungan
  6. biar di anggap hacker
  7. menguji keamanan
hanya itu yang saya ketahui, bagaimana pendapat anda yang pernah jadi korbanya?
tulis saja di kolom komentar

dan bagaimana cara mengamankan website dari serangan defacer.
sebelum anda mempelajari safety anda harus tau bagai mana cara defacer merusak website anda.

banyak sekali metode untuk menerobos sistem keamanan website mereka biasa menyebutkan titelnya saja.

dan berikut ini metode yang dilakukan defacer
  1. sql injection
  2. bruteforce
  3. bypass login
  4. uploader vulnbility
  5. kcfinder
  6. fckeditor
  7. responsive file manager
  8. pasang iklan
  9. com_fabrik
  10. com_user
  11. com_sexy
  12. com_collector
  13. kindeditor
  14. webdav
  15. jdownload
  16. revslider
  17. js overlay
  18. open jurnal system
  19. balitbang
  20. sqli lokomedia
  21. bukutamu
itu sedikit dari yang saya ketahui sebenarnya sangatlah banyak 

bagai mana proses deface website. mereka mengincari shape yang terdapat fitur file upload
lalu mengupload file backdoor(pintu belakang) atau trounce dan server anda akan di ambil alih
defacer mendapat hak akses untuk merubah,menghapus,mendownload file di website anda dan termasuk database.

trounce adalah akses masuk pintu belakang di sebuah cpanel

dan beginilah bentuk sebuah shell


layaknya cpanelkan? trounce terbentuk hanya satu file PHP dan betapa bahayanya kalau di sisipkan suatu website.

oke sekian pembahasan bagaimana situs anda bisa di deface


lanjut membahas bagaimana cara mengamankan website dari deface

bagaimana caranya? pasti sebagian dari kalian sudah tau cara mengamankan dari apa yang saya terangkan di atas

kebanyakan website mempunyai põrnikas sql injeksi karena sebuah website tidak lepas yang dinamakan database.
Baca juga cara mengamankan website dari serangan sql injection
 kenapa bisa terdapat celah sql injeksi?

 karena kesalahan coding yang tidak memfilter variabel/parameter GET dan POST

bagai mana cara memfilternya?

anda bisa menggunakan syntax yang sudah di sediakan di php
1
2
addslashes
mysql_escape_string


contoh:
1
2
3
4
5
addslashes($_GET['id']);
mysql_escape_string($_GET['id']);
addslashes($_POST['password']);
mysql_escape_string($_POST['password']);

atau memakai script yang ini
1
2
3
4
5
6
function lulzbug($data){
$filter=mysql_real_escape_string(htmlspecialchars(stripslashes(strip_tags($data,ENT_QUOTES))));
return $filter;
}
lulzbug($_GET['id']);
lulzbug($_POST['password']);


sebuah fungsi lulzbug adalah melarang karakter selain huruf dan angka

itulah script safety untuk mencegah sql injection(GET) dan bypass sql injection login(POST)

dan pasang CAPTCHA di shape login agar tidak bisa di bruteforce

intuk methode lain jangan memasang plugin yang saya sebutkan diatas seperti kcfinder,kind editor dan sebagainya

kalau fitur upload sangat penting bagi  website anda,
anda harus memfilter extensi file. jangan mengizinkan file php terupload hanya mengizinkan file gambar seperti jpg,jpeg,png,gif

Validasi file upload sangat penting dilakukan karena adanya fitur mengunggah file ke spider web server adalah kegiatan yang cukup berbahaya. Ambil contoh pada sebuah spider web yang mengijinkan user untuk meng-upload foto/gambar bisa jadi dijadikan celah bagi para hacker untuk meletakan script berbahaya pada server.
Berbekal beberapa baris kode PHP kita sudah bisa membuat file upload sederhana. Namun hanya mengandalkan script sederhana tersebut tidak cukup untuk membuat file upload yang bisa diandalkan.
Untuk meminimalkan celah pada fitur file upload, dapat dilakukan dengan cara memverifikasi jenis file yang diupload. Kita tidak boleh mengandalkan informasi dari ekstensi file atau dari nilai $_FILES['berkas']['type'] atau dari mime type karena ketiga informasi tersebut bisa dipalsukan. Lebih baik menggunakan fungsi PHP exif_imagetype() untuk memeriksa signature dari file yang diupload atau fungsi PHP getimagesize() untuk memperoleh ukuran gambar.
1
2
3
4
5
$fileType = exif_imagetype($_FILES['myFile']['tmp_name']);
$allowed = array(IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG);
if (!in_array($fileType, $allowed)) {
  echo "hanya diijinkan untuk meng-upload file gambar (gif, jpg, atau png)";
}
Namun tidak menutup kemungkinan, fungsi PHP di atas juga belum cukup untuk menghentikan hacker yang kelewat kreatif. Jadi perlu ditambahkan juga pemeriksaan ekstensi file, dan ubah paksa file .php menjadi file .jpg sehingga kode php yang mungkin lolos dari pemeriksaan pertama tidak bisa dieksekusi di server.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<form action="" method="post" enctype="multipart/form-data">
 <input type="file" name="myFile"/>
 <input type="submit" value="Upload"/>
</form>
<?php
define("UPLOAD_DIR", "images/");
if (!empty($_FILES['myFile']['name'])) {
     
  // verifikasi file gambar (GIF, JPEG, atau PNG)
  $fileType = exif_imagetype($_FILES['myFile']['tmp_name']);
  $allowed = array(IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG);
  if (!in_array($fileType, $allowed)) {
    echo "hanya diijinkan untuk meng-upload file gambar (gif, jpg, atau png)";
  }
     
  else{
    $myFile = $_FILES['myFile'];
    // ubah paksa nama file yg mengandung selain huruf, angka, ".", "_", dan "-" dengan regex
    $name = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile['name']);
    // periksa ekstensi file
    $parts = pathinfo($name);      
    if (isset($parts['extension'])) {
      $ext = $parts['extension'];
             
      if ($ext !== 'jpg' && $ext !== 'gif' && $ext !== 'png')
        $ext = "jpg";
             
    $name = $parts['filename'] . '.' . $ext;
      }
         
      else { // jika file tidak memiliki ekstensi maka berikan ekstensi .jpg
        $ext = 'jpg';
    $name = $parts['filename'] . '.jpg';
      }
      // simpan file
      move_uploaded_file($myFile['tmp_name'], UPLOAD_DIR . $name);
  }
}



Sebagai tambahan, mungkin juga perlu untuk membatasi ukuran file yang diupload untuk melindungi website dari serangan yang mencoba mengganggu network traffic atau system load.
oke sekian semoga artikel diatas bermanfaat untuk anda

Comments

Popular posts from this blog

Update, Download 10+ Peel Bussid / Jitney Simulator Indonesia Keren

Update, Cara Membuat Desain Stempel Dengan Corel Depict Untuk Pemula

Update, Kode Warna Html Lengkap Sum Color