यह पायथन दस्तावेज़ में बताता है कि pickle
सुरक्षित नहीं है और अविश्वसनीय उपयोगकर्ता इनपुट का विश्लेषण नहीं करना चाहिए। यदि आप इसका शोध करते हैं; लगभग सभी उदाहरण os.system
के माध्यम से कॉल के साथ इसका प्रदर्शन करते हैं।पायथन पिक असुरक्षा को समझना
मुझे स्पष्ट नहीं है, os.system
को os
मॉड्यूल आयात किए बिना सही तरीके से व्याख्या किया गया है।
>>> import pickle
>>> pickle.loads("cos\nsystem\n(S'ls /'\ntR.") # This clearly works.
bin boot cgroup dev etc home lib lib64 lost+found media mnt opt proc root run sbin selinux srv sys tmp usr var
0
>>> dir() # no os module
['__builtins__', '__doc__', '__name__', '__package__', 'pickle']
>>> os.system('ls /')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'os' is not defined
>>>
कोई व्याख्या कर सकते हैं?
+1 मॉड्यूल कोड – tMC