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 de dez. de 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

17 de nov. de 2023

Vendor contacted

17 de nov. de 2023

Public disclosure

6 de dez. de 2023

Comece seu teste gratuito de 21 dias

Descubra os benefícios de nossa solução de Hacking Contínuo, da qual empresas de todos os tamanhos já desfrutam.

Comece seu teste gratuito de 21 dias

Descubra os benefícios de nossa solução de Hacking Contínuo, da qual empresas de todos os tamanhos já desfrutam.

Comece seu teste gratuito de 21 dias

Descubra os benefícios de nossa solução de Hacking Contínuo, da qual empresas de todos os tamanhos já desfrutam.

As soluções da Fluid Attacks permitem que as organizações identifiquem, priorizem e corrijam vulnerabilidades em seus softwares ao longo do SDLC. Com o apoio de IA, ferramentas automatizadas e pentesters, a Fluid Attacks acelera a mitigação da exposição ao risco das empresas e fortalece sua postura de cibersegurança.

Assine nossa newsletter

Mantenha-se atualizado sobre nossos próximos eventos e os últimos posts do blog, advisories e outros recursos interessantes.

As soluções da Fluid Attacks permitem que as organizações identifiquem, priorizem e corrijam vulnerabilidades em seus softwares ao longo do SDLC. Com o apoio de IA, ferramentas automatizadas e pentesters, a Fluid Attacks acelera a mitigação da exposição ao risco das empresas e fortalece sua postura de cibersegurança.

Assine nossa newsletter

Mantenha-se atualizado sobre nossos próximos eventos e os últimos posts do blog, advisories e outros recursos interessantes.

As soluções da Fluid Attacks permitem que as organizações identifiquem, priorizem e corrijam vulnerabilidades em seus softwares ao longo do SDLC. Com o apoio de IA, ferramentas automatizadas e pentesters, a Fluid Attacks acelera a mitigação da exposição ao risco das empresas e fortalece sua postura de cibersegurança.

Assine nossa newsletter

Mantenha-se atualizado sobre nossos próximos eventos e os últimos posts do blog, advisories e outros recursos interessantes.