Kamis, 09 Januari 2014

Dasar-Dasar Kriptografi & Implementasinya

Dasar-Dasar Kriptografi dan Implementasinya Dengan Borland Delphi 7 – Dasar-Dasar Cryptography dan Implementasinya
Dasar Dasar Kriptografi
Dokumen ini dibuat dengan tujuan untuk memasyarakatkan kriptografi dan meng-kriptografikan masyarakat. Karena, masih banyak kawan-kawan yang menganggap kriptografi sebagai ilmu yang sangat tinggi dan sulit dipelajari, bahkan ada yang mengkategorikan ilmu ini sebagai ilmu gaib. :D Saya tidak akan bilang bahwa ilmu ini mudah, dan dapat dipelajari hanya dalam waktu semalam. Tidak kawan, semua ilmu yang bagus butuh proses.
Dokumen ini tidak dibuat untuk menjadi referensi utama untuk kriptografi. Karena, kriptografi terlalu luas untuk dibukukan dalam satu buku setebal novel Lord of The Ring, apalagi dalam satu dokumen facebook seperti ini! :D Lebih tepat jika dokumen ini dijadikan sebagai “penunjuk jalan” ke dunia kriptografi yang menarik dan menyenangkan dengan kemungkinan eksploitasi tanpa batas. Untuk kawan-kawan yang sudah lebih tinggi ilmu dan pengalamannya di bidang ini, dengan segala kerendahan hati, saya mohon izin dan maklum atas kesalahan yang mungkin ada di dokumen ini.
Tujuan awal dari kriptografi adalah menyembunyikan isi pesan sehingga tidak dapat terbaca oleh pihak-pihak yang tak diinginkan, tetapi masih dapat dimengerti oleh pihak yang dituju. Seiring perkembangan jaman, kriptografi banyak diterapkan di berbagai bidang, mulai dari tukar menukar informasi di perang dunia kedua, hingga dunia komputerisasi yang kita alami saat ini.
Dokumen ini, tentu saja, tidak akan membahas bagaimana pasukan Nazi mengoperasikan “Enigma”, sehingga membingungkan pihak sekutu. Dokumen ini “hanya” akan membahas kriptografi dan implementasinya di bidang IT. Implementasi yang akan ditunjukkan juga hanya implementasi dasar dan bersifat “offline”, bukan implementasi canggih seperti “email transaction”, “pay pal autorization”, “handshake cryptographic”, dll. Tapi, percayalah kawan, semua implementasi canggih itu, berdasar dari implementasi dasar ini.
Dalam dokumen ini akan dipakai istilah yang umum dipakai dalam dokumen-dokumen kriptografi. Contohnya adalah “plain text”, yaitu pesan asli yang hendak disampaikan. “Cipher text“, yang artinya pesan yang telah di-enskripsi. Dan istilah-istilah lainnya yang mungkin membingungkan, maaf bila itu terjadi.
Sesuai judulnya, dokumen ini menggunakan Borland Delphi 7 sebagai compiler kode-kode yang digunakan. Kenapa? Yap, karena saya memang paling nyaman menggunakan Delphi dengan versi tersebut untuk hal-hal yang berbau kriptografi. Anda bisa memilih menggunakan compiler lain yang paling anda sukai. Untuk library yang dijadikan referensi kriptografi, saya selalu mempercayakan kepada bang Barton, di situs :http://www.cityinthesky.co.uk/opensource/dcpcrypt. Selain open source, alasan saya menggunakan library tersebut adalah kelengkapan dari metode kriptografi yang digunakan. Namun lagi-lagi, ini tidak mengikat. Anda bebas menggunakan library manapun yang paling cocok dengan anda, atau bila anda sudah cukup memahami alur dari algoritma suatu metoda, anda bisa menulis library sendiri.
File-file implementasi yang disertakan dalam dokumen ini merupakan source yang siap di-compile. Bagi kawan-kawan yang memiliki Borland Delphi 7 terinstall di komputernya, bisa langsung meng-klik file dengan ekstensi “dpr”. Bagi yang tidak menginstall compiler tersebut, untuk mengetahui isi kode program, bisa membuka file dengan ekstensi “pas” dengan notepad atau text editor lainnya. File “exe” juga disertakan untuk melihat implementasinya secara langsung.
Dari output yang dihasilkan, kriptografi dapat dibagi menjadi dua, yaitu kriptografi “satu-arah” dan “dua arah”. Dan dalam kriptografi “dua-arah” pun, bila dilihat dari jenis “key” yang digunakan, dapat dibagi menjadi dua, yaitu “symetric key” dan “asymetric key”. Begitulah kira-kira kerangka dari dokumen ini. Walaupun terbagi-bagi seperti itu, tidak menutup kemungkinan semua jenis kriptografi tersebut di implementasikan bersama-sama, atau yang lebih dikenal dengan metode “hybrid”. Pada akhir dokumen, akan diperlihatkan implementasi dari metode hybrid ini.
Dalam implementasinya di dunia IT, plain text yang diinput ke dalam kriptografi, bentuknya bisa bermacam-macam. Bisa file exe, dokumen, gambar, musik, dan semua file digital lainnya. Tergantung dari sang pengguna yang meng-implementasikannya. Inilah mengapa kemungkinan dalam kriptografi menjadi tak terbatas dan sangat menarik! :)
////////////////////////////////////
Kriptografi Satu Arah
////////////////////////////////////
Sesuai namanya, kriptografi ini hanya bisa berjalan satu arah. Atau dengan kata lain, hanya bisa merubah plain text menjadi cipher text, tapi tidak bisa mengembalikan cipher text menjadi plain text. Kriptografi jenis ini sering disebut sebagai “hash”. Ciri khusus hash ini adalah, chiper text yang dihasilkan berbeda-beda (unik) untuk setiap plain text yang di input. Karena ciri khusus ini, hash sering kali dimanfaatkan sebagai “sidik jari” suatu file atau dokumen.
Metode hash yang umum digunakan adalah MD5, SHA1, RipeMD128. Sebenarnya masih banyak metode lainnya, tapi dalam implementasi yang akan disajikan, metode hash yang digunakan adalah ketiga metode tersebut. Implementasi bisa di download di :
Dengan mengeksekusi file “exe” dari implementasi tersebut, dapat kita lihat bahwa tools ini mampu menghitung hash dari plain text dengan jenis text maupun file. Tapi, jangan coba-coba menghitung hash dari file yang berukuran >= 10 MB dengan tools ini, kecuali jika prosessor anda cukup mumpuni. Karena memang, implementasi ini dirancang dengan tidak memperhatikan optimasi pembacaan file. Silahkan anda optimasi sesuka anda. :)
Dalam implementasi tersebut, kode utama terletak pada file “Unit1.pas”. File “DCPmd5.pas”, “DCPsha1.pas”, dan “DCPripemd128.pas” merupakan library dari metode yang bersangkutan yang disediakan oleh DCPCrypt. Sedangkan, file “DCPcrypt2.pas”, “DCPconst.pas”, “DCPblockciphers.pas”, dan “DCPbase64.pas” merupakan file yang “diwajibkan” oleh
DCPCrypt untuk ditaruh di folder yang sama dengan kode utama. Atau bila anda sudah menginstall Borland Delphi 7, anda bisa melihat itu semua dengan membuka file “Project1.dpr”. File yang lain bisa diabaikan, karena merupakan hasil “generate” dari compiler.
Oke, kita coba bedah “source code” dari tool ini untuk memperjelas implementasi kriptografi satu arah atau “hash” ini. Mari kita lihat pada kode utama di baris 42 sampai baris 100. Di situ dapat kita lihat tiga fungsi untuk menghitung masing-masing metode hash. Fungsi-fungsi ini dibuat sendiri oleh saya dengan berpedoman pada petunjuk pemakaian yang dianjurkan oleh DCPCrypt, yang artinya fungsi ini tidak “baku”, dan ya, anda bisa membuat versi yang berbeda sesuai dengan kebutuhan dari implementasi yang anda inginkan.
Dari ketiga fungsi tersebut, dapat kita lihat bahwa fungsi tersebut membutuhkan 1 parameter yang memiliki tipe String, dan akan mengembalikan String juga. Hal ini saya lakukan dengan pertimbangan untuk mempertahankan format awal kriptografi, dari Plain Text berbentuk string menjadi Cipher Text berbentuk string juga. Tapi sekali lagi, ini tidak baku, anda bisa mengganti parameter input menjadi tipe array dari byte misalnya, untuk membaca stream.
Lalu di baris 122 sampai baris 171 pada kode utama, dapat kita lihat proses perhitungan hash dilakukan pada saat user meng-klik tombol “Hash It”. Dapat kita lihat, jika user memilih untuk menggunakan mode “Text”, maka kodenya cukup simpel, hanya meng-assign variable “strPlain” dengan apa yang di-input oleh user. Yang sedikit “tricky” adalah jika user memilih mode “File”, atau menghitung hash dari File yang dipilih. Berbagai macam pendekatan bisa dilakukan di sini. Mengingat ketiga fungsi untuk menghitung hash tadi membutuhkan Plain Text dengan bentuk string, maka pendekatan yang saya pilih adalah merubah semua “isi” file ke dalam bentuk string, lalu meng-assign string tersebut ke dalam strPlain. Setelah variable strPlain siap, kita masukkan variable tersebut sebagai parameter di fungsi untuk menghitung hash dengan metode yang dipilih user.
Demikianlah salah satu contoh implementasi kriptografi satu arah. Implementasi ini bisa dimanfaatkan untuk mengecek ke-aslian suatu file, karena bila suatu file sudah di modifikasi, maka nilai hash akan berubah. Bila anda tertarik untuk melihat detail dari algoritma dari setiap metode, anda bisa melihatnya pada file “pas” yang bersangkutan. Atau saran saya, coba debug program tersebut, agar anda dapat “merasakan” bagaimana algoritmanya mengalir.
////////////////////////////////////
Kriptografi Dua Arah
////////////////////////////////////
Kriptografi jenis ini mungkin sering direferensikan sebagai kriptografi yang “sesungguhnya”, karena memiliki metode “encrypt” untuk merubah plain text menjadi cipher text, dan metode “decrypt” untuk mengembalikan cipher text menjadi plain text. Dalam kriptografi jenis ini, selain plain text dan cipher text, dibutuhkan parameter lainnya yang disebut “key”. Saat ini dikenal dua jenis key yang digunakan, yaitu “Symmetric Key” dan “Assymetric Key”.
Yang perlu diingat dalam proses kriptografi dua arah ini adalah, proses encrypt dan decrypt harus memiliki operasi yang saling bertolak belakang. Misal, pada proses encrypt kita menggunakan operator “+” (tambah), maka pada proses decrypt kita harus menggunakan operator “-“ (kurang). Karena itu, dalam implementasi kriptografinya proses encrypt dan decrypt dibuat menjadi dua implementasi yang berbeda, namun saling melengkapi. Untuk proses decrypt, implementasi akan meniru proses verifikasi serial sebuah software, sedangkan untuk proses encrypt, implementasi akan bertindak sebagai “keygen”-nya.
————————
Symmetric Key
————————
Yang dimaksud dengan symmetric key atau key yang simetris adalah, parameter key yang digunakan dalam proses encrypt dan decrypt, sama. Panjang dari parameter key ini pun bervariasi tergantung dari metoda yang digunakan. Dalam implementasi yang akan diberikan, metoda yang digunakan adalah RC4 dan Blowfish, dengan panjang key 128 bit atau 16 byte.
Dengan alasan tertentu, implementasi akan diberikan dan dibahas dimulai dari proses decrypt terlebih dahulu. Implementasi decrypt dapat di download pada:
Sekali lagi, implementasi ini meniru verifikasi serial sebuah software, tetapi tentu saja, dibuat se-sederhana mungkin, agar proses kriptografinya lebih menonjol. Jadi, implementasi ini bersifat sebagai “penerima” pesan, kemudian mencoba men-decrypt pesan tersebut dan mem-verikasikan apakah pesan tersebut berasal dari “pengirim” pesan yang sah atau tidak.
File-file yang terdapat dalam implementasi ini, tidak jauh berbeda dengan yang berada pada implementasi kriptografi satu arah, hanya library metoda yang bersangkutan yang berubah. Kode utama, lagi-lagi terletak di “Unit1.pas”. Mari kita buka kode tersebut untuk mulai membedah implementasi ini.
Baris 33 sampai dengan 87, menunjukkan dua fungsi untuk men-decrypt dengan masing-masing metoda. Proses decrypt kedua metoda dibuat seragam dengan tujuan menghindari kebingungan, dan yang pasti bukan bentuk baku. Yang berbeda tentu saja algorithma inti masing-masing metoda yang terdapat di file *.pas masing-masing. Dikarenakan penyeragaman ini, pembahasan satu metoda bisa mewakili metoda yang satunya.
Pada baris 35 dapat kita lihat, inisialisasi konstanta key yang disiapkan untuk proses decrypt. Key dibuat dengan format array dari byte dengan lebar 16. Atau, dengan kata lain, key memiliki panjang 16 byte, atau 128 (16*8) bit. Yang perlu dicatat adalah, bahwa dalam Delphi, notasi “$” menunjukkan bahwa angka yang ditulis dalam bentuk hexadecimal. Jadi, pendeklarasian array tersebut bisa saja ditulis seperti ini :
key : array[0..15] of byte = (71,114,105,110,100,83,116,111,110,101,73,115,71,111,111,100);
Pendeklarasian array diatas menggunakan notasi desimal, dengan nilai yang sama. Lalu, mengapa dalam implementasi ditulis dengan notasi hexadecimal? I just love hex, nothing more.
Oke, mari kita lihat di baris 39 dan 40. Di situ dideklarasikan dua variable array untuk menampung input dan output dari proses decrypt ini. Karena yang dilakukan saat ini adalah proses decrypt, maka input adalah Cipher Text yang ditampung pada variable arrCipher, sedangkan output adalah Plain Text yang ditampung pada variable arrPlain. Kedua variable tersebut dibuat dengan panjang yang sama yaitu 8 byte. Hal ini perlu dicatat, karena akan berpengaruh pada penggunaan fungsi ini, kita akan sampai ke sana nanti.
Fungsi decrypt ini menerima parameter dalam bentuk String sebagai input, seperti yang terlihat pada baris 33, sedangkan variable yang di-input ke proses decrypt inti berbentuk array dari byte, seperti yang terlihat pada baris 51. Maka, baris 44 sampai 48, bertugas untuk meng-convert variable String menjadi array of byte. Ada banyak metode yang bisa digunakan untuk tugas ini, seperti misalnya mengambil nilai ASCII dari masing-masing karakter di dalam string, lalu menyimpannya ke dalam array of byte. Tetapi, dalam implementasi ini, metode yang akan digunakan adalah, mengambil setiap 2 (dua) karakter dari string, lalu ditambahkan notasi “$” di depannya untuk kemudian di rubah kedalam bentuk byte (integer) dan disimpan ke dalam array. Dan hal ini dilakukan dengan loop sebanyak 8 (0-7)putaran, karena panjang variable penampung yang ada (arrCipher) adalah 8. Karena itu, panjang String yang valid untuk di-input ke dalam fungsi ini adalah 16 (8*2) karakter, dan karakter yang ada haruslah karakter bilangan hexadecimal, yaitu 1-9 dan A-F. Mari kita ambil contoh untuk memperjelas :
Misalkan, string yang di-input adalah :
“1234567890ABCDEF”
Maka array of byte yang terbentuk adalah :
($12, $34, $56, $78, $90, $AB, $CD, $EF)
atau dalam bentuk desimal adalah :
(18, 52, 86, 120, 144, 171, 205, 239)
Semoga contoh di atas cukup jelas untuk menggambarkan “aliran” algo konversi tersebut.
Baris 49 sampai 52 merupakan kode untuk melakukan proses inti decrypt yang diwajibkan oleh library DCPCrypt ini. Dan hasil dari proses decrypt inti ini ditampung di variable arrPlain yang berbentuk array of byte. Baris 53 mempersiapkan (mengosongkan) variable strResult yang akan menampung hasil dari fungsi decrpyt ini. Jika pada input tadi kita meng-convert dari variable String ke array of byte, sekarang untuk output kita lakukan kebalikannya, merubah variable array of byte ke String. Dan itulah yang dilakukan pada baris 54 sampai 57.
Metode yang digunakan sekarang adalah mengambil setiap byte dari array, lalu men-subtitusikannya dengan karakter yang memiliki nilai ASCII yang bersangkutan, untuk kemudian ditambahkan di variable strResult. Metode ini lebih simpel dari metode sebelumnya, tetapi mari kita ambil contoh untuk lebih memperjelas :
Misalkan, dalam variable arrPlain adalah :
(71, 119, 84, 97, 109, 112, 97, 110)
maka dalam variable strResult akan terbentuk :
“GwTampan”
Semoga contoh di atas bisa memperjelas apa yang sebenarnya sudah cukup jelas. ;D
Demikianlah penjelasan tentang fungsi yang digunakan untuk melakukan decrypt. Fungsi tersebut perlu dipahami sepenuhnya jika kita ingin membuat proses encrypt yang diperlukan untuk membuat keygen dari “software” verifikasi ini. Kita akan bahas hal tersebut dalam implementasi berikutnya. Untuk saat ini, mari kita masuk pada fungsi inti dari program ini, yang dieksekusi pada saat user menekan tombol “Check”.
Fungsi tersebut, tentu saja, terletak pada baris 89 sampai 144. Terlihat banyak percabangan “if” di sana, yang mungkin membingungkan sebagian orang. Bila itu yang terjadi, dengan segala kerendahan hati, saya mohon maaf atas buruknya cara pemogramman saya. Tapi saya rasa, percabangan-percabangan ini tidak perlu dibahas semua, karena hanya untuk mengecek kesalahan-kesalahan dasar input dari user. Yang patut dibahas adalah percabangan pada baris 113. Disitu terlihat bahwa jika “Nama” yang diinput user lebih dari 8 karakter, maka yang diambil hanyalah 8 karakter pertama saja. Dan jika “Nama” yang diinput kurang dari 8 karakter, maka variable tersebut digandakan terus-menerus sampai lebih dari 8, untuk kemudian diambil 8 karakter pertamanya. Lagi-lagi, contoh untuk memperjelas :
Misalkan, nama yang diinput adalah :
“CryptographyIsSuperFun”
maka, yang diambil hanyalah :
“Cryptogr”
Dan, jika nama yang diinput adalah :
“FUN”
maka, hasilnya akan menjadi :
“FUNFUNFU”
Dengan ini, kita “memaksa” variable strName untuk tetap memiliki panjang 8 karakter, tidak peduli berapa karakter yang diinput oleh user. Kenapa? Sebelum dijawab, saya harap anda masih ingat karakteristik dari fungsi decrypt di atas tadi, input yang valid haruslah string dengan 16 karakter (ini menjelaskan percabangan pada baris 107), dan ouput yang dihasilkan adalah string dengan 8 karakter. Dan pada baris 133, terdapat “final check” yang membandingkan variable strName dengan strPlain yang merupakan hasil Decrypt dari Serial yang diinput. Otomatis, strPlain akan selalu memiliki panjang 8 karakter, karena itulah kita perlu “memaksa” strName untuk tetap memiliki panjang 8 karakter.
Sebenarnya ada sedikit “bug” yang cukup mengganggu pada implementasi ini. Yaitu, bila kita memasukkan serial dengan panjang 16 karakter, tapi karakter yang diinput bukanlah karakter hexadecimal, maka akan muncul pesan error yang kurang bagus. :D Tapi tentu saja, hal tersebut bisa diatasi dengan menambahkan percabangan yang mengecek apakah serial yang diinput merupakan karakter hexadecimal atau bukan. Anda bisa menambahkannya bila anda mau! :D :)
Yap, demikianlah salah satu contoh implementasi proses decrypt yang meniru proses verifikasi serial sebuah software. Untuk melengkapinya, yang tersisa adalah proses encrypt yang akan diterapkan pada keygen untuk verifikasi ini.
Oke, implementasi untuk proses encrypt bisa di download pada :
Dalam implementasi ini, jika kita mengeksekusi file “exe”, maka kita bisa meng-generate serial yang valid untuk implementasi verifikasi sebelumnya. Karena memang, implementasi ini bertindak sebagai keygen atau dengan kata lain sebagai “pengirim” pesan. Sedangkan implementasi sebelumnya bertindak sebagai “penerima” pesan.
File-file yang ada dalam implementasi ini sama dengan yang ada di implementasi verifikasi, hanya file “exe” dan “Unit1.pas” yang berbeda, karena implementasi ini menggunakan library dari metoda yang sama dengan implementasi verifikasi. Mari kita buka kode utama implementasi ini di dalam “Unit1.pas” untuk memulai pembedahan kode yang mengasyikan ini.
Yang patut diingat sebelum melakukan pembedahan adalah, bahwa proses pembuatan implementasi keygen ini saling bergantung dengan kode pada implementasi verifikasi. Dan, kita harus melihat bahwa kode keygen ini saling bertolak belakang dengan verifikasi. Yang artinya, jika verifikasi melakukan “buka”, maka keygen melakukan “tutup”, jika verifikasi melakukan “tambah”, maka keygen melakukan “kurang”, dst.
Oke, kita mulai pembedahannya. Kita bisa lihat pada baris 33 sampai 83, terdapat dua fungsi encrypt yang, tentu saja, dibuat seragam, seperti halnya pada implementasi verifikasi. Dan ya, seperti sebelumnya, pembahasan satu metoda bisa mewakili metoda yang satunya. Baris 35 menunjukkan konstanta key yang memang harus sama nilainya dengan proses decrypt, agar kedua proses tersebut saling berhubungan.
Karena proses encrypt ini bertolak belakang dengan proses decrypt, maka kita akan melakukan pembahasan secara terbalik dari bawah ke atas, sambil me-review kode verifikasi. Jadi ada baiknya, jika kita buka kode verifikasi (decrypt) dan keygen (encrypt) secara bersamaan, kecuali jika anda memang sudah hafal dan paham kode verifikasi secara keseluruhan.
Pada baris 44 sampai 48 di kode verifikasi, seperti yang telah dibahas, bahwa fungsi decrypt mengambil setiap dua karakter dari string yang di-input atau cipher text untuk kemudian merubahnya menjadi nilai hex dan menyimpannya ke dalam array of byte. Maka, agar fungsi encrypt kita menghasilkan cipher text yang valid untuk proses tersebut, kita harus melakukan fungsi sebaliknya, ya, merubah array of byte menjadi string dengan format hex. Baris 51 sampai 55 melakukan hal tersebut. Fungsi built-in Delphi “IntToHex” menghasilkan representasi hex dari integer (atau byte) yang diinput. Untuk contoh, silahkan review contoh di atas pada proses verifikasi, tetapi baca dari bawah ke atas.
Kemudian pada baris 49 sampai 52 di kode verifikasi, fungsi decrypt melakukan fungsi inti decrypt sesuai dengan metoda yang dipakai terhadap array of byte hasil konversi dari string yang di-input tadi(cipher text). Maka pada baris 47 sampai 50 di kode keygen, fungsi encrypt harus melakukan fungsi inti encrypt sesuai dengan metoda yang dipakai terhadap array of byte yang nantinya akan di konversi menjadi string output(cipher text), seperti yang telah dibahas pada paragraf sebelumnya.
Lalu pada baris 54 sampai 57 di kode verifikasi, fungsi decrypt mengkonversi lagi array of byte yang telah di “decrypt” ke dalam bentuk string, tetapi kali ini dengan cara subtitusi nilai byte dengan nilai ASCII yang bersangkutan, atau dengan kata lain melakukan konversi byte to ASCII. Maka, fungsi encrpyt kita harus melakukan kebalikannya, yap, konversi ASCII to byte. Baris 43 sampai 46 pada kode keygen menunjukkan hal tersebut, dan ya, fungsi built-in Delphi “Ord” menolong kita untuk melakukan hal tersebut. Dan lagi-lagi, untuk contoh, silahkan lihat contoh “GwTampan” di atas dari bawah ke atas.
Begitulah isi dari fungsi encrypt yang merupakan kebalikan dari fungsi decrypt. Anda bisa menutup kode verifikasi sekarang, jika anda mau. Berikutnya, mari kita bahas penggunaan dari fungsi encrypt ini, pada saat user menekan tombol “G 3 N” yang terletak pada baris 85 sampai 119.
Tidak banyak yang dilakukan dalam kode ini. Baris 97 sampai 108 melakukan hal yang sama dengan yang ada pada kode verifikasi, yaitu memaksa plain text agar tetap memiliki panjang 8 karakter, seperti yang telah dibahas sebelumnya. Dan, jika anda belum menyadarinya, untuk nama “CryptographyIsFun” dan “CryptographyIsSuck” akan menghasilkan serial yang sama, dikarenakan unsur pemaksaan ini. Lalu pada baris 109 sampai 117, kode melakukan encrypt kepada nama (plain text) yang diinput menjadi cipher text yang kemudian di-output menjadi serial.
Demikianlah keseluruhan proses implementasi dari kriptografi dengan key simetris ini. Dan oke, untuk lebih memperjelas lagi, mari kita rangkum keseluruhan proses dengan arah yang “lurus” atau dari encrypt sampai decrypt. Kali ini sang keygen akan kita sebut pengirim, dan sang verifikator akan kita sebut penerima.
Pertama, pengirim men-encrypt nama yang di-input untuk kemudian di-output menjadi serial. Lalu, pengirim mengirimkan pasangan nama dan serial ini kepada penerima. Kemudian, penerima mengecek pasangan nama dan serial yang dikirimkan dengan cara, men-decrypt serial untuk kemudian dibandingkan dengan nama. Jika cocok, maka pasangan nama dan serial tersebut valid dan memang berasal dari pengirim yang sejati, jika tidak cocok, maka pengirim tersebut palsu.
Yap, seperti itulah salah satu contoh implementasi kriptografi dua arah dengan key simetris. Mohon maaf bila penjelasannya terkesan berbelit-belit dan membingungkan, tetapi saya telah mencoba yang terbaik untuk menjelaskan hal yang memang sangat teknis ini. Dan ya, coba “rasakan” bagaimana kode ini mengalir, agar lebih mudah memahaminya. :)

