Tampilkan postingan dengan label keamanan. Tampilkan semua postingan
Tampilkan postingan dengan label keamanan. Tampilkan semua postingan

Rabu, 12 Juni 2013

Filter gambar atau photo porno dengan php

3 comments
Tak semua pengguna aplikasi kita adalah orang baik-baik. Itu dalah salah satu statement yang harus kita pegang saat membuat aplikasi. Bukan hanya kemanan pada inti aplikasi tetapi meliputi juga konten didalamnya. Salah satu konten berbahaya adalah pornografi karena dapat memberi gambaran buruk mengenai aplikasi anda. Maka dari itu dikesempatan kali ini saya akan memberikan tutorial  filtrasi photo porno dengan php.
Read More...

Kumpulan Ebook keamanan Website gratis

Leave a Comment
Keamanan suatu website sangat lah penting, maka dari itu kali ini saya ingin berbagi ebook-ebook yang membahas kemanan web. Pembahasannya sangat luas mulai dari kemanan database, php, kemanan aplikasi yang dibuat menggunakan tekik ajax dan ada juga tutorial hacking. Silahkan anda dapat mendownloadnya melalui ling di bawah in:

Ebook KeamananWebsite

Password RAR:
bloghoctap.com
Read More...

Minggu, 19 Mei 2013

12 Tips Kemanan website dengan file .htaccess

2 comments
File .htaccess adalah file teks ASCII sederhana yang terletak di direktori www atau di sebuah sub direktori folder www. Anda bisa membuat atau mengedit file ini di Text Editor (Notepad) dan kemudian meng-uploadnya ke direktori yang ingin anda ubah setting-nya. Pastikan bahwa file tersebut diupload dalam format ASCII bukan BINARY, dan pastikan file permission untuk file tersebut telah diset menjadi 644 (rw-r-r–). Hal tersebut memungkinkan server untuk mengakses file tapi mencegah user untuk mengakses file tersebut dari browser mereka.

1. Mencegah Akses Ke .htaccess
Tambahkan baris berikut untuk menambah keamanan dari file .htaccess sehingga apabila ada usaha untuk mengakses file tersebut akan muncul pesan kesalahan 403. Tentu saja tidak lupa memberi-kan file permissionnya menjadi 644.

<Files .htaccess>
order allow,deny
deny from all
</Files>


2. Mencegah Akses Ke File Tertentu
Untuk membatasi akses ke file tertentu kita dapat menggunakan perintah berikut.Ganti nama rahasia.txt menjadi sesuai dengan kebutuhan anda.Nantinya file tersebut akan disembunyikan dan apa-bila terdapat usaha untuk mengakses file tersebut akan terjadi error 403.








<files rahasia.txt>
order allow,deny
deny from all
</files>






3. Mencegah Akses Ke Banyak File
Kita bisa mengganti beberapa extension dibawah sesuai dengan yang kita butuhkan.




<FilesMatch "\.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
Order Allow,Deny
Deny from all
</FilesMatch>

 
4. Mencegah User Melakukan Browsing Pada Setiap Direktori Server Kita



Mencegah User Melakukan Browsing Tanpa Pesan Error 403

IndexIgnore *
 

Mencegah User Melakukan Browsing Dengan Membatasi Extension File.

IndexIgnore *.wmv *.mp4 *.avi *.etc


5. Mengubah Index File
Secara default apabila kita membuat beberapa file dan salah satunya terdapat index file, maka file tersebutlah yang akan dijalankan terlebih dahulu. Dengan menggunakan .htaccess kita dapat merubah-nya menjadi nama file yang kita inginkan.

DirectoryIndex penggantiindex.php

6. Menyamarkan Extension PHP
Ini sangat berguna untuk menambahkan keamanan pada aplikasi PHP yang anda buat. anda bisa mengganti extension php pada aplikasi anda dengan extension yang telah anda daftarkan, Mungkin "LOL", "h#cking", dll. Nah dengan kode berikut, file tersebut akan tetap dibaca sebagai file PHP. Sedikit catatan, biasanya saya mencari file httpd.conf dan menambahkan extensionnya disitu, akan tetapi inilah kelebihan .htaccess. Kita tidak perlu merubah settingan asli pada Apache.


