Submit #1000486: SourceCodester Human Resource Management System 10 No Auth Check on the Employee Endpoint: Anyone Creates an Admin,info

TitleSourceCodester Human Resource Management System 10 No Auth Check on the Employee Endpoint: Anyone Creates an Admin,
Descriptioncontroller/employee.php calls session_start() and nothing else — there is no isset($_SESSION['User']) check anywhere in the file (contrast header.php, which enforces it for page views). The endpoint works with zero cookies. role and password come straight from $_POST (lines 29, 32); the INSERT persists RoleId='$role', so role=1 creates a real administrator row. PoC A: pre-auth admin creation, then normal login to the admin dashboard. The UPDATE branch (?empedit=1, EmpId from $_GET) sets Password/RoleId WHERE EmpId='1' — direct takeover of the seed admin ([email protected] / admin#123). PoC B succeeded. The same unguarded endpoint handles pfimg uploads; the only type check is the client-supplied $_FILES['pfimg']['type'] (spoofed via multipart Content-Type). The extension is preserved, so a .php shell lands web-accessible in hrm/image/. PoC C: GET returned HTTP 200 with the PHP output — RCE primitive.
Source⚠️ https://tracexlabs.com/releases/hrm-10-preauth-admin-takeover.html
User
 SanthoshKumar (UID 101638)
Submission09/25/2026 15:34 (17 days ago)
Moderation10/11/2026 21:57 (16 days later)
StatusAccepted
VulDB entry416791 [SourceCodester Human Resource Management System 1.0 Employee Endpoint controller/employee.php session_start role/pfimg/EmpId improper authentication]
Points20

Do you know our Splunk app?

Download it now for free!