Kekuatan dari 1 Baris Code…

Melanjutkan dari posting sebelumnya tentang tutorial melakukan serangan SQL injection pada website (lih. di bagian SQL injection), pada kesempatan kali ini saya ingin memposting sebuah jawaban dari pertanyaan dari seorang pembaca: “lantas, bagaimana cara mencegah SQL injection pada aplikasi tersebut?” Hehehe pada kesempatan kali ini saya akan membongkar sedikit code PHP dari aplikasi vulnerable tersebut dan melakukan patch agar web app tsb tidak vulnerable lagi terhadap SQL injection.

Continue reading “Kekuatan dari 1 Baris Code…”

RIPS, Static PHP Source Code Analyzer

Dulu, saya pernah membuat sebuah aplikasi sederhana yang di-design sedemikian rupa agar vulnerable terhadap berbagai tipe serangan web yang umum (untuk belajar hacking web). Aplikasi ini dibuat dalam bahasa pemrograman PHP. Beberapa bug/security hole yang sengaja dibuat pada aplikasi ini antara lain: SQL injection, XSS, Local file inclusion. Masih banyak teknik serangan lain yang bisa digunakan untuk mengeksploitasi aplikasi ini. Kalau penasaran, silakan mengeksplorasi aplikasinya disini. Masih berkaitan dengan aplikasi saya yang vulnerable ini, belakangan saya disibukkan dengan kegiatan hardening beberapa server, termasuk hardening aplikasinya. Dalam melakukan hardening aplikasi itu berarti termasuk melakukan analisis probabilitas vulnerability sampai level source code aplikasinya. Untuk kegiatan hardening itu, saya menggunakan software komersil untuk analisis vulnerability application pada source code bernama Checkmarx. Nah, untuk kali ini, dalam melakukan analisis vulnerability aplikasi kecil saya yang tidak komersil ini, saya mencari tau apakah ada tool yang secara fungsional sama dengan Checkmarx tetapi free. Setelah itu, jatuhlah pilihan saya pada RIPS, tool free untuk melakukan analisis source code dalam pemrograman PHP. Berikut ini hasil setelah saya hands-on dengan tool RIPS ini.

Continue reading “RIPS, Static PHP Source Code Analyzer”

Mencuri Gambar/Foto Terproteksi Watermark yang Menggunakan PHP Auto-watermark

Sekarang ini kayaknya lagi musim photoblog apalagi dengan hadirnya instagram. Everyone is photographer these days, hahaha. Nah, suatu hari saya sedang mencari foto-foto bertema “langit malam dan bintang” di internet. Saya mendapatkan satu foto bagus tetapi sudah dipasang watermark. Wah apes nih, tau aja ni foto bagus, jadi di-watermark-in sama yang mpunya. Dari browser, saya mencoba klik kanan, “Copy Image URL” dan paste di tab baru. Ternyata gambarnya bukan di watermark secara “fisik” yang sudah nempel di gambar gitu, tapi melainkan hanya rekayasa file PHP dan bisa dibypass dan ambil gambar aslinya. Karena alesan saya kasihan, mungkin saja foto-foto doi emang diproteksi watermark biar gak dicuri hasil jerih payah jepretnya itu, saya rahasiaken website doi dan menggantinya dengan simulasi ini. Kira-kira seperti ini jika saya simulasikan…

Continue reading “Mencuri Gambar/Foto Terproteksi Watermark yang Menggunakan PHP Auto-watermark”

Solusi Praktis Hardening Captcha

Setelah saya ngepost tentang cracking captcha, pada post ini akan dibahas bagaimana cara agar captcha milik kita sedikit lebih kuat dari ancaman bot/script yang memiliki kemampuan membaca karakter pada image dengan teknik OCR. Pada post sebelumnya sudah disinggung bagaimana membuat captcha yang susah dibaca dengan menambah noise pada image captcha. Yang akan kita lakukan adalah membuat captcha yang memiliki cukup noise sehingga sulit dibaca dengan teknik OCR tersebut.

Continue reading “Solusi Praktis Hardening Captcha”

Captcha Cracking

Anda pasti sudah tau captcha. Yaa minimal pernah ketemu makhluk ini waktu register email atau waktu ngisi guestbook blog teman. Captcha merupakan metode security untuk memfilter botnet/scripting sehingga melindungi website dari tujuan tidak baik. Katakanlah ada botnet spesialis “nyampah komen 1000x dalam satu kali eksekusi” di form guestbook anda. Tinggal tambahkan captcha, jadi deh si scirpt tidak segampang itu nyampah di guestbook anda.

Cara kerja captcha dengan challenge-response, yaitu memberikan challenge berupa tebak gambar yang selalu berubah (ini contoh captcha yang umum), beberapa ditemui juga captcha soal hitungan, dsb. Kita sebagai manusia kemudian memberi input (response)-nya. Captcha merupakan cara yang sangat ampuh mengeliminasi robot yang tentu bakal kesusahan menebak huruf (ataupun mengenal angka kemudian menghitungnya). Sehingga efektifitas captcha menurut saya seharusnya ada 2 saja dan tidak neko-neko.. yaitu hanya:

  1. Menyulitkan robot
  2. Tidak menyulitkan manusia.

