Menu

Search for hundreds of thousands of exploits

"ATutor 2.2 - Multiple Cross-Site Scripting Vulnerabilities"

Author

Exploit author

"Curesec Research Team"

Platform

Exploit platform

php

Release date

Exploit published date

2016-02-04

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
Security Advisory - Curesec Research Team

1. Introduction

Affected Product:    Atutor 2.2
Fixed in:            partly in ATutor 2.2.1-RC1, complete in 2.2.1
Fixed Version Link:  http://www.atutor.ca/atutor/download.php
Vendor Website:      http://www.atutor.ca/
Vulnerability Type:  XSS
Remote Exploitable:  Yes
Reported to vendor:  11/17/2015
Disclosed to public: 02/01/2016
Release mode:        Coordinated Release
CVE:                 n/a
Credits              Tim Coen of Curesec GmbH

2. Overview

Atutor is a learning management system (LMS) written in PHP. In version 2.2, it
is vulnerable to multiple reflected and persistent XSS attacks.

The vulnerabilities can lead to the stealing of cookies, injection of
keyloggers, or the bypassing of CSRF protection. If the victim is an admin, a
successful exploitation can lead to code execution via the theme uploader, and
if the victim is an instructor, this can lead to code execution via a file
upload vulnerability in the same version of Atutor.

3. Details

XSS 1: Reflected XSS - Calendar

CVSS: Medium 4.3 AV:N/AC:M/Au:N/C:N/I:P/A:N

Description: The calendar_next parameter of the calendar is vulnerable to XSS.
This issue has been fixed in ATutor 2.2.1-RC1.

Proof of Concept:

    http://localhost/ATutor/mods/_standard/calendar/getlanguage.php?token=calendar_next<script>alert(1)<%2fscript>&pub=1

Code:

    /mods/_standard/calendar/getlanguage.php
    $token = $_GET['token'];
    echo _AT($token);

XSS 2: Persistent XSS - Profile

CVSS: Medium 5.0 AV:N/AC:L/Au:N/C:N/I:P/A:N

Description: When saving profile information, < is filtered out. < on the
other hand is not filtered, but converted to <, which leads to persistent XSS.

A user account is needed, but registration is open by default. This issue has
been fixed in ATutor 2.2.1.

Proof of Concept:

Visit: 
    http://localhost/ATutor/users/profile.php 
In any field, enter 
    <img src=no onerror=alert(1)>

The input is for example echoed when visiting http://localhost/ATutor/users/
profile.php. This self-XSS may be exploited by force-logging in the victim.

The input is not only echoed to the user themselves, but also in other places.

For example, an attacker could send a private message to a victim. When the
victim views the message, or visits their inbox, the injected code will be
executed.

XSS 3: Persistent XSS - Forum

CVSS: Medium 5.0 AV:N/AC:L/Au:N/C:N/I:P/A:N

Description: When creating a forum post, the Subject parameter is vulnerable to
persistent XSS.

A user account is needed, but registration is open by default. This issue has
been fixed in ATutor 2.2.1.

Proof of Concept:

Visit a forum, eg here: 
    http://localhost/ATutor/mods/_standard/forums/forum/view.php?fid=1&pid=1 
Post a new message, as Subject, use: 
    Re: test topic'"><img src=no onerror=alert(1)>

In ATutor 2.2.1-RC1, < and > are encoded, preventing the proof of concept from
working. But until version 2.2.1, it was still possible to exploit this issue
either by using the JavaScript context the input is echoed into (onClick), or
by adding a new attribute:

adding new attributes: 
    Re: ';" onmouseover="alert(1); var foo=' 
staying inside the existing JavaScript context: 
    Re: test topic';alert(1);var foo='

XSS 4: Persistent self-XSS - Calendar

CVSS: Low 2.6 AV:N/AC:H/Au:N/C:N/I:P/A:N

Description: The event name of the calendar is vulnerable to persistent XSS.
The calendar seems to be shown only to the user creating it, meaning the only
way to exploit this issue would be to force-login the victim.

A user account is needed, but registration is open by default. This issue has
been fixed in ATutor 2.2.1-RC1.

Proof of Concept:

Visit: http://localhost/ATutor/mods/_standard/calendar/index_mystart.php 
Create event with name: 
    '"><img src=no onerror=alert(1)> 
Visit event page: http://localhost/ATutor/mods/_standard/calendar/index_mystart.php

XSS 5: Persistent XSS - Chat

CVSS: Medium 5.0 AV:N/AC:L/Au:N/C:N/I:P/A:N

Description: When viewing the chat history, chat messages are not properly HTML
encoded, leading to persistent XSS.

A user account is needed, but registration is open by default. This issue has
been fixed in ATutor 2.2.1-RC1.

Proof of Concept:

1. Visit Chat: 
    http://localhost/ATutor/mods/_standard/chat/chat.php 
2. Enter chat message: 
    '"><img src=no onerror=alert(1)> 
3. Visit chat history of that user: 
    http://localhost/ATutor/mods/_standard/chat/filterHistory.php?filterChatID=[USERNAME]

4. Solution

To mitigate this issue please upgrade at least to version 2.2.1:

http://www.atutor.ca/atutor/download.php

Please note that a newer version might already be available.

5. Report Timeline

11/17/2015 Informed Vendor about Issue
11/21/2015 Vendor requests more time
01/06/2016 Vendor releases new release candidate with partial fix
01/30/2016 Vendor releases complete fix
02/01/2016 Disclosed to public


