WordPress Plugin Mortgage Calculators WP 1.52 - Stored XSS (Authenticated)
Uzun zaman oldu sanırım yazmayalı. Yazmayınca da blog anlamını yitiyor. O yüzden yazmaya henüz keşfettiğim etkisi düşük bir zafiyetle tekrardan başlamak istedim.
Sürekli kara kutu test yapmanın verdiği bir usanmışlıkla, rastgele indirdiğim Wordpress eklentilerinin kodlarını incelemeye başladım. Yaklaşık 40-45 dk sonunda başlıkta belirttiğim eklentide bir Stored XSS zafiyeti keşfettim. Zafiyetin istismarı, admin paneline erişim yetkisi gerektiğinden biraz zordu. Yine de zafiyet zafiyettir diyerek ilk CVE başvurumu yaptım.
Zafiyet ile ilgili detaylı bilgiyi aşağıda paylaşıyorum. Happy hacking :)
# Exploit Title: WordPress Plugin Mortgage Calculators WP 1.52 - Stored Cross-Site Scripting (XSS) (Authenticated)
# Date: 25-10-2021
# Exploit Author: Ceylan Bozogullarindan
# Vendor Homepage: https://lenderd.com/
# Software Link: https://mortgagecalculatorsplugin.com/
# Version: 1.52
# Tested on: Linux
# CVE : Requested
# Description:
The plugin gives users real-time estimates by providing mortgage calculators. It does not implement any sanitisation on the color value of the background of a calculator in admin panel, which could lead to authenticated Stored Cross-Site Scripting issues. An attacker can execute malicious javascript codes for all visitors of a page containing the calculator.
# Steps To Reproduce:
1. Go to settings page available under the "Calculator" menu item.
2. Click the "Select Color" button and type the following payload the input space: `hacked</style></head><script>alert(1)</script>`
3. Click the "Save Changes" button to save settings.
4. Create a new page and add the shortcode ([mcwp type="cv"]) of the calculator, for testing.
5. Visit the page to trigger XSS.