Continue reading “Captcha Cracking”

Facebook Session Hijacking?

Ahh.. hari ini sungguh menentramkan jiwa dan raga sehingga saya bisa punya waktu menulis blog dan berencana melakukan perbuatan iseng kecil-kecilan haha. Ya, saya kepikiran untuk mencoba membajak sesi login facebook temen sebelah hahaha. Dulu di percobaan pertama saya melakukan percobaan session hijack di “posting berita” buatan saya sekitar 4 tahun lalu dan design aplikasi facebook jaman dulu, jadi modal PeDe mencoba iseng bajak sesi login facebook ini. Sebelum bahas mbajak login facebook ini, intro teknik membajaknya saya ilustrasikan di cerita membajak sesi login website “posting berita” sederhana yang simple dan udah jadul dulu yaa..

Continue reading “Facebook Session Hijacking?”

PHP MySQL Connect Security

Dalam programming, tentu saja pesan error sangat membantu programmer melakukan debugging. Tetapi pesan error tersebut bisa menjadi bumerang yang malah menguntungkan para hacker oportunis. Kenapa bisa terjadi? Coba baca tulisan saya di posting ini, bagaimana bisa menebak nama bokap teman anda dengan metode ‘salah sambung’. Pesan error begitu sangat vital untuk website yang sudah publish dan running. Jadi sebaiknya dihilangkan saja pada website anda. Pada posting kesempatan kali ini, saya beri contoh hal terkecil saja. Hanya karena kurang satu karakter ini di code anda, informasi server anda sedikit “terbuka”.

Continue reading “PHP MySQL Connect Security”

PHP Reverse Shell, Sebuah Cerita Hacking…

Lagi-lagi berusaha menyempatkan waktu luang untuk mencurahkan ide dan pikiran kedalam sebuah tulisan. Kali ini saya ingin bercerita sebuah skenario perampokan sistem pada host. Walaupun server telah dilapis firewall dan sensor deteksi intrusi, tetap saja bisa bypass karena kita akan melakukan kejahatan via request HTTP biasa a.k.a legacy traffic menurut webserver ini (halah). Tidak ada tindakan yang butuh tools destruktif yang bisa membangkitkan firewall atau pendeteksi intrusi =P.  Server ini hanya membuka beberapa port saja, dan aplikasi servicenya pun up to date. Jadi ketika dicoba cari celah pake vulnerability scanner tidak mendapatkan petunjuk, dan dicoba pake metasploit pun tidak membuahkan hasil… hmmm  tetapi hanya karena kesalahan kecil sebuah fitur pada suatu aplikasi web kita bisa menguasai sistem target! Supaya enak, dibuat beralur seperti cerita sajah 😛

Pertama-tama, disuatu masa terdapatlah sebuah aplikasi web yang cukup interaktif. Terdapat form upload disana. Semua user bisa meng-upload file yang mereka inginkan ke server web tersebut. Jadi jika seorang user meng-upload file bernama asdf.jpg dari komputernya ke website ini, maka file asdf.jpg akan di upload ke server web tersebut.

Continue reading “PHP Reverse Shell, Sebuah Cerita Hacking…”

Belajar XML HTTP Request Dari Dasar

Pada kesempatan kali ini, saya ingin sekedar sharing tentang penggunaan XML HTTP Request dari dasar. Tidak usah malu belajar dari dasar, karena sebenernya XML HTTP Request di web yang sudah kompleks pun asalnya dari dasar ini. Jadi diharapkan ketika mengerti dasarnya ini, semoga bisa dimengerti saja dulu. Pengembangan kode untuk sesuai kebutuhan anda itu terserah pada anda hahah…

Dengan XML HTTP Request kita dapat menghemat bandwidth, karena metode ini merequest konten pada URL tertentu dan ditampilkan di bagian tertentu pada halaman website tanpa harus me-load lagi seluruh halaman. Oh iya, walaupun untuk bisa mencoba XML HTTP Request hanya perlu minimal halaman HTML, tetapi dibutuhkan peran webserver juga untuk merespon request. Jadi XML HTTP Request harus berjalan di lingkungan webserver, ga bisa asal taro di lokasi tertentu, double klik dan liat hasilnya 😛 Langsung saja ke percobaan…

Continue reading “Belajar XML HTTP Request Dari Dasar”

Membuat Browser Detection Pada Website dengan PHP

Membuat browser detection pada prinsipnya adalah mengambil informasi user agent browser (client) dari value $_SERVER[‘HTTP_USER_AGENT’] kemudian memberikan ‘perlakuan’ lanjut terhadap informasi user agent tersebut. Yap sudah deh.. Hah.. semudah itukah? Yak betul. Hanya dibutuhkan sedikit dasar scripting PHP untuk membuat browser detection pada website.

Continue reading “Membuat Browser Detection Pada Website dengan PHP”