Dasar Pemrograman Database MySQL

Kali ini saya mempersembahkan pada seluruh masyarakat dunia cyber yang ingin menjalin hubungan dengan sebuah komputer. Yaitu sebuah ebook dasar pemrograman database MySQL, di sini saya menerangkan dan menjelaskan tentang teknik pemrograman database. Untuk itulah anda yang masih baru-barunya menjadi seorang programmer, anda harus menguasai pemrograman database. Dalam hal ini kita akan mempelajari nya dengan saksama sekaligus. Menyenangkan mungkin yang ini saya sampaikan mengenai pemrogramana database, ini akan membuat otak anda sedikit berputar.
Baiklah, jika anda gak sabar untuk memahami ini semua, silahkan download modul pemrograman databaseyang sudah di convert di file PDF dan di bungkus ole file ZIP

Database Management System Tutorial

Artikel Sumber
: Feddy@SimpleBlog.Info

Hirarki Data Tradisional :

  1. Elemen data / Field : suatu elemen data terkecil yang tidak dapat dipecah lagi.
  2. Record : gabungan sebuah elemen data yang terkait.
  3. File : himpunan seluruh record yang berhubungan.
Aktifitas Manajemen Data :
  1. Pengumpulan data ; data yang diperlukan dikumpulkan dan dicatat pada sebuah form yang disebut dokumen sumber yang berfungsi sebagai input.
  2. Integritas dan Pengujian ; data diperiksa untuk meyakinkan konsistensi dan akurasi data tersebut.
  3. Penyimpanan data dan pemeliharaan.
  4. Keamanan data.
  5. Organisasi data ; data disusun sedemikian untuk memenuhi kebutuhan user.
  6. Pengambilan data ; data dibuat agar dapat digunakan oleh user yang berhak.
