
Sourcecodester Zoo Management System v1.0 è vulnerabile a Cross Site Scripting (XSS) in /classes/Login.php a causa di Content-Type non valido
Il progetto Zoo Management System v1.00 è vulnerabile a Cross-site scripting (XSS) su /zms/classes/Login.php?f=login a causa di:
Content-type non valido delle risposte JSON su /zms/classes/Login.php?f=loginConsentendo a attaccanti non autenticati di iniettare HTML/JS malevolo che viene eseguito nei browser delle vittime.
/zms/classes/Login.php
return json_encode(array(
'status' => 'incorrect',
'last_qry' => "SELECT * from users where username = '$username' and password = md5('$password') "
));
$username non viene sanificato quando utilizzato in query SQL o quando riflesso nella risposta. Questa stessa vulnerabilità ha precedentemente portato a una vulnerabilità di SQL Injection (CVE-2025-7160)Aggiungere questa riga alla funzione login():
public function login(){
header('Content-Type: application/json; charset=utf-8');
extract($_POST);

<!DOCTYPE html>
<html>
<head>
<title>CSRF PoC</title>
</head>
<body>
<h3>Standard CSRF PoC</h3>
<form action="http://localhost/zms/classes/Login.php?f=login" method="post">
<input type="hidden" name="username" value="awdawdawdawdawaaaa$" />
<input type="hidden" name="password" value="awdawda" />
<input type="submit" value="Submit request" />
</form>
<script>
history.pushState('', '', '/');
document.forms[0].submit();
</script>
</body>
</html>

Il codice sorgente può essere scaricato gratuitamente qui:
Muntadhar M. Ahmed (almuntadhar0x01)