Coding4ever’s Blog

Just coding… coding… and coding… because coding should be fun :)

Menembus Pertahanan Database Firebird Yang Diproteksi

| Comments

Sebelumnya saya mohon maaf jika ada pihak yang tidak berkenan atau merasa dirugikan dengan postingan kali ini, dan jika memang ada silahkan menghubungi Admin dan postingan ini akan dihapus.

Salah seorang pengunjung bertanya “bagaimana cara mengekspor data-data yang ada di database Zahir Accounting ke Ms Excel”.

Untuk bisa mengekspornya tentu saja kita harus tau dulu isi databasenya seperti apa terutama tabelnya, nah untuk demo Zahir Accounting sendiri bisa di download disini.

Setelah menginstallkan kita bisa langsung mengcopy database sample yang sudah disediakan aplikasi ini, secara default lokasinya ada :

1
C:\Program Files\Zahir Small Business System Ver. 5.1\Sample Data\SAMPLE.gdb

Selanjutnya install program IBExpert Personal Edition kemudian daftarkan sample database tersebut menggunakan user SYSDBA dan password masterkey dan untungnya Zahir Accounting tidak mengganti password default firebird pada saat instalasi.

Caranya dengan mengklik menu Database -> Register Database, setelah itu akan tampil dialog registrasi database

Setelah itu klik ganda node DB ZAHIR ACCOUNTING, tapi apa yang terjadi yang muncul malah pesan error

Oke ternyata database ini diproteksi dengan cara membuat role dengan nama yang sama dengan user SYSDBA sehingga proses login pun tertolak.

Solusinya adalah kita membuat user baru misalnya dengan nama k4m4r82 dan password rahasia caranya dengan mengklik menu Tools -> User Manager kemudian masukkan login SYSDBA dan password masterkey.

Kemudian pada dialog User Manager, klik tombol Add setelah itu isikan informasi user yang akan ditambahkan.

Setelah itu kita edit informasi registrasi database sebelumnya khusus dibagian User Name dan Password, caranya dengan mengklik kanan node DB ZAHIR ACCOUNTING kemudian pilih Database Registration Info…

kemudian klik ganda node DB ZAHIR ACCOUNTING dan login pun berhasil :)

Oke apakah sampai disini sudah selesai ? Tentunya belum kita akan lihat dulu isi salah satu tabel misal tabel ABC dengan cara mengklik ganda tabel tersebut kemudian mengklik tab Data dan wowww apa yang terjadi ?

ternyata user yang baru kita tambah tidak mempunyai hak akses untuk melihat data :(, tamat sudah perjalanan kita dan pandangan pun menjadi buram :D.

Tapi… ada yang aneh ? Bagaimana aplikasi Zahir Accounting ini bisa login ke database klo login SYSDBAnya terlarang ??? Pasti ada user lain yang mungkin saja mempunyai level seperti SYSDBA yang digunakan untuk login.

Untungnya firebird menyediakan banyak tabel sistem, salah satunya yaitu RDB$USER_PRIVILEGES tabel ini berisi informasi daftar user yang berhak mengakses database, dan mudah-mudahan saja user yang baru kita tambahkan mempunyai hak akses untuk melihat isi table RDB$USER_PRIVILEGES.

Aktifkan SQL Editor dengan mengklik menu Tools -> SQL Editor, kemudian ketik query seperti berikut :

1
SELECT DISTINCT RDB$USER FROM RDB$USER_PRIVILEGES;

Untuk menjalankan query diatas tekan tombol F9

Eh ternyata ada user dengan nama ZAHIRDBA, jangan-jangan ini nih user yang digunakan untuk login aplikasi.

Oke klo gitu kita coba aja dengan cara membuat user baru dengan nama ZAHIRDBA dan untuk passwordnya rahasia, tapi sebelumnya kita harus menutup terlebih dulu database yang aktif.

Kemudian klik menu Tools -> User Management, login menggunakan SYSDBA dan password masterkey.

kemudian tambahkan user ZAHIRDBA dan password rahasia.

Setelah itu kita edit kembali informasi registrasi database menggunakan user ZAHIRDBA.

kemudian klik ganda node DB ZAHIR ACCOUNTING, yuph login berhasil :).

sekarang kita coba kembali melihat isi data tabel ABC dengan cara mengklik ganda tabel tersebut kemudian klik tab Data

dan hasilnya ….

Selamat mencoba :)

firebird

Tentang Penulis

Software developer yang fokus mengembangkan aplikasi di atas platform .NET (Desktop, ASP.NET MVC, Web Service, Microservice) dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Database, Continuous Integration & Deployment dan arsitektur Microservice.
Selain mengajar, saat ini penulis juga bekerja sebagai staf IT di salah satu PTS di Yogyakarta sebagai senior software developer. Di waktu luang insya Alloh akan terus berbagi pengalaman di blog ini :)

« Menyembunyikan tulisan MERAH di ActiveReports for .NET 2 SP 2 Cara mudah memvalidasi input textbox »

Comments