Hallooo, selamat malam kawan. Sesuai judul, kali ini saya akan membahas tentang "
Apa itu Enkripsi, Hash, dan Encode?". Apa mereka semua ber-arti sama? atau bagaimana yaaa...........
Oke, artikel ini gua buat untuk membantu kawan-kawan semua yang bingung
untuk mengenalis jenis-jenis hash password yang biasanya kita temukan
saat kita men-dump sebuah data hasil "SQL Injection" ataupun menjelajahi
isi dari databasenya sebuah website. Tentu saja, seiring
berkembangannya dan Majunya teknologi, Semua data yang bersifat sensitif
ataupun data rahasia/privasi yang seharusnya dilindungi pasti tidak
mudah untuk mendapatkannya begitu saja. Walaupun sudah kita dapatkan,
namun pastinya data itu di enkripsi dengan bahasa-bahasa/tulisan aneh
yang sebelumnya tidak kita kenali jenis apa ini.
Oke mari kita ke pokok bahasan.
Hash berkaitan erat dengan
Enkripsi. Tentunya Hash dan Enkripsi memiliki pengertian berbeda. Mari kita simak.
Apakah sebenarnya yang dimaksud Hash itu Sendiri?
- Hash adalah hasil enkripsi dari sebuah password atau informasi yang dianggap penting.
Lalu,
apa enkripsi itu?
- Enkripsi adalah proses mengamankan suatu informasi dengan membuat
informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus (
http://id.wikipedia.org/wiki/Enkripsi ).
Ada beberapa tipe hash diantaranya:
1.
MD4 (Message-Digest algortihm 4)
– MD4 dibuat oleh Ronald Rivest pada Oktober 1990, MD4 adalah hash
function yang dipakai sebelum MD5, namun karena banyaknya kelemahan MD4
membuatnya diganti oleh MD5.
– panjang
16 bytes (
32 karakter)
– contoh :
31d6cfe0d16ae931b73c59d7e0c089c0
2.
MD5 (Message-Digest algortihm 5)
– MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan
hash function sebelumnya, MD4. Pada tahun 1996
(http://id.wikipedia.org/wiki/MD5)
– digunakan di phpBB v2.x, Joomla versi dibawah 1.0.13 dan digunakan oleh beberapa CMS dan forum
– panjangnya
16 bytes (
32 karakter)
– contoh :
c4ca4238a0b923820dcc509a6f75849b
3.
MD5($pass.$salt)
– Digunakan di WB News, Joomla versi 1.0.13 dan versi diatasnya
– panjang
16 bytes (
32 karakter)
– hash yang satu ini dimulai dari hashnya duluan kemudian dilanjutkan oleh saltnya
– contoh :
6f04f0d75f6870858bae14ac0b6d9f73
4.
MD5($salt.$pass)
– Digunakan di osCommerce, AEF, Gallery dan beberapa CMS lainnya
– panjang
16 bytes (
32 karakter)
– hash yang satu ini dimulai dari saltnya duluan kemudian dilanjutkan oleh hashnya
– contoh :
f190ce9ac8445d249747cab7be43f7d
5.
Md5(md5($pass).$salt)
– Digunakan di vBulletin, IceBB dan cms lainnya
– panjang
16 bytes (
32 karakter)
– contoh :
6011527690eddca23580955c216b1fd2
6.
MD5(WordPress)
– Digunakan di wordpress
– panjangnya
17 bytes (
34 karakter)
– hashnya dimulai oleh tanda $P$ kemudian dilanjutkan oleh sebuah karakter (karakter yg paling sering dipakai adalah huruf “B”)
kemudian
dilanjutkan oleh saltnya (8 karakter yg disusun secara acak, dalam
contoh ini saltnya adalah “12345678″) lalu dilanjutkan oleh hashnya
– contoh :
$P$B123456780BhGFYSlUqGyE6ErKErL01
7.
MD5(phpBB3)
– Digunakan di CMS phpBB 3.x.x
– panjangnya
17 bytes (
34 karakter)
– hashnya oleh tanda $H$ lalu dilanjutkan oleh sebuah karakter (karakter
yg paling sering dipakai adalah nomor “9″), kemudian dilanjutkan dengan
saltnya (8 karakter yg disusun secara acak, dalam contoh yg saya
berikan saltnya adalah “12345678″) kemudian dilanjutkan oleh hashnya
– contoh :
$H$9123456785DAERgALpsri.D9z3ht120
8.
SHA-1(Secure Hash Algorithm)
– Diciptakan oleh National Institue of Standars and Technology atau U.S.
Federal Information Processing Standard digunakan oleh beberapa CMS dan
beberapa forum
– panjangnya
20 bytes (
40 karakter)
– contoh :
356a192b7913b04c54574d18c28d46e6395428ab
9.
SHA-256(Secure Hash Algorithm)
– hashnya dimulai oleh tanda
$5$ kemudian dilanjutkan dengan
saltnya (8 karakter yg disusun secara acak, dalam contoh yg saya berikan
saltnya adalah “12345678″) lalu dilanjutkan oleh karakter “$” kemudian
dilanjutkan oleh hashnya
– panjang
55 karakter
– contoh :
$5$12345678$jBWLgeYZbSvREnuBr5s3gp13vqi…
10.
SHA-512(Secure Hash Algorithm)
– hashnya dimulai oleh tanda $6$ kemudian dilanjutkan dengan saltnya (8
karakter yg disusun secara acak, dalam contoh yg saya berikan saltnya
adalah “12345678″) lalu dilanjutkan oleh karakter “$” kemudian
dilanjutkan oleh hashnya
– panjang
98 karakter
– contoh :
$6$12345678$U6Yv5E1lWn6mEESzKen42o6rbEm…
Berikut adalah contoh dari sekian banyaknya HASH, dalam prosesnya
HASH merupakan "
One Way Hash"
/ Hash satu arah, jika sebuah plain-text atau text biasa sudah di Hash,
maka untuk mengembalikannya, kita tidak bisa menggunakan sebuah fungsi.
Jadi saat sebuah data sudah di Hash, maka hasil plain-text nya tidak
dapat kita kembalikan, kecuali kita "Sendiri" tau, data apa yang di hash
tadi.
Lalu Bagaimana sebuah website seperti
(www.hashkiller.co.uk) bisa men-decrypt / memecahkan Hasil Hash
MD5/lainnya, menjadi plain-text biasa?
Website penyedia decrypter online, memiliki sebuah database hasil Hash
didalamnya, artinya. Ketika kita menginputkan sebuah Password Hash MD5,
website ini nantinya akan mencocokan data apa yang sesuai dengan Hash
tadi. Jika datanya cocok, maka akan di informasikan melalui Ouput, bahwa
HASH xxxxx, berisi text "ANU". Data ini sudah disiapkan dalam database
website penyedia decrypter Online tersebut.
Bisa Melalui cara "Brute Force" namun akan sangat lama, bahkan berhari-hari, untuk mencocokannya.
Oke Selanjutnya, kita ke "
Encode".
Apa itu Encode?
- Encode tidak termasuk kedalam Hash ataupun Enkripsi.
- Encode merupakan suatu Perkara perubahan format / bentuk data.
Tujuannya pun sama, mengubah sebuah plain-text biasa, menjadi rangkain
code (bahasa aneh).
Yang membedakan
Hash dengan
Encode adalah dalam prosesnya,
Sebuah Text yang ter-Encode, bisa dapat kita kembalikan lagi seperti
semua dengan sebuah fungsi tertentu dalam setiap bahasa pemrograman.
Contohnya:
Text: Agus Setya R
Base64:
QWd1cyBTZXR5YSBS -> (Encode dengan
fungsi php , base64_encode("
Agus Setya R") )
Base64:
aW5kb3hwbG9pdA==
Text: indoxploit -> (Decode dengan
fungsi php, base64_decode("
aW5kb3hwbG9pdA==") )
Artinya, sebuah Encode dapat kita kembalikan (decode) menggunakan sebuah
fungsi bahasa program yang telah disediakan. Beda dengan Hash yang
tidak dapat dikembalikan seperti semula menggunakan fungsi.
Berikut merupakan contoh dari Encode (link menuju kepada PHP Function):
1. base32
2. base64
3. str_rot13
4. gzdeflate
Untuk Encode dan Decode anda dapat mempelajarinya sendiri,
karena pada masing-masing bahasa program penulisan fungsi dari encode
dan decodenya berbeda-beda. Namun, hasilnya akan tetap sama.
Tambahan:
https://drive.google.com/file/d/0B8QQwW_htu38ckUxUkNWQlJmWU0/view (
Hash Algorithm Linux Password), bagi kalian yang ingin tau dan mengenal bagaimana linux men-Hash password kita.
Oke , sekian dulu bahasan dari saya.
Semoga menambah ilmu, dan yang pasti jangan malas untuk membaca :D, Ilmu
itu mahal kawan hahaha, selagi ada manfaatkan lah yang gratis....
Artikel ini diolah dari sumber: http://www.indoxploit.or.id/2017/01/mengenal-tentang-enkripsi-hash-dan.html
Lalu selebihnya, kita kembangankan agar menarik di baca....