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

6 dic 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

IA generativa

17 nov 2023

Vendor contacted

17 nov 2023

Public disclosure

6 dic 2023

Inicia tu prueba gratuita de 21 días

Descubre los beneficios de nuestra solución Hacking Continuo, de la que ya disfrutan empresas de todos los tamaños.

Inicia tu prueba gratuita de 21 días

Descubre los beneficios de nuestra solución Hacking Continuo, de la que ya disfrutan empresas de todos los tamaños.

Inicia tu prueba gratuita de 21 días

Descubre los beneficios de nuestra solución Hacking Continuo, de la que ya disfrutan empresas de todos los tamaños.

Las soluciones de Fluid Attacks permiten a las organizaciones identificar, priorizar y remediar vulnerabilidades en su software a lo largo del SDLC. Con el apoyo de la IA, herramientas automatizadas y pentesters, Fluid Attacks acelera la mitigación de la exposición al riesgo de las empresas y fortalece su postura de ciberseguridad.

SOC 2 Type II

SOC 3

Suscríbete a nuestro boletín

Mantente al día sobre nuestros próximos eventos y los últimos blog posts, advisories y otros recursos interesantes.

Las soluciones de Fluid Attacks permiten a las organizaciones identificar, priorizar y remediar vulnerabilidades en su software a lo largo del SDLC. Con el apoyo de la IA, herramientas automatizadas y pentesters, Fluid Attacks acelera la mitigación de la exposición al riesgo de las empresas y fortalece su postura de ciberseguridad.

SOC 2 Type II

SOC 3

Suscríbete a nuestro boletín

Mantente al día sobre nuestros próximos eventos y los últimos blog posts, advisories y otros recursos interesantes.

Las soluciones de Fluid Attacks permiten a las organizaciones identificar, priorizar y remediar vulnerabilidades en su software a lo largo del SDLC. Con el apoyo de la IA, herramientas automatizadas y pentesters, Fluid Attacks acelera la mitigación de la exposición al riesgo de las empresas y fortalece su postura de ciberseguridad.

SOC 2 Type II

SOC 3

Suscríbete a nuestro boletín

Mantente al día sobre nuestros próximos eventos y los últimos blog posts, advisories y otros recursos interesantes.