Dua jenis Penyimpanan Sekunder :
  • Penyimpanan Berurutan / Sequential Access Storage Device (SASD) ;
    Media penyimpan untuk mengisikan record yang diatur dalam susunan tertentu. Data pertama harus diproses pertama kali, data kedua diproses kedua kali, dst.
  • Penyimpanan Akses Langsung / Direct Access Storage Device (DASD) ;
    Mekanisme baca atau tulis yang diarahkan ke record tertentu tanpa pencarian secara urut. Komputer mikro memiliki disk drive dan hard disk.
Cara Mengolah Data :
  • Pengolahan Batch ;
    Mengumpulkan data terlebih dahulu kemudian diproses sekaligus.
  • Pengolahan On – Line ;
    Setiap data yang diinput langsung didapat output atau hasilnya.
  • Sistem Real Time ;
    Sama seperti pengolahan On – Line, hanya saja data yang ada di update sesuai dengan perubahan waktu.
KONSEP DATABASE
Database : Kumpulan data-data yang terpadu yang disusun dan disimpan dalam suatu cara sehingga memudahkan untuk dipanggil kembali.
Database Manajemen System ;
Suatu program komputer yang digunakan untuk memasukkan,mengubah,menghapus,memanipulasi dan memeperoleh data / informasi dengan praktis dan efisien.
Komponen Utama DBMS :
  • Hardware ; yang melakukan pemrosesan dan menyimpan database.
  • Data.
  • User , dapat diklasifikasikan menjadi :
    • End User ;
      • Pengguna aplikasi, yang mengoperasikan program aplikasi.
      • Pengguna interaktif, yang memberikan perintah-perintah beraras tinggi (sintak-sintak query).
    • Programmer aplikasi, yang membuat program aplikasi.
    • Database Administrator, bertanggung jawab terhadap pengelolaan database.
  • Software, sebagai interface antara user dan database.