AddType application/x-httpd-php .hacking


7. Membatasi Akses Ke LAN (Local Area Network)


allow from 192.168.1.5
</Limit>

7.1. Bisa Menambahkan Domain

<Limit GET POST PUT>
order allow,deny
allow from all
deny from 192.168.1.5
deny from .*domain\.com.*
</Limit>
  
 


8. Mencegah Hotlinking
Hotlinking merupakan pencurian bandwidth melalui penggunaan sebuah image yang akan dipasang pada suatu halaman pada website lain, sehingga bandwidth dari website asal akan tersedot bila image yang dipasang pada website lain itu dibuka. Atau secara simple bisa diterjemahkan, ada orang lain yang mengkopi link image dari website kita dan menempatkannya pada website miliknya. Memang tidak terlalu banyak memakan bandwith akan tetapi hal ini cukup mengganggu dan mungkin kita bisa memberi sedikit pelajaran kepada si Pelaku. Kita akan melakukan beberapa praktek ringan.
 

Ketik kode berikut dan simpan dengan nama gambar.php

    <?php
      $pic = strip_tags( $_GET['pic'] );
      if ( ! $pic ) {
        die("Gambar Tidak Ditemukan");
      }
    ?>
    <html>
    <head>
    <title><?php echo($pic); ?></title>
    </head>
    <body>
    <p>
      <img src="/<?php echo($pic); ?>" alt="Test Hotlinking">
    </p>
    </body>
    </html>

    b. Siapkan gambar dengan nama terserah.jpg

    c. Upload kedua file tersebut ke server hosting ente.

    d. Buka browser dan ketik URL sebagai berikut
    hxxp://websiteente.com/gambar.php?pic=terserah.jpg
    maka hasil yg didapat sebagai berikut:

    [Image: hotlink.png]

    Bila hanya seperti ini orang lain bisa saja melakukan Copy Image URL untuk menampilkannya di website miliknya dg kode begini:
    hxxp://websiteente.com/terserah.jpg

    Nah untuk mencegah hal itu terjadi maka kita harus menyiapkan file .htaccess yang berisi baris-baris seperti ini:

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$ [NC]
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !websitekamu\.com [NC]
    RewriteCond %{HTTP_REFERER} !websiteteman\.com [NC] 
    RewriteCond %{HTTP_REFERER} !google\. [NC]
    RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
    RewriteRule (.*) /gambar.php?pic=$1




Maka ketika seseorang melakukannya lagi maka dia tidak akan mendapatkan hasil apa-apa.  

9. Memberikan Password Pada File

<Files rahasia.php>
AuthType Basic
AuthName "Prompt"
AuthUserFile /home/path/.htpasswd
Require valid-user
</Files>

9.1. Memberikan Password Pada Banyak File

<FilesMatch "^(execute|index|secure|insanity|biscuit)*$">
AuthType basic
AuthName "Development"
AuthUserFile /home/path/.htpasswd
Require valid-user
</FilesMatch>

9.2. Memberikan Password Pada Direktori Dimana .htaccess Berada

resides
AuthType basic
AuthName "This directory is protected"
AuthUserFile /home/path/.htpasswd
AuthGroupFile /dev/null
Require valid-user
  


10. Otomatis Memberikan CHMOD Kepada Setiap File
chmod .htpasswd files 640
chmod .htaccess files 644
chmod php files 600
  



11. Melindungi Dari Serangan DOS ( Denial Of Service ) Dengan Membatasi Upload File
Ini adalah salah satu metode sederhana yang bisa kita gunakan untuk mencegah serangan DOS. Disini kita membatasi ukuran upload sebesar 10240000 byte yang setara dengan 10 mb.


