Cara mudah belajar pemrograman komputer

Minggu, 01 November 2015

Hubungan erat hacking dengan pemrograman


Halo pembaca programmer goBlog baik yang memang pembaca setia maupun yang kesasar dimari dari mbah gugle.
Kali ini programmer goBlog mau sedikit membahas apa sih hubungan antara pemrograman dengan hacking..
Sok jadi keker dulu kita kali ini.
Hacking adalah sebuah kegiatan untuk masuk kedalam sistem seseorang dengan cara yang tidak biasa, baik itu legal maupun illegal. Loh bukanya hacking memang illegal ya? eits tidak semua kegiatan hack meng hack itu illegal di jaman serba teknologi seperti ini justru kegiatan hacking dan para hacker merupakan hal yang sangat diperhitungkan oleh pemegang sistem, bahkan perusahaan besar seperti facebook dan google memberikan hadiah yang besar bagi para hacker yang bisa menemukan celah keamanan pada sistem mereka. Nah, kegiatan hacking yang telah mendapat izin seperti ini adalah jenis hacking yang legal, asal memenuhi kriteria yang ditentukan perusahaan tentunya.

Seperti yang sudah disebutkan diatas bahwa hacking adalah kegiatan yang dilakukan untuk masuk dan mengambil alih sebuah sistem, maka ada beberapa hal yang perlu dilakukan agar dapat berhasil masuk kedalam sistem tersebut.
Hal mutlak pertama kali yang harus dilakukan adalah mengumpulkan informasi sebanyak mungkin mengenai sistem yang akan di hack, cara kerja, sistem autentikasi, pengamanan, platform yang digunakan, apa saja perangkat yang terkait dengan sistem dll dll dll semua informasi yang berkaitan dengan sistem tersebut semakin banyak kita ketahui maka semakin besar kemungkinan kita untuk dapat masuk kedalam sistem tersebut dengan cara yang tidak biasa. Dengan mengatakan "cara yang tidak biasa" yang dimaksud penulis adalah masuk kedalam sistem tanpa melalui prosedur yang ditentukan si pembuat sistem.

Kemudian apabila semua informasi telah terkumpul, maka yang perlu dilakukan selanjutnya adalah mencoba mengerti alur dan cara kerja sistem tersebut. Barulah kita bisa mencari celah bagaimana cara untuk masuk kedalam sistem tersebut.

Nah pada tahap ini kemampuan pemrograman kita mengambil peran, apabila ternyata pada tahapan mengumpulkan semua informasi kita secara beruntung mendapat banyak informasi termasuk tentang bahasa pemrograman yang digunakan dalam sistem tersebut, kita bisa langsung mencoba mencari kelemahan dari bahasa pemrograman tersebut untuk kemudian memanfaatkan kelemahan itu. Dalam beberapa kasus hacker bahkan bisa mendapatkan informasi berupa password dengan memanfaatkan kelamahan sistem seperti contoh SqlInjection. Apabila password yang didapat dari teknik sql injection sudah berupa password plain atau password dalam bentuk asli maka kita tinggal gunakan password tersebut untuk masuk kedalam sistem. Namun apabila password yang tersimpan berupa password yang telah di hash maka kita harus menemukan password asli dengan mengkonversi password tersebut kedalam bentuk password normal, caranya? nah itulah kenapa kita harus bisa pemrgoraman :D .
Hash merupakan teknik untuk menjadikan teks bias menjadi kumpulan karakter yang tidak bisa kita baca dan tidak bisa dikonversi kembali kedalam bentuk semula, jadi yang bisa kita lakukan adalah dengan membuat kembali hash dari teks teks dan mencoba mencocoknya dengan password yang kita dapat dari sistem. Sepertinya sulit, sebab ada milyaran kosa kata yang harus kita cocokan, yah kita tinggal buat programnya, jalankan dan biarkan program bekerja kita tinggal tidur.. :D