Perintah yang digunakan untuk mengelola dan mengorganisasikan data :
  • Data Definition Language ;
Perintah yang biasa digunakan oleh DBA untuk mendefinisikan skema ke DBMS.
Skema : deskripsi lengkap tentang struktur field, record dan hubungan data pada database.
Hal yang perlu dijabarkan dalam DBMS :
  • Nama database.
  • Nama file pada database.
  • Nama field dan record.
  • Deskripsi file, record dan field.
DDL juga digunakan untuk menciptakan, mengubah dan menghapus database.
Yang termasuk dalam kelompok DDL :
    • CREATE ; membuat table.
    • ALTER ; mengubah struktur table.
    • DROP ; menghapus table.
  • Data Manipulation Language ;
Perintah yang digunakan untuk mengubah, memanipulasi dan mengambil data pada database.
DML dibagi menjadi 2 :
  1. Prosedural ; menuntut user menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya.
  2. Non Prosedural ; menuntut user menentukan data apa saja yang diperlukan tetapi tidak perlu menyebutkan cara mendapatkannya.
Perintah yang termasuk dalam DML :
  • SELECT ; memilih data.
  • INSERT ; menambah data.
  • DELETE ; menghapus data.
  • UPDATE ; mengubah data.
Tugas – tugas Database Administrator :
  1. Perencanaan database.
  2. Penerapan database.
  3. Operasi Database.
  4. Keamanan Database.
