Lompat ke konten
dokumentasi.id
Commit 0a16c9d
v1
Star6,9 rb

Kamu membaca versi lama. Halaman ini hanya bisa dibaca.

2.10

Catatan Miscellaneous dan Katalog CVE

Folder Misc/ mengumpulkan catatan yang tidak masuk daftar kerentanan utama, sedangkan CVEs/2021/ menyimpan catatan per CVE. README menandai kategori CVEs dengan hanya 2021 yang sudah terisi; 2022 dan 2023 masih bertanda SOON. README.md:41-44 Kategori Miscellaneous di README memuat tujuh tautan, dari Account Takeover sampai Tabnabbing. README.md:46-53

Ada satu selisih yang perlu diketahui sebelum membaca katalog: folder Misc/ berisi delapan berkas, sedangkan README hanya menyebut tujuh. Misc/Exposed API keys.md tidak muncul di daftar itu, padahal berkasnya ada dan memakai judul # Exposed API Keys / Token OAuth. README.md:46-53

Katalog berkas Misc dan CVE

Tabel ini memetakan setiap berkas ke gagasan yang dibawanya, jumlah butir di dalamnya, dan heading yang dipakai sebagai jangkar. Jumlah butir dihitung dari daftar bernomor pada masing-masing berkas.

BerkasGagasan utamaButirAnchor
Misc/Account Takeover.mdlima jalur pengambilalihan akun5## How to exploit
Misc/Business Logic Errors.mdsembilan area fitur yang diuji9## How to exploit
Misc/JWT Vulnerabilities.mdtiga manipulasi token3## How to exploit
Misc/Tabnabbing.mdwindow.opener pada target="_blank"3 langkah## How to Exploit
Misc/Default Credentials.mdkredensial bawaan perangkat3 langkah## How to find
Misc/Email Spoofing.mdpemeriksaan SPF dan DMARC2 pemeriksaan## How to detect
Misc/Exposed API keys.mdkey yang bocor di JavaScript dan header2 cara## How to find
Misc/Broken Link Hijacking.mdtautan ke domain kedaluwarsa2 langkah## How to find
CVEs/2021/CVE-2021-36873.mdformat catatan CVE yang lengkap7 heading## Description sampai ## Proof of Concept

Account takeover sebagai rantai

Misc/Account Takeover.md tidak menyajikan satu bug tunggal, melainkan lima jalan menuju pengambilalihan akun: OAuth Misconfiguration, re-sign up dengan email yang sama, CSRF pada perubahan email, IDOR pada changepassword.php, dan 2FA tanpa rate limit. Kelimanya bermuara pada satu hasil yang sama, yaitu akses ke akun orang lain.

graph LR
  OA["OAuth Misconfiguration<br/>email korban dipakai di evil.com"] --> ATO["Account takeover"]
  RS["re-sign up dengan email yang sama"] --> ATO
  CS["CSRF change-email"] --> ATO
  ID["IDOR changepassword userid 500 menjadi 501"] --> ATO
  TF["No Rate Limit on 2FA"] --> ATO
  style ATO fill:#dc2626,color:#fff
  style OA fill:#f59e0b,color:#000
  style TF fill:#f59e0b,color:#000
  style RS fill:#8b5cf6,color:#fff
  style CS fill:#8b5cf6,color:#fff
  style ID fill:#8b5cf6,color:#fff
%% fig: Lima jalur menuju account takeover
%% desc: Catatan Misc/Account Takeover.md memecah pengambilalihan akun menjadi lima jalur yang semuanya menuju satu hasil, dari OAuth sampai 2FA tanpa rate limit.
Fig. 1: Lima jalur menuju account takeoverCatatan Misc/Account Takeover.md memecah pengambilalihan akun menjadi lima jalur yang semuanya menuju satu hasil, dari OAuth sampai 2FA tanpa rate limit.

Tiga butir di antaranya bertumpu pada manipulasi request biasa, sehingga cukup diuji dengan proxy: POST /newaccount yang diulang dengan email korban, form change-email yang dikirim dari domain penyerang, dan POST /changepassword.php yang nilainya diganti. Butir OAuth dan 2FA lebih banyak bergantung pada kelemahan desain alur, bukan pada satu parameter.

⚠️ Butir IDOR mengubah userid=500 menjadi userid=501 pada request yang sama. Bila endpoint tidak memeriksa kepemilikan objek, satu request sudah cukup untuk mengganti password akun lain. Pola pemeriksaan objek dibahas terpisah di Catatan Kontrol Akses dan Autentikasi, dan varian CSRF-nya di Catatan Serangan Sisi Klien.

Bahan uji ringkas dari berkas Misc

Tabel berikut merangkum nilai konkret yang bisa langsung dipakai saat menguji, bukan ringkasan teori.

BerkasYang diujiNilai konkret
Misc/JWT Vulnerabilities.mdalgoritma dan kekuatan secret"alg": "none"; RS256 diubah ke HS256 sehingga public key dipakai sebagai secret; brute force HS256
Misc/Business Logic Errors.mdbatas nilai dan pemakaian ulangrating 0 atau 6, kupon dipakai dua akun secara paralel, delivery charge negatif, refund ganda, komentar tanpa batas
Misc/Default Credentials.mdkredensial pabrikidentifikasi CMS lebih dulu (contoh grafana), lalu cocokkan dengan DefaultCreds-cheat-sheet dan many-passwords
Misc/Email Spoofing.mdrecord domaintanpa SPF atau DMARC p=none dianggap rentan; contoh v=spf1 include:_spf.google.com ~all dan v=DMARC1; p=none; rua=mailto:[email protected]
Misc/Exposed API keys.mdkunci di sisi klienpencarian di JavaScript dan header request/response, lalu verifikasi lewat Key-Checker, keyhacks, dan all-about-apikey
Misc/Tabnabbing.mdatribut tautan<a href="..." target="_blank" /> tanpa rel, lalu window.opener.parent.location.replace('http://evil.com')
Misc/Broken Link Hijacking.mdtautan matidomain sosial media yang kedaluwarsa, dicek dengan broken-link-checker atau Check My Links

