Security Vulnerability Report
Researcher: Abdurazzoqov Javohir
Date: 2026-06-19
Severity: Critical
Affected Repo: online-shopping-system-advanced
Summary
Multiple critical security vulnerabilities were identified through source code analysis of this repository. The application is affected by SQL Injection in at least 5 endpoints and plaintext password storage/exposure in the admin panel.
Vulnerability 1 — SQL Injection in manageuser.php (Critical)
File: admin/admin/manageuser.php
$user_id = $_GET['user_id'];
mysqli_query($con, "delete from user_info where user_id='$user_id'");
Issue: $user_id is taken directly from $_GET with no sanitization and inserted into a DELETE query.
PoC:
GET /admin/admin/manageuser.php?action=delete&user_id=1'%20OR%20'1'='1
Impact: Attacker can delete all users from the database.
Vulnerability 2 — SQL Injection in edituser.php (Critical)
File: admin/admin/edituser.php
$user_id = $_REQUEST['user_id'];
mysqli_query($con, "update user_info set first_name='$first_name', ..., password='$user_password' where user_id='$user_id'");
Issue: All 5 parameters are unsanitized in an UPDATE query.
PoC:
POST /admin/admin/edituser.php
first_name=admin'-- -&user_id=1
Vulnerability 3 — SQL Injection in orders.php (Critical)
File: admin/admin/orders.php
$order_id = $_GET['order_id'];
mysqli_query($con, "delete from orders where order_id='$order_id'");
PoC:
GET /admin/admin/orders.php?action=delete&order_id=1'%20OR%20'1'='1
Vulnerability 4 — SQL Injection in addsuppliers.php (High)
File: admin/admin/addsuppliers.php
mysqli_query($con, "insert into user_info(first_name,...,password,...) values ('$first_name', ..., '$user_password', ...)");
Vulnerability 5 — SQL Injection in add_products.php (High)
File: admin/admin/add_products.php
mysqli_query($con, "insert into products (...) values ('$product_type','$brand','$product_name','$price','$details','$pic_name','$tags')");
Vulnerability 6 — Plaintext Password Exposure in Admin Panel (Critical)
Files: admin/admin/manageuser.php, admin/admin/index.php
echo "<td>$user_password</td>";
Issue: User passwords rendered directly in admin HTML table — visible to any admin user.
Vulnerability 7 — Plaintext Password Storage (High)
File: admin/admin/addsuppliers.php
Passwords inserted into database with NO hashing whatsoever.
Vulnerability 8 — Weak MD5 Password Hashing (High)
File: admin/server/server.php
$password = md5($password_1);
MD5 is cryptographically broken for passwords. Use password_hash() with bcrypt.
Recommendations
| Fix |
Action |
| SQLi |
Use prepared statements (mysqli_prepare()) for ALL queries |
| Password exposure |
Remove password column from all admin UI tables |
| Password storage |
Hash with password_hash($pass, PASSWORD_BCRYPT) |
| CSRF |
Add CSRF tokens to all state-changing forms |
Disclosure
This analysis was performed on source code only — no live system was accessed. Reported here for responsible disclosure.
Researcher: abdurazzoqovjavohir700@gmail.com
CVE identifiers will be requested from MITRE for the Critical-severity SQL Injection vulnerabilities after reasonable maintainer response time.
Security Vulnerability Report
Researcher: Abdurazzoqov Javohir
Date: 2026-06-19
Severity: Critical
Affected Repo:
online-shopping-system-advancedSummary
Multiple critical security vulnerabilities were identified through source code analysis of this repository. The application is affected by SQL Injection in at least 5 endpoints and plaintext password storage/exposure in the admin panel.
Vulnerability 1 — SQL Injection in
manageuser.php(Critical)File:
admin/admin/manageuser.phpIssue:
$user_idis taken directly from$_GETwith no sanitization and inserted into a DELETE query.PoC:
Impact: Attacker can delete all users from the database.
Vulnerability 2 — SQL Injection in
edituser.php(Critical)File:
admin/admin/edituser.phpIssue: All 5 parameters are unsanitized in an UPDATE query.
PoC:
Vulnerability 3 — SQL Injection in
orders.php(Critical)File:
admin/admin/orders.phpPoC:
Vulnerability 4 — SQL Injection in
addsuppliers.php(High)File:
admin/admin/addsuppliers.phpVulnerability 5 — SQL Injection in
add_products.php(High)File:
admin/admin/add_products.phpVulnerability 6 — Plaintext Password Exposure in Admin Panel (Critical)
Files:
admin/admin/manageuser.php,admin/admin/index.phpIssue: User passwords rendered directly in admin HTML table — visible to any admin user.
Vulnerability 7 — Plaintext Password Storage (High)
File:
admin/admin/addsuppliers.phpPasswords inserted into database with NO hashing whatsoever.
Vulnerability 8 — Weak MD5 Password Hashing (High)
File:
admin/server/server.phpMD5 is cryptographically broken for passwords. Use
password_hash()with bcrypt.Recommendations
mysqli_prepare()) for ALL queriespassword_hash($pass, PASSWORD_BCRYPT)Disclosure
This analysis was performed on source code only — no live system was accessed. Reported here for responsible disclosure.
Researcher: abdurazzoqovjavohir700@gmail.com