SQL Suntikan dalam bbPress

November 14, 2017

Risiko Keselamatan: Berbahaya

Tingkat Pengeksploitasi: Mudah / Jauh

7.2 / 10

Kerentanan: SQL Suntikan

Versi yang ditembusi: Tidak ditambal oleh bbPress / WordPress 4.8.3 membetulkan isu ini

Semasa pemeriksaan kerap kami Sucuri Firewall (WAF) salah seorang penyelidik pada masa itu, Slavco Mihajloski mendapati kelemahan SQL Injection yang menjejaskan bbPress. Sekiranya keadaan yang betul dipenuhi, kelemahan ini sangat mudah disalahgunakan oleh mana-mana pelawat di laman web mangsa.

Kerana maklumat tentang kelemahan ini telah dibuat umum pada hari ini pada laporan Hackerone, dan mengemas kini versi terbaru WordPress memperbaiki akar masalah, kami memilih untuk mendedahkan bug ini dan membuat butiran awam.

Garis Masa Pendedahan Kerentanan

  • 20 Mac – Laporan awal kepada pasukan bbPress.
  • 20 Mac – Jawapan awal dari bbPress, patch dijangka dijangka dalam 40 jam akan datang
  • 5 April – Sucuri membuat permintaan pertama untuk kemas kini.
  • April 18 – Balas dari bbPress, patch yang dirancang untuk 2.5 dan cawangan masa depan 2.6.
  • 25 April – Sucuri meminta ETA untuk dua patch ini.
  • 9 Jun – Sucuri membuat permintaan ke-2 untuk kemas kini.
  • 9 Jun – Dua patch boleh didapati di pelayan Trac bbPress sendiri ( untuk 2.5 dan cawangan 2.6 masa hadapan ), bukan pada repositori WordPress.org rasmi.
  • 11 Julai – Sucuri mengumumkan pendedahan penuh tetapi patch masih belum di repositori WordPress.
  • 20 Julai – Sucuri mendapati patch tidak membetulkan isu itu, menghentikan rancangan pendedahan penuh. Kami menghantar patch untuk membantu.
  • 21 Julai – bbPress mengakui masalah itu, dengan mengatakan mereka akan membalas ASAP dengan maklumat lanjut.
  • 31 Oktober – WordPress 4.8.3 dikeluarkan, menetapkan kelemahan ini.
  • 13 November – Bug bbPress yang sama didedahkan dalam laporan Hackerone.

Adakah Anda Berisiko?

Pepijat ini boleh dieksploitasi apabila opsyen Anonymous posting diaktifkan di laman WordPress bbPress berkuasa – sesuatu penyerang dengan mudah dapat melihat

Jika anda tidak pasti sama ada atau tidak anda telah mengaktifkan opsyen ini, anda boleh merujuk kepada halaman Setting plugin

Apabila pilihan ini ditetapkan, bug keselamatan boleh dieksploitasi oleh penyerang dengan membuat / membalas jawatan sebagai pengguna tanpa nama. Kerana cara serangan suntikan SQL berfungsi, terdapat banyak cara penyerang boleh menyebabkan kemudaratan – contoh termasuk hash kata laluan bocor dan kekunci kriptografi lain

Butiran Teknikal

Vektor serangan yang digunakan di sini adalah sama seperti yang dijelaskan di dalam catatan awal kami tentang bagaimana kami menemui Suntikan SQL di Galeri Nextgen yang disebabkan oleh penggunaan tidak wajar kelas abstraksi pangkalan data WordPress ( wp-db ).

Secara ringkas, mungkin input pengguna dimasukkan ke dalam pernyataan yang disediakan menggunakan $ wpdb menyediakan kaedah . Oleh kerana kaedah ini mengambil kesempatan daripada tag format sprintf dan melakukan pemprosesan tambahan di atasnya, walaupun input yang dibersihkan daripada suntikan SQL boleh digunakan untuk memasukkan pernyataan SQL sewenang-wenang.

Kami sangat mengesyorkan anda merujuk ke post blog terakhir ini untuk mendapatkan maklumat lanjut tentang spesifik vektor serangan ini

