itsourcecode School Management System SQL Injection Vulnerability in Controller.php
Vulnerability
A SQL injection vulnerability exists in the itsourcecode School Management System version 1.0, specifically within the file /ramonsys/settings/controller.php. The vulnerability arises because the application does not properly sanitize or validate the 'id' parameter in GET requests before using it in SQL queries. This oversight allows attackers to inject malicious SQL code, potentially leading to unauthorized database access, data manipulation, and exploitation of the underlying system. The vulnerability can be exploited remotely without authentication.
Impact
Exploitation of this vulnerability allows for SQL injection, where an attacker can manipulate database queries. This could lead to unauthorized data access, data modification, and in some cases, executing administrative operations on the database. Additionally, such vulnerabilities can often be leveraged to execute arbitrary code or cause a denial-of-service condition on the application or server.
Reproduction
To reproduce this vulnerability, send a GET request to the /ramonsys/settings/controller.php file with the 'action' parameter set to 'delete' and the 'id' parameter manipulated to include a time-based blind SQL injection payload. The injected SQL query can be crafted to, for example, use the SLEEP function to create a delay, demonstrating the injection's success.
Remediation
It is recommended to use prepared statements and parameter binding to prevent SQL injection vulnerabilities. Additionally, input validation and filtering should be implemented to ensure that user input conforms to expected formats. Minimizing database user permissions and conducting regular security audits can also help mitigate such vulnerabilities.
Vulnerability Rating
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.
