Ulang Tahun Joshua ke (2×3)

Hari ini adalah ulang tahun Joshua yang ke-6. Sekarang ini Joshua sedang suka matematika, termasuk memfaktorkan bilangan, itu alasannya judul blognya seperti ini.

Walaupun memiliki banyak kosakata, Joshua sampai saat ini masih memiliki kesulitan dalam berkomunikasi untuk mengekspresikan dirinya. Tapi karena Joshua memiliki banyak kelebihan lain jadi kami tidak terlalu khawatir. Di posting ini, daripada bercerita mengenai detail kepribadiannya, saya ingin bercerita mengenai hal yang baru dia pelajari dan dia sukai saat ini.

Faktor bilangan dan sifat assosiatif perkalian

Jika Joshua tertarik sesuatu, dia akan mengulangi hal tersebut berkali-kali. Contohnya: dia menghapalkan perkalian 1×1 sampai 12×12 sejak beberapa tahun lalu. Dia juga memahami bahwa multiplication adalah penjumlahan berulang. Waktu dia menyadari ini, sering bikin saya bingung, misalnya lagi menikmati kopi, dia tiba-tiba datang dan menanyakan: papa, what is 6+6+6+6+6. Karena sedang santai, kadang tidak langsung menghitung berapa kali dia mengucapkan “six”. Jadi saya harus langsung konsentrasi (atau kadang harus nanya lagi: how many sixes?), terus dia akan bilang: “correct 5 x 6 equals 30”.

Baru-baru ini dia iseng lagi memakai Microsoft Math, dia suka memasukkan bilangan dan mendapatkan faktornya. Seperti ini contohnya:

Meski sudah bisa perkalian dari 1×1 sampai 12×12, dia masih selalu menolak kalau saya ajari algoritma “long multiplication” agar dapat mengalikan bilangan yang lebih besar. Tiap kali saya mulai menjelaskan, langsung dia hapus lagi papan tulisnya. Karena memang belum saatnya dia belajar itu, ya tidak saya paksa.

Lanjutkan membaca “Ulang Tahun Joshua ke (2×3)”

CORS (Cross-Origin Resource Sharing)

Untuk pembaca yang lahir setelah generasi milenial, silakan baca tentang The Corrs di Wikipedia

Topik CORS ini adalah topik security web yang sulit dimengerti bagi sebagian orang. Dalam pentest, kadang temuan CORS diperdebatkan mengenai severity-nya. Di tulisan ini saya akan berusaha menjelaskan apa itu CORS dan dampaknya untuk security.

Dasar Teori

Saya ingin sekali bisa menjelaskan CORS ini secara singkat, supaya nggak perlu ngetik panjang, tapi kenyataannya dibutuhkan pemahaman dulu mengenai request di browser. Jadi sebelum masuk masalah securitynya, saya jelaskan dulu mengenai CORS.

Sebelum ada XHR (XMLHTTPRequest)

Sebelum JavaScript mulai dipakai, yang bisa dibuat dengan HTML hanyalah menyisipkan konten dengan menggunakan tag yang ada, misalnya memakai <img src=""> atau <frame src="">. Konten ini (misalnya gambar) boleh berasal dari domain mana saja. Browser akan meminta konten dari domain lain. Hidup masih sangat sederhana.

Ketika JavaScript mulai dipakai, kemampuannya masih terbatas untuk memodifikasi DOM (Document Object Model). Ini pun masih belum jadi masalah. Javascript hanya sekedar membuat elemen HTML dan browser yang akan melakukan request ke server tujuan. JavaScript tidak memproses data secara langsung.

Lanjutkan membaca “CORS (Cross-Origin Resource Sharing)”

Merekam kehidupan: 17 tahun ngeblog bareng

Kadang rasanya hidup ini cepat sekali berlalu. Sepertinya belum lama saya menyuapi Joshua makan nasi telur dadar di Night Safari waktu Joshua masih di stroller . Momen ini saya ingat, karena Joshua dulu sedang sulit sekali makan apapun, hanya setelah jalan-jalan di night safari, dia mau makan nasi dengan telur, dan itu kami ulangi berkali-kali.

Tahun 2017

Hari ini sangat cerah, setelah polusi parah cukup lama, ada hujan besar kemarin, dan sementara ini udara sangat bagus. Jadi hari ini saya memutuskan pulang kerja lebih cepat untuk pergi ke Night Safari bareng-bareng. Kami selalu tetap memilih menu yang sama di Night Safari: nasi telur dan muu ping. Sekarang Joshua sudah besar, bisa makan sendiri.

Lanjutkan membaca “Merekam kehidupan: 17 tahun ngeblog bareng”

SSL Pinning dan Pentester Ngawur

Tulisan ini saya buat untuk mengkritik para pentester yang nggak paham apa tujuan SSL pinning dan menyusahkan programmer. Kasusnya adalah SSL Pinning yang bisa dibypass dianggap sebagai bug, sedangkan cara bypassnya memerlukan Magisk dan Frida. Ibaratnya di dunia fisik begini: kalau ada jendela terbuka, itu bug. Tapi setelah jendelanya ditutup, dilaporkan lagi begini: pak, ini ada celah keamanannya: kalau kita masuk ke dalam rumah, ternyata jendelanya bisa dibuka dari dalam pak. Logikanya: kalau seseorang sudah bisa masuk, ngapain lagi buka jendela?

Maksud dan Tujuan SSL Pinning

