| 标题 | imvks786 student_management_system 1.0 Broken Access Control |
|---|
| 描述 | The student deletion endpoint (`see.php`) processes the `del` parameter and immediately executes a `DELETE` query **before** checking the logged‑in user’s permission level. The relevant code flow:
```php
// see.php:7-8
if (isset($_GET['submit'])){
if(mysqli_query($con,"DELETE FROM student WHERE ID =".$_GET['del']."")){
// ... later, after deletion ...
// see.php:17-20
$usr=$_SESSION['username'];
$r=mysqli_query($con,"SELECT Permission from login WHERE username='$usr'");
$ro=mysqli_fetch_assoc($r);
$uper=$ro['Permission'];
```
Because the deletion query runs first, a user with only VIEW permission (e.g., the default admin1/admin account) can delete any student record simply by crafting a GET request with ?submit=submit&del=<id>. The subsequent permission check is only used for displaying a warning message; it does not prevent the destructive action. |
|---|
| 来源 | ⚠️ https://github.com/imvks786/student_management_system/issues/4 |
|---|
| 用户 | kimoji (UID 98406) |
|---|
| 提交 | 2026-05-25 06時22分 (4 月前) |
|---|
| 管理 | 2026-06-07 21時53分 (14 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 369150 [imvks786 student_management_system 直到 9599b560ad3c3b83e75d328b76bedcd489ef1f46 Student Deletion Endpoint /see.php del 权限提升] |
|---|
| 积分 | 20 |
|---|