LimitRequestBody 10240000


12. Mengamankan Direktori Dari Pengeksekusian Script Atau File

AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI
  
 
Read More...

15 Cara Hacker Menembus Keamanan Website

Leave a Comment
1. Hacking dengan: IP Spoofing
IP Spoofing juga dikenal sebagai Source Address Spoofing, yaitu pemalsuan alamat IP attacker sehingga sasaran menganggap alamat IP attacker adalah alamat IP dari host di dalam network bukan dari luar network. Misalkan attacker mempunyai IP address type A 66.25.xx.xx ketika attacker melakukan serangan jenis ini maka Network yang diserang akan menganggap IP attacker adalah bagian dari Networknya misal 192.xx.xx.xx yaitu IP type C.

IP Spoofing terjadi ketika seorang attacker ?mengakali? packet routing untuk mengubah arah dari data atau transmisi ke tujuan yang berbeda. Packet untuk routing biasanya di transmisikan secara transparan dan jelas sehingga membuat attacker dengan mudah untuk memodifikasi asal data ataupun tujuan dari data. Teknik ini bukan hanya dipakai oleh attacker tetapi juga dipakai oleh para security profesional untuk men tracing identitas dari para attacker

2. Hacking dengan: FTP Attack
Salah satu serangan yang dilakukan terhadap File Transfer Protocol adalah serangan buffer overflow yang diakibatkan oleh malformed command. tujuan menyerang FTP server ini rata-rata adalah untuk mendapatkan command shell ataupun untuk melakukan Denial Of Service.

Serangan Denial Of Service akhirnya dapat menyebabkan seorang user atau attacker untuk mengambil resource didalam network tanpa adanya autorisasi, sedangkan command shell dapat membuat seorang attacker mendapatkan akses ke sistem server dan file-file data yang akhirnya seorang attacker bisa membuat anonymous root-acces yang mempunyai hak penuh terhadap system bahkan network yang diserang

3. Hacking dengan: Unix Finger Exploits
Pada masa awal internet, Unix OS finger utility digunakan secara efficient untuk men sharing informasi diantara pengguna. Karena permintaan informasi terhadap informasi finger ini tidak menyalahkan peraturan, kebanyakan system Administrator meninggalkan utility ini (finger) dengan keamanan yang sangat minim, bahkan tanpa kemanan sama sekali. Bagi seorang attacker utility ini sangat berharga untuk melakukan informasi tentang footprinting, termasuk nama login dan informasi contact.

Utility ini juga Menyediakan keterangan yang sangat baik tentang aktivitas user didalam sistem, berapa lama user berada dalam sistem dan seberapa jauh user merawat sistem. Informasi yang dihasilkan dari finger ini dapat meminimalisasi usaha kracker dalam menembus sebuah sistem. Keterangan pribadi tentang user yang dimunculkan oleh finger daemon ini sudah cukup bagi seorang atacker untuk melakukan social engineering dengan menggunakan social skillnya untuk memanfaatkan user agar ?memberitahu? password dan kode akses terhadap system.

4. Hacking dengan: Flooding & Broadcasting

Seorang attacker bisa menguarangi kecepatan network dan host-host yang berada di dalamnya secara significant dengan cara terus melakukan request/permintaan terhadap suatu informasi dari sever yang bisa menangani serangan classic Denial Of Service(Dos), mengirim request ke satu port secara berlebihan dinamakan flooding, kadang hal ini juga disebut spraying. Tujuan dari kedua serangan ini adalah sama yaitu membuat network resource yang Menyediakan informasi menjadi lemah dan akhirnya menyerah.

Serangan dengan cara Flooding bergantung kepada dua faktor yaitu: ukuran dan/atau volume (size and/or volume). Seorang attacker dapat menyebabkan Denial Of Service dengan cara melempar file berkapasitas besar atau volume yang besar dari paket yang kecil kepada sebuah system.