Keuntungan Database Manajemen System :
  1. Mengurangi pengulangan data.
  2. Independensi data.
  3. Memadukan data dari beberapa file.
  4. Memanggil data dan informasi secara tepat.
  5. Meningkatkan keamanan.
Kerugian Database Manajemen System :
  1. Menggunakan software yang mahal.
  2. Menggunakan konfiguarsi hardware yang besar.
  3. Memperkerjakan dan menggaji Staf DBA yang relatif mahal.

Tools For CyberWar (Alat Perang Dunia Maya)

Kami akan berbagi peralatan tempur yang biasa digunakan untuk perang dunia maya / cyber war, semoga dengan hal ini kita akan lebih mudah dalam menyampaikan pesan perdamaian.
Perang Cyber – Perang Dunia Maya – Cyber War
Peralatan penting diantaranya:

1. OPERATING SYSTEMS

Operating system merupakan bagian paling vital dalam upaya cyberwar, sebagai pondasi awal untuk memulai peperangan cyber.


Beberapa OS berikut yang paling digunakan untuk cyberwar dan penetration testing.
  1. BACKTRACK 5 R3
    Pada operating system ini sudah terdapat beberapa tools standard yang memang digunakan untuk penetration testing dan didalamnya sudah terdapat METASPLOIT. OS ini sangat cocok digunakan untuk perang cyber.
  2. WINDOWS OS (XP/Vista/7/8)
    Windows adalah os yang paling umum digunakan dan sangat berguna juga untuk melakukan penetration testing, kekurangan dari windows adalah kita harus menambahkan aplikasi untuk menjalankan tools yang berbahasa pemrograman seperti python, ruby, perl, dll.
