File : server.py
This is a challenge related to digital signature.
we can :
- sign some command
cat is black-listed command that forbid us to sign. However the way it check the black list is
Base64Decode(input) == 'cat', and it is easy to bypass.
- First use
lscommand and we can see that flag is stored in
Then we can simply convert
cat flag into integer and factor it into
Since RSA is malleable,
sign(a * b) == (sign(a) * sign(b)) % n, we can then get flag.