Dalam keadaan seperti itu network server akan menghadapi kemacetan: terlalu banyak informasi yang diminta dan tidak cukup power untuk mendorong data agar berjalan. Pada dasarnya paket yang besar membutuhkan kapasitas proses yang besar pula, tetapi secara tidak normal paket yang kecil dan sama dalam volume yang besar akan menghabiskan resource secara percuma, dan mengakibatkan kemacetan

5. Hacking dengan: Fragmented Packet Attacks

Data-data internet yang di transmisikan melalui TCP/IP bisa dibagi lagi ke dalam paket-paket yang hanya mengandung paket pertama yang isinya berupa informasi bagian utama( kepala) dari TCP.

Beberapa firewall akan mengizinkan untuk memroses bagian dari paket-paket yang tidak mengandung informasi alamat asal pada paket pertamanya, hal ini akan mengakibatkan beberapa type system menjadi crash. Contohnya, server NT akan menjadi crash jika paket-paket yang dipecah(fragmented packet) cukup untuk menulis ulang informasi paket pertama dari suatu protokol

6. Hacking dengan: E-mail Exploits

Peng-exploitasian e-mail terjadi dalam lima bentuk yaitu: mail floods, manipulasi perintah (command manipulation), serangan tingkat transportasi(transport level attack), memasukkan berbagai macam kode (malicious code inserting) dan social engineering(memanfaatkan sosialisasi secara fisik).

Penyerangan email bisa membuat system menjadi crash, membuka dan menulis ulang bahkan mengeksekusi file-file aplikasi atau juga membuat akses ke fungsi fungsi perintah (command function)

7. Hacking dengan: DNS and BIND Vulnerabilities

Berita baru-baru ini tentang kerawanan (vulnerabilities) tentang aplikasi Barkeley Internet Name Domain (BIND) dalam berbagai versi mengilustrasikan kerapuhan dari Domain Name System (DNS), yaitu krisis yang diarahkan pada operasi dasar dari Internet (basic internet operation)

8. Hacking dengan: Password Attacks

Password merupakan sesuatu yang umum jika kita bicara tentang kemanan. Kadang seorang user tidak perduli dengan nomor pin yang mereka miliki, seperti bertransaksi online di warnet, bahkan bertransaksi online dirumah pun sangat berbahaya jika tidak dilengkapi dengan software security seperti SSL dan PGP.

Password adalah salah satu prosedur kemanan yang sangat sulit untuk diserang, seorang attacker mungkin saja mempunyai banyak tools (secara teknik maupun dalam kehidupan sosial) hanya untuk membuka sesuatu yang dilindungi oleh password.

Ketika seorang attacker berhasil mendapatkan password yang dimiliki oleh seorang user, maka ia akan mempunyai kekuasaan yang sama dengan user tersebut. Melatih karyawan/user agar tetap waspada dalam menjaga passwordnya dari social engineering setidaknya dapat meminimalisir risiko, selain berjaga-jaga dari praktek social enginering organisasi pun harus mewaspadai hal ini dengan cara teknikal. Kebanyakan serangan yang dilakukan terhadap password adalah menebak (guessing), brute force, kracking dan sniffing

9.Hacking dengan: Proxy Server Attacks
Salah satu fungsi Proxy server adalah untuk mempercepat waktu response dengan cara menyatukan proses dari beberapa host dalam suatu trusted network


10. Hacking dengan: Remote Command Processing Attacks

Trusted Relationship antara dua atau lebih host Menyediakan fasilitas pertukaran informasi dan resource sharing. Sama halnya dengan proxy server, trusted relationship memberikan kepada semua anggota network kekuasaan akses yang sama di satu dan lain system (dalam network).

Attacker akan menyerang server yang merupakan anggota dari trusted system. Sama seperti kerawanan pada proxy server, ketika akses diterima, seorang attacker akan mempunyai kemampuan mengeksekusi perintah dan mengkases data yang tersedia bagi user lainnya


11. Hacking dengan: Remote File System Attack