Anda bisa melakukan dual booting terhadap OS tersebut atau bisa menggunakan virtual machine seperti VMware. Alternatif lain bisa juga anda gunakan seperti, BlackBuntu, BlackOS, dll.

2. PETUNJUK & TUTORIAL HACKING, CRACKING, DEFACE, DLL

Anda bisa menemukan petunjuk untuk melakukan exploit, hacking, cracking dan deface diberbagai situs yang sudah menyediakan tutorial seperti www.binushacker.net.


Alternatif lainnya yang paling bisa digunakan:
  1. YOUTUBE & VIMEO
    Siapa yang tidak kenal dengan YouTube & Vimeo, merupakan situs yang menyediakan video-video, tak terkecuali video tentang tutorial hacking, cracking, defacing, dll. Apabila tidak mengetahui bagaimana cara untuk cyberwar, tinggal cari dan lihat videonya di website ini. Sudah sangat banyak video tutorial diwebsite ini.
    Website: www.youtube.com & www.vimeo.com
  2. SECURITY TUBE
    Situs ini merupakan situs yang spesifik menyediakan seluruh kumpulan video mengenai security dan hacking, sangat cocok untuk belajar teknik-teknik hacking, exploiting, cracking, defacing, fuzzing, dll.
    Website: www.securitytube.net

3. VULNERABILITY INFORMATION

Selain anda memiliki exploit sendiri (undisclosed exploit) yang tidak disebarkan, anda juga bisa menggunakan free vulnerability yang sudah dipublikasikan di website-website berikut untuk mempermudah anda dalam menemukan kelemahan lawan.


Beberapa website yang bisa digunakan adalah sebagai berikut:
  1. EXPLOIT DATABASE
    Exploit database adalah kelanjutan dari milw0rm dimana dikolaborasikan dengan google hacking database (GHDB). Diwebsite ini akan banyak ditemukan berbagai kelemahan website baik yang memiliki kelemahan remote, local atau di webaplikasi:
    Website: www.exploit-db.com
  2. SECURITY FOCUS
    Situs ini hampir sama dengan Exploit-DB dan merupakan salah satu favorit team binushacker dalam mencari kelemahan, karena security focus sudah dibangun sejak lama. Disini akan ditemukan kelemahan-kelemahan website dari yang sudah lama sampai dengan yang terbaru. Sangat cocok untuk melakukan testing disegala aspek kelemahan terutama aplikasi web.
    Website: www.securityfocus.com

4. TOOLS, SCANNER & SEARCH ENGINE

Berikut adalah bagaian paling penting dalam peralatan perang, yaitu kumpulan tools untuk scan, exploit dan pawning.


Kumpulan tools yang biasa dan sering digunakan adalah:
  1. SQL INJECTION TOOLS
    SQL Injection merupakan kelemahan yang paling populer dalam dunia hacking khususnya yang berupa web application, yang bisa digunakan juga di berbagai database engine. Adapaun tools yang direkomendasikan adalah- SQLMAP: merupakan tools yang sangat powerfull untuk melakukan sql injection secara otomatis.
    SQLCAKE: merupakan tools keren yang khusus dibuat untuk melakukan sql injection bisa dilakukan secara manual dan otomatis.
    WEBAPPEX: merupakan web application exploiter, dimana didalamnya menggunakan engine Havij sebagai SQL injectionnya, sangat powerfull dan merupakan salah satu favorite tools.
  2. REMOTE SHELL TOOLS
    Remote shell tools merupakan tools yang wajib untuk dimiliki yang bisa di gunakan untuk exploitasi, download dan upload file. Eksekusi perintah-perintah baik yang ada di linux, bsd, freebsd dan windows.- C100 SHELL: merupakan sebuah tools exploitasi yang berbasis php dengan banyak fungsi didalamnya untuk eksekusi command, bypass, upload, download file, dll. Digunakan untuk *nix.
    ASPYX SHELL: merupakan sebuah tools exploitasi yang berbasis aspx dengan banyak fungsi didalamnya untuk eksekusi command, bypass, upload, download file, dll. Digunakan untuk *windows.
    EFSO SHELL: merupakan sebuah tools exploitasi yang berbasis asp dengan banyak fungsi didalamnya untuk eksekusi command, bypass, upload, download file, dll. Digunakan untuk *windows.
  3. NETWORK DAN WEB APPLICATION SCANNER
    Network scanner digunakan untuk melakukan scan terhadap network target, mengumpulkan data dan informasi mengenai network yang digunakan oleh lawan. Sedangkan Webscanner digunakan untuk menemukan kelemahan lawan yang berbasis web aplikasi.- NMAP: merupakan tools yang digunakan untuk mencari dan melakukan scanning terhadap network lawan.
    WEBVULNSCAN: merupakan tools untuk mencari kelemahan website.
    RA2 BLACKBOX: merupakan sebuah tools untuk melakukan scanning terhadap kelemahan XSS.
  4. DISTRIBUTED DENIA OF SERVICE (DDOS) TOOLS
    Tools ini digunakan untuk mematikan server secara sementara dengan teknik membajiri website dengan request hingga website tersebut overload dan tidak dapat diakses. List DDOS tool sebagai berikut:- SLOWLORIS: ddos tools yang dibuat oleh Rsnake, sangat powerful untuk check IIS server dan web aplikasi, sampai saat ini masih banyak digunakan.
    HULK: ddos tools untuk melakukan load terhadap http request.
    TOR HAMMER: tools ddos yang bisa dilakukan dengan menggunakan Tor application, terutama untuk server yang berbasis apache.
    LOIC: tools DDOS yang paling banyak digunakan oleh Anonymous, silakan dicoba.
  5. SEARCH ENGINE
    Search engine merupakan alat terakhir yang perlu untuk digunakan untuk mencari website-website yang terdaftar. Misalkan anda akan mencari kelemahan website Israel tinggal gunakan keyword: *.il (Israel):- Google: search engine paling populer saat ini dan merupakan website no. 1 yang paling dikunjungi di dunia.
    Website: www.google.comYahoo!: merupakan tools untuk mencari kelemahan website.
    Website: www.yahoo.com
    Bing: merupakan sebuah tools untuk melakukan scanning terhadap kelemahan XSS.
    Website: www.bing.com
