| 标题 | SourceCodester Human Resource Management System 10 No Auth Check on the Employee Endpoint: Anyone Creates an Admin, |
|---|
| 描述 | controller/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. |
|---|
| 来源 | ⚠️ https://tracexlabs.com/releases/hrm-10-preauth-admin-takeover.html |
|---|
| 用户 | SanthoshKumar (UID 101638) |
|---|
| 提交 | 2026-09-25 15時34分 (17 日前) |
|---|
| 管理 | 2026-10-11 21時57分 (16 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 416791 [SourceCodester Human Resource Management System 1.0 Employee Endpoint controller/employee.php session_start role/pfimg/EmpId 弱身份验证] |
|---|
| 积分 | 20 |
|---|