Protocol-protokol untuk tranportasi data ?tulang punggung dari internet? adalah tingkat TCP (TCPLevel) yang mempunyai kemampuan dengan mekanisme untuk baca/tulis (read/write) Antara network dan host.

Attacker bisa dengan mudah mendapatkan jejak informasi dari mekanisme ini untuk mendapatkan akses ke direktori file

12. Hacking dengan: Selective Program Insertions
Selective Program Insertions adalah serangan yang dilakukan ketika attacker menaruh program-program penghancur, seperti virus, worm dan trojan (mungkin istilah ini sudah anda kenal dengan baik ?) pada system sasaran.

Program-program penghancur ini sering juga disebut malware. Program-program ini mempunyai kemampuan untuk merusak system, pemusnahan file, pencurian password sampai dengan membuka backdoor

13. Hacking dengan: Port Scanning
Melalui port scanning seorang attacker bisa melihat fungsi dan cara bertahan sebuah system dari berbagai macam port. Seorang atacker bisa mendapatkan akses kedalam sistem melalui port yang tidak dilindungi.

Sebaia contoh, scaning bisa digunakan untuk menentukan dimana default SNMP string di buka untuk publik, yang artinya informasi bisa di extract untuk digunakan dalam remote command attack

14. Hacking dengan: TCP/IP Sequence Stealing, Passive Port Listening and Packet
Interception TCP/IP Sequence Stealing, Passive Port Listening dan Packet Interception berjalan untuk mengumpulkan informasi yang sensitif untuk mengkases network. Tidak seperti serangan aktif maupun brute-force, serangan yang menggunakan metoda ini mempunyai lebih banyak kualitas stealth-like

15. Hacking dengan: HTTPD Attacks
Kerawanan yang terdapat dalam HTTPD ataupun webserver ada lima macam: buffer overflows, httpd bypasses, cross scripting, web code vulnerabilities, dan URL floods
Sumber
Read More...

Jumat, 17 Mei 2013

Spoofing dengan PHP

Leave a Comment
spoofing dapat didefinisikan sebagai "Teknik yang digunakan untuk memperoleh akses yang tidak sah ke suatu komputer atau informasi, dimana penyerang berhubungan dengan pengguna dengan berpura-pura memalsukan bahwa mereka adalah host yang dapat dipercaya".

Namun script yang saya buat kali ini tidak untuk kejahatan, fungsinya hanya mengirimkan HTTP Request palsu atau bisa dibilang kita akan belajar menipu web server , mencrawling URL target,dan  menampilkan konten dari URL target kedalam aplikasi kita dengan sama persis.
 

Pada tutorial kali ini saya menggunakan CURL  maka dari itu jika anda ingin mencoba menjalankan script dibawah pastikan CURL telah terinstal di PHP anda

<?php
 

set_time_limit(0);

$url = 'http://www.tujuan.com';



//spoofing HTTP request dengan header dan user agent palsu
function spoofer($url)
{


//penginisiansian curl
  $curl = curl_init();


//konfigurasi header
  $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
  $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
  $header[] = "Cache-Control: max-age=0";
  $header[] = "Connection: keep-alive";
  $header[] = "Keep-Alive: 300";
  $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
  $header[] = "Accept-Language: en-us,en;q=0.5";
  $header[] = "Pragma: "; 


  curl_setopt($curl, CURLOPT_URL, $url);


//memalsukan user agent dan berpura-pura sebagai googlebot
  curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1

(+http://www.google.com/bot.html)');
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header);


//memalsukan referer
  curl_setopt($curl, CURLOPT_REFERER, 'http://www.google.com');


  curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
  curl_setopt($curl, CURLOPT_AUTOREFERER, true);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_TIMEOUT, 10);

  $html = curl_exec($curl); // meneksekusi curl  curl_close($curl); // menutup koneksi
  return $html; // and finally, return $html
}

// menampilkan konten website 

$text = spoofer($url);
echo $text;
?>