Kita baru menggunakan satu teknik hacking yaitu SqlInjection, masih banyak cara dan teknik lain yang bisa dilakukan untuk masuk kedalam sebuah sistem secara tidak biasa.
Kita hanya akan membahas yang berkaitan dengan pemrograman. Katakanlah skenarionya begini, kita kan mencari kelemahan website dari sisi sql injection dan mengumpulkan website website tersebut untuk selanjutnya kita coba hack. Ini bisa dilakukan satu persatu dengan teknik sql injection, namun kalau dari sisi programmer kita bisa melakukan ribuan langkah ini dengan hanya satu klik pada sebuah program. Dengan kemampuan pemrograman yang baik kita bisa membuat sebuah program yang mengerjakan langkah langkah secara otomatis, mulai dari mengumpulkan daftar website yang akan di hack, menguji coba website tersebut memiliki kelemahan dari sisi sql injection atau tidak, mencoba mendapatkan data password dengan memanfaatkan teknik sql injection dan mendecript password apabila ternyata ditemukan dalam bentuk hash. Oleh seorang programmer langkah ini bisa di otomatisasi sehingga memungkinkan untuk meretas ribuan bahkan jutaan website tanpa kita harus meretasnya satu persatu, cukup buat programnya dan jalankan.

Nah itulah sobat, tentang hubungan erat pemrograman dan hacking, so untuk menjadi seorang hacker pemrograman merupakan hal yang juga harus dikuasai, dengan mengatakan ini programmer goBlog tidak mempertimbangkan hacker pada level paling bawah yaitu script kiddies yang bisanya cuma memakai program buatan orang untuk deface website dan mengaku ngaku hacker.. :D .
Apabila ada pertanyaan jangan sungkan untuk meninggalkanya pada kolom komentar dibawah ini.

Sabtu, 24 Oktober 2015

Cara hack website berbasis wordpress dengan memanfaatkan kelemahan plugin revslider



Buset udah sawangan gini blog nya..
Hallo sobat programmer, lupa login blog jadi jarang update.
Untuk sekedar mengisi kesenjangan tulisan --halah-- kali ini programmer goBlog bakalan ngebahas sedikit tentang hack meng-hack.
Tulisan ini dilatar belakangi oleh permintaan dari beberapa orang untuk hack ini lah hack itu lah hack dll dll dll.
programmer goBlog bukan hacker om, gak ngerti dah persoalan hack meng-hack :D

Jadi apa yang mau dibahas ??
Ini tetang mainan nya script kiddies dan hacker wannabe, tentang deface men-deface website melalui celah keamanan pada website tersebut.
Kali ini yang bakal dibahas adalah salah satu vulnerability pada salah satu plugin CMS terkemuka yaitu wordpress.
Vulnerability atau kelemahan pada plugin ini memungkinkan hacker untuk dapat mengunduh file file penting didalam website tersebut untuk kemudian dimanfaatkan untuk menyerang dan mengambil alih kendali pada website tersebut.
Plugin apa ya? nama plugin nya "revslider" atau slider revolution.
Nah loh, hati hati bagi yang di website nya menggunakan plugin ini.
Dari pembuktian yang penulis lakukan terbukti bahwa plugin ini dapat digunakan untuk mengunduh file wp-config.php pada website berbasis cms wordpress.
Lah trus kenapa emang kalo udah bisa mengunduh file wp-congig.php???
Wp-config.php ini merupakan file dewa yang apabila jatuh ketangan orang yang salah akan sangat berbahasa, kenapa? file ini berisi tentang setting database yang digunakan pada website, termasuk username, password, host, dan nama database yang digunakan.
Kalau kita sudah tau login databasenya, yang bisa kita lakukan berikutnya adalah ---- well banyak ---
Login ke database nya.
Mau ngerusak? drop aja semua data yang ada.
Mau coba login ke wordpress nya dengan akses administrator?
Ubah aja password admin nya dan login.
atau mau login diam diam tanpa admin tahu?
Buat akun baru dengan level admin..

Mau deface dan ubah tampilan utama website dengan latar belakan hitam dan tulisan merah bertulisakan nama keren anda? ubah aja file index.php lewat theme editor wp-nya.

Mau lebih dalam lagi? takut ketahuan dan login mu di apus admin??
Upload ada shell script sebagai backdoor.
Jadi kalaupun anda di depak oleh admin, anda masih bisa masuk ke server lewat shell script backdoor ini.

====================================================
Dewa gak tuh file wp-config.php

Mau sekalian dibisiki gimana langkah sampe bisa dapetin akses admin di wordpress korban?

Pertama manfaatkan vulnerability si plugin revslider ini dulu.

Pastikan web yang akan jadi target terinstall plugin ini.
Masuk kehalaman
http://situstarget.com/wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php

maka apabila website target tersebut tertanya vulberable, maka file wp-config.php akan terdoanload dengan nama admin-ajax.php
Buka aja file itu, maka anda akan menemukan setting setting login database seperti dimaksud diatas.