Pelakunya terletak pada fungsi bbp_check_for_duplicate yang terletak di bbpress / termasuk / common / functions.php .

Seperti yang anda dapat lihat di coretan di atas, fungsi [[mn_m_sql get_meta_sql direka untuk menghasilkan sebahagian daripada fasal WHERE yang digabungkan dengan pertanyaan SQL yang disediakan kemudian dalam kod, ia menggunakannya dengan menggunakan beberapa parameter yang kita kawalan, iaitu array $ r [‘anonymous_data’] . Sudah tentu, output yang dihasilkan akan mengandungi input kami, dibersihkan untuk mencegah serangan suntikan SQL tradisional.

Sekarang, mari kita lihat lebih mendalam pada potongan terakhir itu. Ia menjana klausa SQL WHERE dan terus memasukkannya ke $ wpdb-> mempersiapkan () argumen pertama (query SQL). Seperti mana sebahagian daripada anda mungkin ingat dari pos blog terakhir kami menggunakan vektor serangan yang sama, ini bukan perkara yang baik. Sekalipun klausa SQL dibersihkan daripada serangan suntikan tradisional, tidak ada apa-apa untuk menghalang penyerang menyisipkan penyangak spesifikasi format sprintf, yang, seperti yang anda ingat, membenarkan kami memasukkan penyataan SQL sewenang-wenangnya kepada pertanyaan.

Dengan butiran ini dalam fikiran, ia adalah agak mudah untuk melihat di mana input pengguna berasal: ia berasal dari bentuk Anonim Balas / Post Baru.

Akibatnya, menghantar muatan ini akan mengakibatkan pelaksanaan pertanyaan berikut di sisi server:

 ID PILIH DARI wp_posts INNER JOIN wp_postmeta ON (
 wp_posts.ID = wp_postmeta.post_id) DI MANA post_type = 'balas' DAN
 post_status! = 'sampah' DAN post_author = 0 DAN post_content = 'atau 1 = 1))
 # 'DAN (
 (wp_postmeta.meta_key = '_bbp_anonymous_email' DAN wp_postmeta.meta_value = 'atau 1 = 1)) #' atau 1 = 1)) #'@test.com ')
 ) DAN post_parent = 11 LIMIT 1 

Ini boleh dieksploitasi sebagai suntikan SQL buta klasik.

Dikemaskini sebentar lagi!

Jika anda menggunakan plugin ini dengan konfigurasi yang disebutkan di atas dan tapak anda tidak dikemas kini secara automatik kepada 4.8.3, berbuat demikian secepat mungkin!

Sekiranya anda tidak dapat melakukan ini, kami sangat mengesyorkan memanfaatkan [SunturiFirewall atau teknologi yang setara dengannya kerana mempunyai kelemahan yang ditampal secara hampir.



Sumber

Bacaan WordPress Yang Lebih Menarik!

Candidate – Political/Nonprofit/Church WordPress Theme
Themeforest,
1 views
Themeforest,
1 views

Candidate – Political/Nonprofit/Church WordPress Theme

Pembuat Rojak - January 19, 2018

Maklumat Terbaru: 08 Disember 2017 - Versi 4.7 TETAP: - isu kecil UPDATED: - Plugin VC TAMBAH: pilihan baru untuk…

Fresh Favicon – WordPress Plugin
Plugins,
2 views
Plugins,
2 views

Fresh Favicon – WordPress Plugin

Pembuat Rojak - January 19, 2018

Semua plugin kami disertakan dalam Tema Ark kami secara percuma Versi 1.1.1 kini tersedia (Jul 2, 2014) - butiran lihat…

Sorotan Plugin Divi: Divi – Modul Blog Boleh Ditapis
Elegant Themes,
3 views
Elegant Themes,
3 views

Sorotan Plugin Divi: Divi – Modul Blog Boleh Ditapis

Pembuat Rojak - January 19, 2018

Saya peminat reka bentuk blog. Saya suka melihat bagaimana kandungan dibentangkan kepada pembaca dalam reka bentuk laman web. Anda mungkin…

Leave a Comment

Your email address will not be published.