Penjelasan:

set_time_limit(0)
fungsi ini berfungsi untuk menseting waktu maksimum ekseskusi sebuah program PHP dikhawatirkan proses ini berlangsung lama maka kita beri parameter 0 yang artinya waktu ekseskusi tak terbatas, hal ini untuk mencegah berhentinya proses disaat sedang berjalan karena kehabisan waktu ekseskusi.
Namun harus diperhatikan bahwa disebaian web hosting fungsi ini didisable untuk alasan keamanan.

 

 
Read More...

Selasa, 14 Mei 2013

Mencegah CSRF pada PHP

Leave a Comment

Keamanan dari suatu aplikasi sangat lah penting, bebicara soal keamanan sangat luas cakupannya maka dari itu kali ini saya hanya akan membahas salah satunya yaitu menganai CSRF(dilafalkan “sea-surf”).

Apa itu CSRF ?
CSRF atau Cross Site Request Forgeries adalah sebuah celah keamanan dimana aplikasi web terlalu mempercayai sebuah request walaupun request tersebut bukan berasal dari inisiatif pengguna.
Sebagai contoh :
Saya memiliki website,  dan saya adalah administrator.  Untuk mengakses halaman administrator saya diwajibka untuk login, disana ada saya dapat melakukan proses administrasi seperti membuat atau menghapus artikel. Untuk menghapus artikel saya dapat mengaksesnya dengan url :
www.websaya.com/artikel.php?action=hapus&id=1
maka setelah saya mengakses url  tersebut  artikel dengan id 1 akan terhapus
seseorang tidak dapat mengakses url tersebut karena sistem hanya akan melayani user yang telah login yaitu saya.
Lalu bagaimana CSRF bekerja?
Lalu ada sesorang  yang jahil mengetahui struktur url anda untuk menghapus artikel. Namun dia tidak dapat mengakse url tersebut dikarenakan dia tidak memiliki hak akses kehalaman administrasi anda. Lalu dengan cerdik dia menjebak anda dengan  dengan cara dia member anda link sebagai berikut
 
Dan anda tertarik untuk mengkliknya , dengan tidak sengaja anda telah menghapus artikel anda sendiri tanpa disengaja.
Atau bisa saja dengan sembunyi-sembunyi dia menyembunyikan tag sebagai berikut
<img src=”www.websaya.com/artikel.php?action=hapus&id=1”/>
Saat anda membuka website yang mengandung tag tersebut  artikel anda akan terhapus 

Lalu apa solusinya?
Begini , 
Untuk menampilkan link untuk manghapus saya menggunakan script berikut:
<?php

Session_start();
$_SESSION['token'] = md5(uniqid());
echo '<a href=”www.websaya.com/artikel.php?action=hapus&id=1”>Hapus</a>';
?>
Apa fungsinya session denga nama token?
Jadi begini saat anda mengakses halaman yang berisi link untuk menghapus artikel tersebut maka secara otomatis akan membuat session dengan value hash yang unik.
Apa gunanya…?
Saat anda ingin menghapus artikel  misal begini scriptnya
<?php
$id = $_GET[‘id’];
If(!isset($id) || empty($id)){
                //tidak manghapus karena id tidak ada atau kosong
} else {
                $token = $_SESSION[‘token’];
unset($_SESSION['token']);
if(empty($token)){
                //kemungkinan CSRF
} else {
                //hapus artikel disini
}
}
Begini penjelasannya pertama token yang telah terbuat saya simpan kedalam variable $token
Lalu saya mengosongkan session  token sehingga session yang tercipta dari link hapus akan berubah secara dinamis,lalau sebelum maghapus artikel  saya mengecek terlebih dahulu variable $token kosong atau tidak jika tidak artikel di hapus.
Dengan begini jika link berasal dari website lain maka tidak akan tercipta session token yang artinya perintah untuk mengahapus artikel tidak dapat di ekseskusi.
Selamat mecoba…..!


Read More...