berdav / CVE-2021-4034

CVE-2021-4034 1day
MIT License
1.94k stars 508 forks source link

how to use username instead of uid ? #30

Open s4miii opened 1 year ago

s4miii commented 1 year ago

Hello, thank you for the great idea and the beautiful code you wrote. I wonder if there is a way we can switch to another user instead of root?I mean, is there any way to change this line setuid(0); to something like setuser(root); ? or better to ask, how to give the user's name instead of the user's uid?

I know my question may seem ridiculous, but I would be grateful if you could help me.

Thank you

flashnuke commented 1 year ago

you can use a workaround to generate the userid using the username + the pwd module (which belongs to the standard library) and then pass it to setuid()

import pwd

user_id=pwd.getpwnam("username_here").pw_uid

# i.e: pwd.getpwnam("root").pw_uid = 0