Mari kita mundur sejenak, sebenarnya apa sih tujuan SSL Pinning? Saya sudah membuat artikel yang lebih detail di sini, tapi sekarang saya akan membahas versi sederhananya saja: tujuan SSL pinning adalah memastikan kita terhubung ke server yang memang kita tuju. Ini untuk mencegah MITM (Man In the Middle Attack) jika attacker dapat membuat certificate baru yang dipercaya oleh aplikasi/sistem operasi.

Jika aplikasi mengecek tidak melakukan SSL Pinning maka ada dua kelemahan yang bisa dieksploitasi. Pertama adalah melakukan attack terhadap ponsel spesifik, dan kedua adalah membuat certificate yang dipercaya secara default oleh sistem operasi.

Lanjutkan membaca “SSL Pinning dan Pentester Ngawur”

Memakai RAM rusak (parsial) di Linux

Linux memiliki fitur untuk melakukan deteksi RAM yang rusak parsial dan menskip bagian RAM tersebut. Dalam keadaan sangat terpaksa, fitur ini bisa dimanfaatkan. Gejala RAM rusak biasanya adalah: crash secara random. Terutama jika ini di OS yang masih “bersih” (baru direinstall).

Sumber: https://poorlydrawnlines.com/comic/an-idea/

Secara umum memakai RAM rusak bukan ide yang baik, dan RAM yang rusak sebaiknya diganti karena sangat berisiko merusak data. Tapi dalam kasus tertentu mungkin kita ingin tetap memakai RAM tersebut karena berbagai alasan, misalnya:

  • Supaya tetap bisa bekerja sambil menunggu RAM baru
  • RAM tidak bisa diganti karena disolder di motherboard
  • Komputer dipakai untuk keperluan tidak penting, misalnya sekedar untuk mainan anak-anak. Atau mungkin sekedar menampilkan iklan untuk pengunjung toko (tidak apa-apa jika sesekali crash)
Lanjutkan membaca “Memakai RAM rusak (parsial) di Linux”

Membuat Burp Extension

Burp adalah tool intercepting proxy proprietary yang bisa digunakan untuk melakukan penteting aplikasi web (dan juga mobile yang memakai koneksi HTTP/HTTPS). Tool ini seperti Zaproxy yang pernah saya bahas di posting yang lain, tapi Burp sifatnya tertutup (tidak open source). Tool ini sangat populer di kalangan pentester dan bounty hunter.

Burp ada versi gratis serta berbayarnya, tapi versi gratisnya memiliki keterbatasan tidak bisa menyimpan session, sehingga tidak cocok untuk pekerjaan pentest professional. Versi professionalnya 399 USD per tahun. Memang cukup mahal, tapi bagi saya tool ini cukup membantu proses pentest, jadi saya berlangganan versi pronya. Dilihat dari sudut pandang lain biaya ini tidak mahal: biaya transportasi harian 20 ribu rupiah sehari selama 300 hari sudah lebih mahal daripada harga langganan burp setahun.

Walau sudah membeli lisensi Burp, tapi saya juga masih memakai Zaproxy. Masing-masing punya kelebihan dan kekurangannya sendiri. Beberapa fitur sudah ada lama di Zaproxy (misalnya launch built in web browser) baru ada di Burp, dan juga sebaliknya. Contoh fitur lain yang tidak ada di burp adalah headless scan (ada extension untuk ini, tapi sudah tidak diupdate, dan tidak jalan di versi baru). Secara umum Burp lebih cepat dari zaproxy dan lebih stabil, selain itu banyak riset dilakukan oleh PortSwigger (perusahaan pembuat burp) yang langsung dijadikan extension Burp.

Lanjutkan membaca “Membuat Burp Extension”

Buku-buku Robert Galbraith dan Haruki Murakami

Setelah lama tidak menulis review buku, saya ingin menuliskan buku yang belum lama saya baca, sekaligus juga jadi catatan di blog bahwa saya masih rajin membaca buku fiksi tapi malas menuliskannya. Saya suka buku jenis science fiction, tapi tidak eksklusif membaca buku jenis itu, buku jenis apa saja akan saya baca kalau menarik.

Tahun lalu saya menghabiskan banyak waktu membaca buku 1-5 The Dresden Files karangan Jim Butcher. Isinya tentang penyihir, vampir, dan berbagai hal supernatural lainnya. Masih ada 12 lagi buku di seri itu, tapi saya sudah mulai bosan, jadi tidak diteruskan.

Cormoran Strike buku 5 (Troubled Blood)

Awal tahun ini saya baru sadar bahwa Robert Galbraith (nama pena JK Rowling) sudah menerbitkan buku kelima serial Cormoran Strike beberapa bulan sebelumnya. Biasanya saya sudah memesan duluan di Kindle supaya dapat notifikasi, tapi kali ini sepertinya terlewat. Saya sudah membaca buku ini dari sejak terbit beberapa tahun lalu, dan selalu mengikuti seri terbarunya.

Buku seri Cormoran Strike ini adalah jenis buku detektif untuk orang dewasa, cara berceritanya sangat mengingatkan saya pada seri Agatha Christie (salah satu posting pertama di blog ini adalah tentang buku Agatha Christie yang saya baca). Intinya adalah mewawancara banyak orang untuk menemukan jawaban atas suatu misteri. Settingnya modern, jadi pencarian bukan hanya dilakukan secara manual tapi juga menggunakan Facebook dan sumber online lainnya. Ada kisah romance yang menyangkut Strike dan Robin yang bikin gemes karena sampai buku 5 masih belum ada progress yang berarti.

Lanjutkan membaca “Buku-buku Robert Galbraith dan Haruki Murakami”