Student Result Management System - SQLi

9.8

Critical

Discovered by 

Andres Roldan

Offensive Team, Fluid Attacks

Summary

Full name

Student Result Management System v1.0 - Multiple Unauthenticated SQL Injections (SQLi)

Code name

State

Public

Release date

Dec 6, 2023

Affected product

Student Result Management System

Vendor

Projectworlds Pvt. Limited

Affected version(s)

Version 1.0

Vulnerability name

Unauthenticated SQL Injections (SQLi)

Vulnerability type

Remotely exploitable

Yes

CVSS v3.0 vector string

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CVSS v3.0 base score

9.8

Exploit available

Yes

Description

Student Result Management System v1.0 is vulnerable to multiple Unauthenticated SQL Injection vulnerabilities.

Vulnerabilities

CVE-2023-48716

The 'class_id' parameter of the add_classes.php resource does not validate the characters received and they are sent unfiltered to the database. The vulnerable code is:

$name=$_POST["class_name"];
$id=$_POST["class_id"];

// validation
if (empty($name) or empty($id) or preg_match("/[a-z]/i",$id)) {
 if(empty($name))
 echo '<p class="error">Please enter class</p>';
 if(empty($id))
 echo '<p class="error">Please enter class id</p>';
 if(preg_match("/[a-z]/i",$id))
 echo '<p class="error">Please enter valid class id</p>

CVE-2023-48718

The 'class_name' parameter of the add_students.php resource does not validate the characters received and they are sent unfiltered to the database. The vulnerable code is:

$name=$_POST['student_name'];
$rno=$_POST['roll_no'];
if(!isset($_POST['class_name']))
 $class_name=null;
else
 $class_name=$_POST['class_name'];

// validation
if (empty($name) or empty($rno) or empty($class_name) or preg_match("/[a-z]/i",$rno) or !preg_match("/^[a-zA-Z ]*$/",$name)) {
 if(empty($name))
 echo '<p class="error">Please enter name</p>';
 if(empty($class_name))
 echo '<p class="error">Please select your class</p>';
 if(empty($rno))
 echo '<p class="error">Please enter your roll number</p>';
 if(preg_match("/[a-z]/i",$rno))
 echo '<p class="error">Please enter valid roll number</p>';
 if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
 echo '<p class="error">No numbers or symbols allowed in name</p>

CVE-2023-48720

The 'password' parameter of the login.php resource does not validate the characters received and they are sent unfiltered to the database. The vulnerable code is:


CVE-2023-48722

The 'class_name' parameter of the add_results.php resource does not validate the characters received and they are sent unfiltered to the database. The vulnerable code is:

if(!isset($_POST['class_name']))
 $class_name=null;
else
 $class_name=$_POST['class_name'];
...
// validation
if (empty($class_name) or empty($rno) or $p1>100 or $p2>100 or $p3>100 or $p4>100 or $p5>100 or $p1<0 or $p2<0 or $p3<0 or $p4<0 or $p5<0 ) {
 if(empty($class_name))
 echo '<p class="error">Please select class</p>';
 if(empty($rno))
 echo '<p class="error">Please enter roll number</p>';
 if(preg_match("/[a-z]/i",$rno))
 echo '<p class="error">Please enter valid roll number</p>';
 if(preg_match("/[a-z]/i",$marks))
 echo '<p class="error">Please enter valid marks</p>';
 if($p1>100 or $p2>100 or $p3>100 or $p4>100 or $p5>100 or $p1<0 or $p2<0 or $p3<0 or $p4<0 or $p5<0)
 echo '<p class="error">Please enter valid marks</p>

Our security policy

We have reserved the IDs CVE-2023-48716, CVE-2023-48718, CVE-2023-48720 and CVE-2023-48722 to refer to these issues from now on.

Disclosure policy

System Information

  • Version: Student Result Management System v1.0

  • Operating System: Any

Mitigation

There is currently no patch available for this vulnerability.

References

Timeline

Vulnerability discovered

Nov 17, 2023

Vendor contacted

Nov 17, 2023

Public disclosure

Dec 6, 2023

Start your 21-day free trial

Discover the benefits of our Continuous Hacking solution, which organizations of all sizes are already enjoying.

Start your 21-day free trial

Discover the benefits of our Continuous Hacking solution, which organizations of all sizes are already enjoying.

Start your 21-day free trial

Discover the benefits of our Continuous Hacking solution, which organizations of all sizes are already enjoying.

Fluid Attacks' solutions enable organizations to identify, prioritize, and remediate vulnerabilities in their software throughout the SDLC. Supported by AI, automated tools, and pentesters, Fluid Attacks accelerates companies' risk exposure mitigation and strengthens their cybersecurity posture.

SOC 2 Type II

SOC 3

Subscribe to our newsletter

Stay updated on our upcoming events and latest blog posts, advisories and other engaging resources.

© 2025 Fluid Attacks. We hack your software.

Fluid Attacks' solutions enable organizations to identify, prioritize, and remediate vulnerabilities in their software throughout the SDLC. Supported by AI, automated tools, and pentesters, Fluid Attacks accelerates companies' risk exposure mitigation and strengthens their cybersecurity posture.

SOC 2 Type II

SOC 3

Subscribe to our newsletter

Stay updated on our upcoming events and latest blog posts, advisories and other engaging resources.

© 2025 Fluid Attacks. We hack your software.

Fluid Attacks' solutions enable organizations to identify, prioritize, and remediate vulnerabilities in their software throughout the SDLC. Supported by AI, automated tools, and pentesters, Fluid Attacks accelerates companies' risk exposure mitigation and strengthens their cybersecurity posture.

SOC 2 Type II

SOC 3

Subscribe to our newsletter

Stay updated on our upcoming events and latest blog posts, advisories and other engaging resources.

© 2025 Fluid Attacks. We hack your software.