Blog Reference:
https://blog.curesec.com/article/blog/Atutor-22-XSS-149.html
 
--
blog:  https://blog.curesec.com
tweet: https://twitter.com/curesec

Curesec GmbH
Curesec Research Team
Romain-Rolland-Str 14-24
13089 Berlin, Germany
Release Date Title Type Platform Author
2020-12-02 "aSc TimeTables 2021.6.2 - Denial of Service (PoC)" local windows "Ismael Nava"
2020-12-02 "Ksix Zigbee Devices - Playback Protection Bypass (PoC)" remote multiple "Alejandro Vazquez Vazquez"
2020-12-02 "Mitel mitel-cs018 - Call Data Information Disclosure" remote linux "Andrea Intilangelo"
2020-12-02 "ChurchCRM 4.2.1 - Persistent Cross Site Scripting (XSS)" webapps multiple "Mufaddal Masalawala"
2020-12-02 "DotCMS 20.11 - Stored Cross-Site Scripting" webapps multiple "Hardik Solanki"
2020-12-02 "Artworks Gallery 1.0 - Arbitrary File Upload RCE (Authenticated) via Edit Profile" webapps multiple "Shahrukh Iqbal Mirza"
2020-12-02 "NewsLister - Authenticated Persistent Cross-Site Scripting" webapps multiple "Emre Aslan"
2020-12-02 "Anuko Time Tracker 1.19.23.5311 - No rate Limit on Password Reset functionality" webapps php "Mufaddal Masalawala"
2020-12-02 "ChurchCRM 4.2.0 - CSV/Formula Injection" webapps multiple "Mufaddal Masalawala"
2020-12-02 "IDT PC Audio 1.0.6433.0 - 'STacSV' Unquoted Service Path" local windows "Manuel Alvarez"
Release Date Title Type Platform Author
2017-03-20 "phplist 3.2.6 - SQL Injection" webapps php "Curesec Research Team"
2016-11-21 "Mezzanine 4.2.0 - Cross-Site Scripting" webapps python "Curesec Research Team"
2016-11-21 "FUDforum 3.0.6 - Cross-Site Scripting / Cross-Site Request Forgery" webapps php "Curesec Research Team"
2016-11-21 "FUDforum 3.0.6 - Local File Inclusion" webapps php "Curesec Research Team"
2016-11-21 "LEPTON 2.2.2 - Remote Code Execution" webapps php "Curesec Research Team"
2016-11-21 "LEPTON 2.2.2 - SQL Injection" webapps php "Curesec Research Team"
2016-11-10 "MyBB 1.8.6 - Cross-Site Scripting" webapps php "Curesec Research Team"
2016-09-19 "MyBB 1.8.6 - SQL Injection" webapps php "Curesec Research Team"
2016-09-19 "Kajona 4.7 - Cross-Site Scripting / Directory Traversal" webapps php "Curesec Research Team"
2016-03-17 "ZenPhoto 1.4.11 - Remote File Inclusion" webapps php "Curesec Research Team"
2016-03-17 "PivotX 2.3.11 - Directory Traversal" webapps php "Curesec Research Team"
2016-02-04 "ATutor 2.2 - Multiple Cross-Site Scripting Vulnerabilities" webapps php "Curesec Research Team"
2016-02-04 "OpenDocMan 1.3.4 - Cross-Site Request Forgery" webapps php "Curesec Research Team"
2015-12-23 "Arastta 1.1.5 - SQL Injection" webapps php "Curesec Research Team"
2015-12-23 "PhpSocial 2.0.0304_20222226 - Cross-Site Request Forgery" webapps php "Curesec Research Team"
2015-12-23 "Grawlix 1.0.3 - Cross-Site Request Forgery" webapps php "Curesec Research Team"
2015-11-16 "XCart 5.2.6 - Code Execution" remote php "Curesec Research Team"
2015-11-16 "ClipperCMS 1.3.0 - Multiple SQL Injections" webapps php "Curesec Research Team"
2015-11-16 "AlegroCart 1.2.8 - Multiple SQL Injections" webapps php "Curesec Research Team"
2015-11-16 "ClipperCMS 1.3.0 - Code Execution" remote php "Curesec Research Team"
2015-11-16 "AlegroCart 1.2.8 - Local/Remote File Inclusion" webapps php "Curesec Research Team"
2015-10-30 "Pligg CMS 2.0.2 - Multiple SQL Injections" webapps php "Curesec Research Team"
2015-10-30 "Pligg CMS 2.0.2 - Cross-Site Request Forgery / Code Execution" webapps php "Curesec Research Team"
2015-10-30 "Pligg CMS 2.0.2 - Directory Traversal" webapps php "Curesec Research Team"
2015-09-17 "ZeusCart 4.0 - SQL Injection" webapps php "Curesec Research Team"
2015-09-17 "ZeusCart 4.0 - Cross-Site Request Forgery" webapps php "Curesec Research Team"
2015-08-18 "BigTree CMS 4.2.3 - (Authenticated) SQL Injection" webapps php "Curesec Research Team"
2015-08-18 "CodoForum 3.3.1 - Multiple SQL Injections" webapps php "Curesec Research Team"
2013-11-18 "LiveZilla 5.0.1.4 - Remote Code Execution" webapps php "Curesec Research Team"
import requests
response = requests.get('http://127.0.0.1:8181?format=json')

For full documentation follow the link above

Cipherscan. Find out which SSL ciphersuites are supported by a target.

Identify and fingerprint Web Application Firewall (WAF) products protecting a website.