Lanjut..
Setelah dapat data login database, selanjutnya kita coba masuk ke phpmyadmin.
http://situstarget.com/phpmyadmin
Kalau di server website tersebut terinstall phpmyadmin maka kita tinggal login menggunakan data yang sudah kita dapat.

Sudah muncul data di databasenya??
Selanjutnya cari tabel user, lihat username admin nya apa, ganti isi kolom password dengan password yang anda inginkan, eits jangan lupa passwordnya di ubah ke md5 dulu yah, online encriptor untuk md5 banyak kok googling aja.

Seletelah berhasil di ubah di databasenya, masuk ke
http://situstarget.com/wp-admin
Login dengan username dan password yang kita ubah tadi.

Tara...
Anda sudah masuk sebagai admin..
Selanjutnya kreatif kreatif aja..


Gampang amat??
yups segampang itu memang.
tapi tunggu dulu, ada beberapa kondisi yang harus terpenuhi agar cara tersebut bisa dilakukan.
1. Website harus terinstall plugin revslider yang vulnerable dan plugin tersebut aktif.
2. Kita harus bisa menghakses mysql server baik dari phpmyadmin atau mysql client.
Syarat agar bisa mengakses lewat phpmyadmin ya di server website tersebut harus terinstall phpmyadmin.
Dan syarat agar kita bisa mengakses database mysql selain lewat phpmyadmin adalah setting pada mysql server website tersebut mengizinkan akses dari remote host.
Jika tidak ada dari dua kondisi ini yang terpenuhi maka kita tidak bisa melakukan apapun walau kita bisa mendapatkan file dewa si wp-config.php

mau coba praktekin?
coba cari di google dengan keyword inurl:"plugins/revslider"
keluar dah tuh website website yang menggunakan plugin ini.



Disclaimer:
Tulisan ini hanya bertujuan sebagai pembelajaran, segala kerugian yang timbul akibat penyalahgunaan informasi yang terdapat pada tulisan ini bukan merupakan tanggung jawab programmer goBlog.


Tips.
Jika anda merupakan seorang web administrator dan menyadari bahwa salah satu website anda menggunakan plugin  ini maka segera lakukan update plugin dan pastikan plugin serta tema yang terinstall pada website anda merupakan versi terbaru.

Jika karena satu dan lain hal anda tidak dapat melakukan update terhadap plugin tersebut, dianjurkan untuk men-disable atau memberikan limitasi pada mysql server agar tidak dapat diakses dari remote.
Apabila anda menggunakan phpmyadmin maka pastikan phpmyadmin tidak dapat diakses secara langsung (baik dengan menyembunyikan url default phpmyadmin, atau dengan memberikan limitasi sehingga phpmyadmin hanya dapat diakses melalui cpanel misalkan)

Akhir kata semoga tulisan ini bermanfaat.
Salam programmer goBlog.

Jumat, 14 Agustus 2015

Menampilkan tanggal dari tanggal awal ditambah hari

Halo sobat programmer goBlog, sudah lama tidak ada kabar berita dari si goBlog ini.
Kali ini programmer goBlog kembali dengan sedikit tutorial tentang pemrograman PHP.
Tutorial ini muncul ketika saya terfikir untuk menampilkan tanggal tertentu dari tanggal awal ditambah beberapa hari.
Maksudnya seperti ini, misal kita ingin menampilkan tanggal 10 hari setelah tanggal 12-januari-2015.
Jadi apabila tanggal awal adalah 12-januari-2015 dan tanggal setelah 10 hari adalah 22-januari-2015.

gampang, tinggal tambahin aja jumlah tanggalnya. eits, gak semudah itu. kenapa? andaikan tanggal awal adalah 23-januari-2015 maka 10 hari setelahnya adalah 34-januari-2015. duh ada tah..
ah bisa diakali, kalau hasil penjumlahan lebih dari 31 maka tanggalnya jadi hasil-31 = 3 dan bullan nya diganti jadi januari.

Macam gambar dibawah ini?

Bisa sih, tapi maih kurang...
kenapa????
iya kalau hasilnya cuma 34, lah kalau hasilnya jadi 70??
misal 70 hari setelah tanggal 22 januari 2015 adalah ==?????
ah tambah aja if else nya..
bisa, tambah aja sampe semua kemungkinan skenario habis. 90 hari 200 hari 5000 hari dst...