Rincian pengujian fitur seperti kupon, refund, dan premium feature tidak diulang di sini; urutan langkahnya ada di Checklist Pengujian Fitur. Untuk JWT, halaman ini hanya mencatat tiga teknik yang ada di berkas Misc, sedangkan alur verifikasi token dibahas di Catatan Kontrol Akses dan Autentikasi.

Anatomi catatan CVE

Catatan CVE memakai tujuh heading tetap: ## Description, ## CVSS (Vector and Score), ## Affected Application, ## Affected Version, ## Total Installation, ## Steps to Reproduce, dan ## Proof of Concept. Berkas contoh mengisi semuanya tanpa bagian kosong.

Judulnya CVE-2021-36873 dan bagian deskripsi mencatat jenis temuan beserta parameter yang rentan: Authenticated Persistent Cross-Site Scripting pada plugin WordPress iQ Block Country versi <= 1.2.11, dengan parameter &blockcountry_blockmessage. CVEs/2021/CVE-2021-36873.md:3-4 Skor yang dicantumkan adalah CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N, yaitu 5.5 MEDIUM. CVEs/2021/CVE-2021-36873.md:6-7 Bagian aplikasi, versi, dan instalasi menyebut WordPress iQ Block Country, versi <= 1.2.11, dan 30,000+ instalasi. CVEs/2021/CVE-2021-36873.md:9-16 Langkah reproduksi dimulai dengan login sebagai administrator, membuka halaman options-general.php, lalu mengisi form Message to display when people are blocked: dengan </textarea><script>alert(1)</script> dan menekan Save Changes. CVEs/2021/CVE-2021-36873.md:18-23 Bukti pelengkapnya berupa video dan satu gambar tangkapan layar. CVEs/2021/CVE-2021-36873.md:25-31

FieldNilaiRujukan
JenisAuthenticated Persistent Cross-Site ScriptingCVEs/2021/CVE-2021-36873.md:3-4
AplikasiWordPress iQ Block Country pluginCVEs/2021/CVE-2021-36873.md:9-16
Versi terdampak<= 1.2.11CVEs/2021/CVE-2021-36873.md:9-16
Parameter&blockcountry_blockmessageCVEs/2021/CVE-2021-36873.md:3-4
Total instalasi30,000+CVEs/2021/CVE-2021-36873.md:9-16
Skor5.5 MEDIUMCVEs/2021/CVE-2021-36873.md:6-7
Buktivideo dan gambarCVEs/2021/CVE-2021-36873.md:25-31

Vektor skornya sejalan dengan langkah reproduksi: PR:H karena langkah pertama adalah login sebagai administrator, UI:N karena korban tidak perlu diminta berinteraksi dengan halaman yang disisipi, dan AC:L karena hanya perlu satu kali Save Changes. Komponen C:L dan I:L menjelaskan mengapa dampak langsungnya terbatas, sedangkan S:C menandai efek yang melewati komponen rentan. CVEs/2021/CVE-2021-36873.md:6-7

⚠️ Angka 30,000+ pada ## Total Installation adalah kondisi saat catatan ditulis, bukan jumlah instalasi hari ini. Jangan pakai angka itu sebagai dasar prioritas tanpa mengecek ulang. CVEs/2021/CVE-2021-36873.md:9-16

Prioritas telaah

Diagram berikut menyusun urutan telaah dari dampak tinggi ke rendah, bukan urutan pengerjaan. Dua temuan teratas dipilih karena rantainya pendek dan hasilnya langsung terasa: pengambilalihan akun dan pemalsuan token. Email spoofing, broken link hijacking, dan tabnabbing diletakkan di bawah karena butuh perantara, yaitu korban yang membuka tautan atau membaca email.

gantt
    dateFormat X
    axisFormat %s
    section Dampak tinggi
    Account Takeover via IDOR dan CSRF :crit, ato, 0, 3
    JWT Vulnerabilities alg none :crit, jwt, 1, 4
    Exposed API keys :active, key, 2, 4
    section Dampak sedang
    Business Logic Errors refund dan coupon :bl, 3, 6
    Default Credentials :dc, 4, 7
    section Dampak rendah
    Email Spoofing SPF dan DMARC :spf, 7, 9
    Broken Link Hijacking :blh, 8, 10
    Tabnabbing window.opener :tab, 8, 10
    section Contoh katalog
    CVE-2021-36873 skor 5.5 :cve, 10, 12
%% fig: Urutan telaah dari dampak tinggi ke rendah
%% desc: Gantt ini menyusun berkas Misc dan contoh CVE menurut dampak temuan, sehingga pengambilalihan akun dan manipulasi JWT ditelaah sebelum temuan yang butuh perantara seperti email spoofing.
Fig. 2: Urutan telaah dari dampak tinggi ke rendahGantt ini menyusun berkas Misc dan contoh CVE menurut dampak temuan, sehingga pengambilalihan akun dan manipulasi JWT ditelaah sebelum temuan yang butuh perantara seperti email spoofing.

Satu berkas CVE mewakili satu temuan, bukan satu kategori, sehingga katalog ini akan tumbuh seiring bertambahnya jumlah CVE yang didokumentasikan. Ketika menambah catatan baru, pertahankan tujuh heading yang sama agar vektor CVSS dan langkah reproduksi selalu berada di posisi yang bisa dibandingkan antar-CVE.