Selanjutnya dengan mengetahui semua kebutuhan perang, anda telah memiliki langkah awal yang baik sebagai persiapan. Kemudian berikut adalah petunjuk yang bisa di praktekkan step-by-stepnya:
Nah, diatas merupakan tools dan petunjuk yang diperlukan untuk melakukan peperangan di dalam dunia cyber, selanjutnya kami serahkan kepada anda apakah akan menggunakan tools tersebut atau akan menggunakan tools lain yang sudah dimiliki saat ini.
Selamat mempersiapkan diri dan berpartisipasi dalam peperangan dunia cyber. Semoga sukses dan berhasil!

WHMCS Ver 5.2.8 0Day Auto Exploiter

Berbagi tools untuk melakukan exploit terhadap WHMCS.
WHMCS adalah software untuk manajemen pelanggan, melakukan penagihan dan support terutama untuk keperluan webhosting, tetapi juga bisa untuk jenis bisnis online lainnya. WHMCS memungkinkan Anda untuk mengelola bisnis Anda menjadi lebih baik. dan WHMCS memungkinkan Anda untuk dengan mudah dan efektif mengelola bisnis Anda ketika mengotomatisasi tugas-tugas rutin banyak.
 WHMCS 0-Day Auto Exploiter <= 5.2.8
Berikut ini adalah list untuk google search (google dork):
inurl:submitticket.php site:.com
inurl:submitticket.php site:.net
inurl:submitticket.php site:.us
inurl:submitticket.php site:.eu
inurl:submitticket.php site:.org
inurl:submitticket.php site:.uk
intext:”Powered by WHMCompleteSolution”
intext:”Powered by WHMCompleteSolution” inurl:clientarea.php
inurl:announcements.php intext:”WHMCompleteSolution”
intext:”Powered by WHMCS”
Berikut ini ada beberapa exploit diantaranya didalam PHP, Phython.
Simpan file dengan nama WHMCS-Fucker.php atau WHMCS-Fucker.py:

DOWNLOAD TOOLS EXPLOIT DISINI:

WHMCS EXPLOIT DOWNLOAD - BINUSHACKER
Selamat mencoba dan menggunakan.. :)

Anonymous Hacking Tools

Berikut ini kita berbagi Peralatan / Tools yang biasanya dipakai oleh pentester, hacker, cracker, phiser dan bahkan Anonymous. Anonymous Hacking Tools 2013 – 2014, Anonymous Cracking Tools 2013 -2014. Download Hacking Tools 2013 – 2014, Phising Tools 2013 – 2014, Hacking Tools 2013 – 2014, Tools Hacking 2013 – 2014, Cracking Tools 2013 – 2014, Tools Cracking 2013 – 2014, Tool Hack 2013 – 2014, Tool Crack 2013 – 2014, Tool Hacking 2013 – 2014, Tool Cracking 2013 – 2014, Tool Hacker 2013 – 2014,Tool Cracker 2013 – 2014, Tools Hacker 2013 – 2014, Tools Cracker 2013 – 2014 yang mungkin bisa bermanfaat untuk bisa anda pakai di 2013 – 2014.
Hacking  Cracking Phising Tools 2013 - 2014
Ayo Download Hacking Tools 2013 – 2014 – Hacker Tools 2013 – 2014 – Hack Tool 2013 – 2014 – Hacker Tool 2013 – 2014 – Hacking Tool 2013 – 2014 – Hack Tool 2013 – 2014 – Cracking Tools 2013 – 2014 – Cracker Tools 2013 – 2014 – Cracking Tool 2013 – 2014 – Cracker Tool 2013 – 2014 – Crack Tools 2013 – 2014 – Crack Tool 2013 – 2014.
Happy Hacking & Cracking All:

1. [JBRUTE V0.9.4] OPEN SOURCE SECURITY TOOL

JBrute adalah aplikasi open source yang ditulis menggunakan Java untuk mengaudit keamanan dan password yang disimpan didalam system, bisa digunakan untuk aplikasi open source dan aplikasi komersial. Difokuskan untuk menyediakan dukungan multi-platform dan parameter fleksibel untuk kebutuhan skenario pengecekan.
Requirement: Java Runtime version 1.7 or higher.

Fitur-fitur yang tersedia:


  • Muli-platform support (by Java VM)
  • Several hashing algorithms supported
  • Flexible chained hashes decryption (like MD5(SHA1(MD5())))
  • Both brute force and dictionary decryption methods supported
  • Build-In rule pre-processor for dictionary decryption
  • Multi-threading support for brute force decryption
Supported algorithms:
  • MD5
  • MD4
  • SHA-256
  • SHA-512
  • MD5CRYPT
  • SHA1
  • ORACLE-10G
  • ORACLE-11G
  • NTLM
  • LM
  • MSSQL-2000
  • MSSQL-2005
  • MSSQL-2012
  • MYSQL-322
  • MYSQL-411
  • POSTGRESQL
  • SYBASE-ASE1502

2. [ARACHNI V0.4.5.1-0.4.2] OPEN SOURCE WEB APPSEC SCANNER

Arachni adalah aplikasi gratis (Open Source project) untuk mencari kelemahan dan mendukung keamanan aplikasi, release code dibawah Apache License Version 2.0 dan kita semua gratis menggunakannya.

Fitur-Fitur dan Perubahan yang tersedia:

  • Optimized pattern matching to use less resources by grouping patterns to only be matched against the per-platform payloads. Bottom line, pattern matching operations have been greatly reduced overall andvulnerabilities can be used to fingerprint the remote platform.
  • Modules
    • Path traversal ( path_traversal)
      • Updated to use more generic signatures.
      • Added dot-truncation for MS Windows payloads.
      • Moved non-traversal payloads to the file_inclusion module.
    • File inclusion ( file_inclusion) — Extracted from path_traversal.
      • Uses common server-side files and errors to identify issues.
    • SQL Injection ( sqli) — Added support for the following databases:
      • Firebird
      • SAP Max DB
      • Sybase
      • Frontbase
      • IngresDB
      • HSQLDB
      • MS Access
    • localstart_asp — Checks if localstart.asp is accessible.
  • Plugins — Added:
    • Uncommon headers ( uncommon_headers) — Logs uncommon headers.