cara seperti diatas memang memungkinkan untuk diterapkan, tetapi sebetulnya ada cara yang lebih gampang.
Caranya adalah dengan menggunakan fungsi di php yaitu gregoriantojd();
fungsi ini mengubah format tanggal yang berupa tanggal bulan tahun menjadi jumlah hari saja.
kemudian kita tinggal menambahkan hasil dari fungsi tadi dengan jumlah hari tambahan yang kita perlukan tadi.
Selanjutnya kita ubah lagi format nya menjadi tanggal bulan dan tahun dengan menggunakan fungsi pembalik dari jd ke gregorian yaitu fungsi jdtogregorian();

seperti gambar dibawah ini.

Seperti itulah kira kira sedikit sharing pengetahuan yang bisa saya bagi..
mungkin ada yang sedang membutuhkan dan kebingungan.
Semoga bermanfaat, dan apabila ada yang ingin ditanyakan programmer goBlog dengan senang hati menjawab.

Rabu, 03 Juni 2015

Pemrograman itu selalu tentang logika dan langkah langkah logis

Halo sahabar goBlog seantero dunia maya.
Kali ini programmer goBlog kembali dengan sedikit pemikiran yang terlintas dikepala berdasarkan pertanyaan dari salah seorang kawan yang meminta bantuan programmer goBlog dalam memecahkan permasalah dari tugas kuliahnya, tentang VisualBasic dan cristal report, karena menurutnya dia sudah mencoba googling tapi tidak menemukan hassil.
Well, meskipun dalam perjalanan saya tidak pernah belajar tentang VB maupun cristal report namun berbekal satu asumsi bahwa semua bahasa pemrograman adalah tentang logika jadi penuisa menyatakan kesanggupan untuk membantu memecahkan permasalahan tersebut.
Dengan sedikit googling tentunya.
Permasalahanya seperti ini, ketika men-generate report dari program yang dia buat, muncul error yang menyatakan ada sesuatu yang seharunya terisi namun tidak terisi. Saya berasumsi terdapat kesalahan pada koneksi database dengan cristal report, dan teryata salah koneksi cristal report ke database baik baik saja setelah melihat bahwa report preview tergenerate dengan sempurna pada cristal report.
Kemudian saya melihat ke function atau prosedure (terserah sobat memilih sebutan yang mana) yang menangani proses generate report ini.
dalam function ini saya menemukan dua tugas inti yaitu save data ke databse dan print report data yang baru saja tersimpan di database.
Data berhasil tersimpan ke database, namun tidak tergenerate ke reportnya.
Hal ini membuat saya melihat lebih dalam pada tugas generate report. Dan ternyata pada baris program ini terdapat suatu data yang harus dimasukkan, data ini diambil dari form. Sekilas seharusnya tidak ada masalah karena seharusnya data yang diperlukan tersebut ada di form (karena data ini ada ketika melakukan insert ke database).
Namun setelah melihat lebih dalam, ternyata data penting ini diambil langsung dari EditText VB. Seharusnya sekali lagi tidak ada masalah, kemudian saya menyadari sebuah baris diantara kedua tugas inti tadi, saya menduga ini merupakan sebuah fungsi yang entah apa isi dari fungsi ini karena penulis tidak melihat kedalam fungsi ini, akan tetapi saya berasumsi bahwa fungsi ini adalah bertugas untuk mengosongkan form yang ada di program sehinga ketika tiba tugas untuk mencetak report yang juga mengambil data dari EditText pada form tidak mendapat data yang dibutuhkan karena isi form telah dikosongkan.
Nah setelah berfikir bagaimana cara mengatasi hal ini yaitu dengan tidak mengambil data langsung dari EditText melaikan mengambil dari variable yang disiapkan dan diisi dengan data yang ada pada EditText dan menempatkan variable ini sebelum fungsi pengosongan form tadi. jadi walaupun form telah dikosongkan satu data penting ini telah tersimpan di variable.
Disinilah proses gooling memberikan pertolongan, seperti yang sudah saya sebutkan sebelumnya bahwa saya tidak pernah belajat vb jadi tidak tahu aturan bagaimana membuat atau mendeklarasikan maupun memberi isi pada sebuah variabe di vb. Setelah melalui proses googling maka masalah ini pun terselesaikan.

