DVWP

From OnnoWiki
Revision as of 08:20, 4 July 2026 by Onnowpurbo (talk | contribs) (Created page with "Ahh siap — '''DVWP = Damn Vulnerable WordPress'''. DVWP lebih realistis dibanding DVWA untuk latihan WordPress security, karena kamu belajar hal-hal yang sering muncul di p...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Ahh siap — DVWP = Damn Vulnerable WordPress.

DVWP lebih realistis dibanding DVWA untuk latihan WordPress security, karena kamu belajar hal-hal yang sering muncul di pentest WordPress sungguhan: plugin, theme, `/wp-admin`, `/wp-login.php`, `/wp-content/`, XML-RPC, plugin vulnerable, file terbuka, credential lemah, dan salah konfigurasi.

1. Aturan utama: jalankan hanya di lab lokal

Gunakan DVWP hanya di lingkungan sendiri:

Kali Linux       = mesin attacker / latihan
DVWP WordPress   = target vulnerable
Network          = localhost / host-only / private VM network

Jangan expose DVWP ke internet publik. Karena ini memang sengaja vulnerable.

2. Tujuan awal: pahami struktur WordPress

Sebelum menyerang apa pun, buka websitenya manual dulu dan pahami struktur WordPress:

/wp-login.php        → halaman login
/wp-admin/           → dashboard admin
/wp-content/         → tempat theme, plugin, upload
/wp-content/plugins/ → plugin yang terpasang
/wp-content/themes/  → theme yang terpasang
/xmlrpc.php          → endpoint XML-RPC WordPress
/wp-json/            → REST API WordPress

Dalam pentest WordPress, banyak celah berasal dari plugin dan theme, bukan hanya dari WordPress core.

3. Recon dasar dari Kali Linux

Misalnya DVWP kamu jalan di:

http://127.0.0.1:31337

Mulai dari cek service:

nmap -sV -p 31337,31338 127.0.0.1

Artinya:

-sV       = deteksi service dan versinya
-p        = scan hanya port tertentu
127.0.0.1 = mesin lokal

Lalu cek response web:

curl -I http://127.0.0.1:31337

Artinya:

-I = hanya tampilkan HTTP header

Ini membiasakan kamu untuk mengamati dulu sebelum langsung pakai tool besar.

4. Gunakan WPScan, tapi jangan bergantung 100% pada tool

WPScan adalah tool utama untuk enumerasi WordPress.

Contoh:

wpscan --url http://127.0.0.1:31337 --enumerate u,p,t

Artinya:

--url        = URL target WordPress
--enumerate  = minta WPScan melakukan enumerasi
u            = users
p            = plugins
t            = themes

Alur belajar yang bagus:

1. Jalankan WPScan
2. Lihat user/plugin/theme yang ditemukan
3. Verifikasi manual lewat browser
4. Cek path plugin di /wp-content/plugins/
5. Pahami jenis vulnerability-nya
6. Baru coba eksploitasi di lab

Jangan hanya copy-paste exploit. Biasakan bertanya:

Input mana yang vulnerable?
Butuh login atau tidak?
Impact-nya apa?
Buktinya apa?
Cara fix-nya bagaimana?

5. Fokus latihan pada plugin

WordPress sering vulnerable karena plugin. Jadi untuk tiap plugin, buat catatan kecil seperti ini:

Plugin:
Versi:
Vulnerability:
Butuh login? ya/tidak
Impact:
Evidence / bukti:
Cara memperbaiki:
Referensi:

Ini sangat mirip dengan cara kerja report pentest sungguhan.

6. Attack surface WordPress yang perlu dipahami dulu

Prioritaskan belajar ini:

1. User enumeration
2. Weak/default credentials
3. Vulnerable plugins
4. File upload weakness
5. Directory listing / exposed files
6. XML-RPC abuse
7. REST API exposure
8. phpMyAdmin/adminer exposure
9. wp-config.php atau backup leak
10. Privilege escalation di dalam wp-admin

Penjelasan singkat:

User enumeration
mencari username yang valid di WordPress.
Weak/default credentials
login dengan password lemah atau default.
Vulnerable plugins
plugin lama atau plugin yang punya CVE.
File upload weakness
upload file berbahaya karena validasi buruk.
Directory listing
folder bisa dibuka dan isinya kelihatan.
Exposed files
file sensitif seperti backup, .sql, .zip, .bak, atau config terbuka.
XML-RPC abuse
endpoint xmlrpc.php disalahgunakan untuk brute force atau pingback abuse.
REST API exposure
informasi user/post/settings terlalu terbuka lewat /wp-json/.
phpMyAdmin/adminer exposure
panel database terbuka ke web.
wp-config.php leak
file konfigurasi WordPress bocor, bisa berisi credential database.


7. Tool yang bagus untuk latihan DVWP

Tool utama dari Kali:

Browser + Burp Suite

Untuk melihat, intercept, dan memodifikasi HTTP request.

WPScan

Untuk enumerasi WordPress, plugin, theme, user, dan vulnerability.

Nmap

Untuk cek port dan service yang terbuka.

Gobuster / Feroxbuster

Untuk mencari folder atau file tersembunyi.

Nikto

Untuk cek basic web server misconfiguration.

Curl

Untuk memahami HTTP request dan response secara manual.

Searchsploit

Untuk mencari referensi exploit lokal dari Exploit-DB.

8. Workflow beginner yang bagus

Pakai alur ini setiap latihan:

Step 1: Apakah target bisa diakses?
Step 2: Port/service apa yang terbuka?
Step 3: Apakah ini WordPress?
Step 4: Versi WordPress berapa?
Step 5: User apa saja yang terlihat?
Step 6: Plugin/theme apa yang terpasang?
Step 7: Apakah versi plugin/theme vulnerable?
Step 8: Exploit-nya butuh login atau tidak?
Step 9: Bisa tidak membuktikan impact dengan aman?
Step 10: Bagaimana cara memperbaikinya?

Kebiasaan ini lebih penting daripada menghafal payload.

9. Rencana latihan 7 hari

Hari 1:
Install/start DVWP dan pahami struktur aplikasinya.

Hari 2:
Latihan nmap, curl, browser inspection, dan Burp Suite.

Hari 3:
Jalankan WPScan dan verifikasi user/plugin/theme secara manual.

Hari 4:
Pelajari path plugin di /wp-content/plugins/.

Hari 5:
Latihan directory discovery dan exposed file checking.

Hari 6:
Pilih satu vulnerability plugin, pelajari pelan-pelan, lalu tulis mini report.

Hari 7:
Ulangi dari awal tanpa melihat catatan.

10. Buat folder catatan latihan

Bikin folder seperti ini:

mkdir -p ~/Apps/Pentest/DVWP-notes
cd ~/Apps/Pentest/DVWP-notes

touch 01-recon.md
touch 02-wordpress-structure.md
touch 03-wpscan.md
touch 04-plugins.md
touch 05-exposed-files.md
touch 06-findings-report.md
touch 99-cheatsheet.md

Isi setiap file dengan format:

Target:
Tool yang digunakan:
Command:
Arti command:
Finding:
Evidence / bukti:
Risk:
Fix:
Lesson learned:

11. Contoh catatan sederhana

Target:
http://127.0.0.1:31337

Tool:
WPScan

Command:
wpscan --url http://127.0.0.1:31337 --enumerate u,p,t

Arti:
Melakukan enumerasi user, plugin, dan theme WordPress.

Finding:
Ditemukan beberapa plugin yang bisa dicek lebih lanjut.

Evidence:
Plugin terlihat di path /wp-content/plugins/.

Risk:
Jika plugin versi lama dan vulnerable, attacker bisa mengeksploitasi website.

Fix:
Update plugin, hapus plugin tidak terpakai, batasi akses admin, dan aktifkan hardening WordPress.

Lesson learned:
Dalam WordPress pentest, plugin sering menjadi sumber vulnerability utama.

12. Mindset penting saat latihan

Jangan berpikir:

Payload apa yang harus aku copy-paste?

Tapi biasakan berpikir:

Data apa yang dikirim user?
Server memproses input ini sebagai apa?
Apakah input masuk ke SQL query, command, file path, upload handler, atau HTML output?
Apa buktinya input saya memengaruhi backend?
Impact-nya apa?
Cara mitigasinya apa?

Itu mindset pentester yang benar.

13. Batas aman

Yang boleh dilakukan:

DVWP lokal
VM sendiri
Docker sendiri
Lab kampus/kantor yang memang diizinkan
CTF resmi

Yang jangan dilakukan:

Scan website publik tanpa izin
Brute force login asli
Coba payload ke sistem kantor tanpa scope
Upload shell ke server bukan milik sendiri
Pakai WPScan ke domain publik tanpa izin

Intinya: DVWP bukan hanya tempat “nge-hack WordPress”. DVWP adalah tempat belajar cara berpikir pentester WordPress: enumerasi, verifikasi, pahami impact, lalu tulis report dengan rapi.