Can anyone explain me the example of an exploit in Python’s pickle module? -


i want understand the example of exploit in python pickle module? got code github show exploit in pickle module, still not able understand it. please guide me.

import os import pickle   class exploit(object):     def __reduce__(self):         return (os.system, ('cat /etc/passwd',))   def serialize_exploit():     shellcode = pickle.dumps(exploit())     return shellcode   def insecure_deserialize(exploit_code):     pickle.loads(exploit_code)   if __name__ == '__main__':     shellcode = serialize_exploit()     insecure_deserialize(shellcode) 

when unpickle object, __reduce__ method called. first argument __reduce__ callable, is, function. next argument tuple of arguments __reduce__. in case, when exploit unpickled, os.system called, , given 'cat /etc/passwd' argument.

os.system allows make system calls according host operating system. in case, it's linux.

cat prints file's contents standard out, , /etc/passwd information on system's users stored. more malicious code might try , send information on internet, or might try , mess file system, etc.

basically, unpickling object don't know about, you're vulnerable whatever __reduce__ method does.

https://docs.python.org/2/library/pickle.html

http://man7.org/linux/man-pages/man1/cat.1.html


Comments

Popular posts from this blog

testing - Detect whether test has failed within fixture -

AbotX : How do you create a parallel crawler that stays on and can be added to at run time from new requests -

android - Create single AAR file from multiple modules using Gradle -