Apa sebenarnya tujuan saya menceritakan kejadian ini? toh tidak akan menyelesaikan permsalahan anda yang mungkin saat ini sedang anda hadapi sehingga anda sampai ke tulisan ini, yang ingin saya tekankan bukanlah studi kasus yang saya alami diatas, melaikan cara dan prosedur penyelesaian permasalahan secara global.
Artinya begini, ketika kita menemui masalah seperti itu dan gooling tidak menemukan pencerahan mungkin permasalahan anda terlalu global dan kurang meruncing, anda harus membagi permasalahan tersebut menjadi se-spesifik mungkin. seperti kasus diatas saya tidak melakukan gooling untuk permasalahan kenapa kristal report nya error, melainkan saya mencoba untuk memecahkan permasalahan hingga permasalahannya tinggal bagaimana membuat variabel di VB, sehingga masalah yang saya cari di google akan sangat spesifik yaitu 'bagaimana cara deklarasi variable di vb' bukan malah 'bagaimana menyelesaikan vb dan cristal report yang error'.
Selain itu saya juga ingin menekankan bahwa pemrograman itu semua tentang logic, gunakan otak kita untuk melihat dan mencoba menyelesaikan alur logika dan memecah permasalahan menjadi beberapa permasalahan yang lebih mengerucut dan spesifik sehingga akan memudahkan kita dalam proses gooling.
Ini juga yang sering saya katakan kepada teman-teman yang sedang belajar pemrograman, kita tidak bisa melakukan gooling tentang bagaimana cara membuat rumah. tetapi kita coba analisa secara logika bagaimana untuk membangun rumah, misalnya : buat pondasi, buat dinding dari susunan batu bata yang direkatkan dengan campuran semen air dan pasir, buat kerangka atap, pasang genteng pada kerangka atap.
Jika kita melakukan googling 'bagaimana cara membuat rumah' maka kita akan mengalami banyak kesulitan karena permasalah yang kita coba pecahkan masih terlalu rumit. akan tetapi jika kita telah membagi permasalahan bagaimana membuat rumah ini menjadi beberapa tahapan atau masalah-masalah yang lebih kecil dan mengerucut, kita bisa mencari penyelesaian permasalahan tersebut satu persatu. Misal kita googling tentang 'bagaimana cara membuat pondasi' nah lebih mengerucut dan simple kan??

Begitulah kurang lebih cara pandang yang harus kita tahu, bahwa pemrograman itu adalah tentang logika, tentang algoritma, tentang langkah langkah logis untuk menyelesaikan suatu permsalahan. ingat jika anda terlalu malas untuk berfikir membagi permasalahan yang besar menjadi beberapa permasalahan-permasalahan kecil yang simple, maka anda akan melihat pemrograman itu sulit dan memusingkan, terlebih anda harus bertanya kepada diri anda sendiri apakah anda telah benar memilih untuk belajar pemrograman?
semoga bermanfaat.

Jumat, 29 Mei 2015

karaoke mp3 player dengan lirik di android

Weits.. Udah lumayan lama ini blog gak dikasih makan, so Kali ini kita bakal kàsih update dulu untuk pembaca blog ini yg mungkin kesasar lewat google search atau yang memang membutuhkan inform as I yang bakal kita bahas kali ini, apa itu? Tulisan ringan untuk menghabiskan waktu luang. Kali ini kita akan membahas tentang satu aplikasi pemutar musik di perangkat android nama aplikasinya musicmatch.
Ini nih tampilanya.

Ah biasa aja tampilanya... Eits tapi liat dulu fitur fiturnya..

Kurang puas dengan audio hasil keluaran Dari gadged anda? Utak atik aja sendiri lewat fitur equalizer sampe sesuai dengan selera kuping kita.



Atau pengen liat lirik lagu yg lagi di play? Gampang, mp3 player satu ini udah punya build ini lirik display sendiri. Jadi tinggal play lirik udah muncul sendiri. Butuh koneksi internet tentunya. Fiturnya sama lah kaya minilyric yg ada di komputer kita.

Segitu doang? Masih ada lagi dong..
Kamu suka nyanyi / karaoke? Mp3 player android ini punya fiturnya. 

Kerenkan?
Ini belum termasuk fitur fitur standard seperti playlist, favorites dll dll.

Nah gitu aja sih review nya. Semoga bermanfaat.

Popular Posts

Recent Posts

Unordered List

Pages

Kunjungan

Diberdayakan oleh Blogger.