3. [WHATWEB V0.4.7] CMS TECHNOLOGY SCANNER


WhatWeb digunakan untuk mengidentifikasi websites. Tujuannya adalah untuk menjawab pertanyaan, “What is that Website?”. Detail website akan diberikan sesuai dengan kebutuhan. Biasanya digunakan untuk Content Management System seperti “WordPress, Joomla, dsb”.
Fitur-fitur yang tersedia:
* Over 900 plugins
* Control the trade off between speed/stealth and reliability
* Plugins include example URLs
* Performance tuning. Control how many websites to scan concurrently.
* Multiple log formats: Brief (greppable), Verbose (human readable), XML, JSON, MagicTree, RubyObject, MongoDB.
* Recursive web spidering
* Proxy support including TOR
* Custom HTTP headers
* Basic HTTP authentication
* Control over webpage redirection
* Nmap-style IP ranges
* Fuzzy matching
* Result certainty awareness
* Custom plugins defined on the command line

Contoh penggunaan:

Check beberapa website:

Menggunakan fitur untuk mencari informasi yang lebih detail.

4. [JSQL INJECTION V0.5] JAVA TOOL FOR AUTOMATIC DATABASE INJECTION


jSQL Injection adalah aplikasi yang ringan untuk mendapatkan informasi database dan mengexploitasi database.
jSQL free, open source and cross-platform (Windows, Linux, Mac OS X, Solaris).
Fitur- Fitur jSQL Injection – Versi 0.5:
  • SQL shell
  • Uploader
  • Admin page checker and preview
  • Brute forcer (md5 mysql)
  • Coder (encode decode base64 hex md5)

  • Distant file reading
  • Webshell deposit
  • Terminal for webshell commands
  • Configuration backup
  • Update checker

  • Time based algorithm
  • Multi-thread control (start/pause/resume/stop)
  • Shows URL calls

  • GET, POST, header, cookie methods
  • Normal, error based, blind algorithms
  • Automatic best algorithm selection
  • Progression bars
  • Simple evasion
  • Proxy setting
  • Supports MySQL

5. [SPEARPHISHER] A SIMPLE PHISHING EMAIL GENERATION TOOL

SpearPhisher adalah sebuah tools yang digunakan untuk menyebarkan halaman phising. Tools ini sangat mudah digunakan dan sangat powerfull untuk kegiatan phising.
Fitur-Fitur yang tersedia:
  • The tool supports specifying different sending names and email addresses, multiple recipients via TO, CC, BCC, and allows bulk loading with one recipient email address per line in a file.
  • It allows customization of the subject, adding one attachment, and SSL support for SMTP enabled mail servers. One of the popular features with our client is the WYSIWYG HTML editor that allows virtually anyone to use the tool; previewing results as you point and click edit your malicious email body.
  • If you want to add custom XSS exploits, client side attacks, or other payloads such as a Java Applet code generated by the Social Engineer Toolkit (SET), its split screen editor allows more advanced users to edit HTML directly.

6. [COOKIECATCHER] SESSION HIJACKING TOOL

Fitur-fitur yang tersedia:
- Prebuilt payloads to steal cookie data
- Just copy and paste payload into a XSS vulnerability
- Will send email notification when new cookies are stolen
- Will attempt to refresh cookies every 3 minutes to avoid inactivity timeouts
- Provides full HTTP requests to hijack sessions through a proxy (BuRP, etc)
- Will attempt to load a preview when viewing the cookie data
- PAYLOADS
- Basic AJAX Attack
- HTTPONLY evasion for Apache CVE-20120053
- More to come

7. [RESOLVER V1.0.9] THE REVERSE/BRUTEFORCE DNS LOOKUP


Fitur-fitur yang tersedia:
  • Resolve a Single IP
  • Resolve an IP Range
  • Resolve IP’s provided in a text file
  • Export Results to a text file
  • Copy results to Clipboard
  • DNS Records brute force

8. [RAFT V3.0.1] RESPONSE ANALYSIS AND FURTHER TESTING TOOL



RAFT adalah testing tool untuk mengidentifikasi kelemahan terhadap aplikasi web.
RAFT bisa digunakan untuk fuzzing.
Download Raft v3.0.1
Anonymous Hacking Cracking Tools 2013 - 2014

9. [DROIDSQLI] MYSQL INJECTION TOOL FOR ANDROID

DroidSQLi adalah untuk melakukan SQL injecttion dengan menggunakan perangkat Android.



Fitur-fitur yang tersedia DroidSQLi:
- Time based injection
- Blind injection
- Error based injection
– Normal injection
Download DroidSQLi
Anonymous Hacking Cracking Tools 2013 - 2014

10 [RIPS] A STATIC SOURCE CODE ANALYSER PHP


RIPS adalah tools yang dibuat menggunakan PHP untuk menemukan kelemahan pada aplikasi yang berbasis PHP dengan metode static code analysis.
Fitur-fitur yang tersedia:
  • Code Execution
  • Command Execution
  • Cross-Site Scripting
  • Header Injection
  • File Disclosure
  • File Inclusion
  • File Manipulation
  • LDAP Injection
  • SQL Injection
  • Unserialize with POP
  • XPath Injection
  • … other
Code audit interface
  • scan and vulnerability statistics
  • grouped vulnerable code lines (bottom up or top down)
  • vulnerability description with example code, PoC, patch
  • exploit creator
  • file list and graph (connected by includes)
  • function list and graph (connected by calls)
  • userinput list (application parameters)
  • source code viewer with highlighting
  • active jumping between function calls
  • search through code by regular expression
  • 8 syntax highlighting designs
  • … much more
Static code analysis
  • fast
  • tokenizing with PHP tokenizer extension
  • taint analysis for 232 sensitive sinks
  • inter- and intraprocedural analysis
  • handles very PHP-specific behaviour
  • handles user-defined securing
  • reconstruct file inclusions
  • detect blind/non-blind exploitation
  • detect backdoors
  • 5 verbosity levels
  • over 100 testcases
  • … much more

Selamat mempelajari, mencoba dan menggunakan. Gunakanlah sesuai dengan sebaik-baiknya dan sesuai kebutuhan :)

Postingan Lebih Baru Postingan Lama Beranda