Compare commits
1 Commits
b118e163b2
...
sheet05-su
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
58553b688a |
4
sheet05/a3/a.txt
Normal file
4
sheet05/a3/a.txt
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
Passwords are stored in the /etc/shadow file, which is restricted to the root user.
|
||||||
|
A standard user cannot write to it directly. However, the passwd executable is owned by root and has the SUID permission set.
|
||||||
|
When a standard user runs passwd, the SUID bit tells the system to execute the program with the privileges of root,
|
||||||
|
giving the program the temporary permissions to update /etc/shadow
|
||||||
5
sheet05/a3/b.txt
Normal file
5
sheet05/a3/b.txt
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
The script runs with root privileges because the setuid bit is set.
|
||||||
|
Since it just asks for a username and saves the new hash to /etc/shadow,
|
||||||
|
and there is no validation checking if the user running the program is actually changing their own password,
|
||||||
|
someone could simply run the program, type root as the username, and set a new password for the root user.
|
||||||
|
The script would then overwrite the actual root password in /etc/shadow.
|
||||||
Reference in New Issue
Block a user