#python #secure_coding #coding #code
اگر با کتابخونه subprocess در پایتون کار کرده باشید حتما قطعه کد مقابل رو دیدید:
از لحاظ امنیتی این کد مشکل داره؟
جواب: بله!
اما چرا؟ وقتی شما مقدار shell رو برابر با True قرار بدید subprocess شِل رو در اختیار میگیره و به Shell میگه دستور رو اجرا کن (subshell). در واقع یعنی تمامی متغیر های محیطی (Variables) و تمامی ویژگیهای شل، قبل از اجرای دستور echo $HOME، پردازش میشوند.
یه مثال برای اینکه خودتون به چشم ببینید خروجی رو میتونید اجرا کنید:
اگر با کتابخونه subprocess در پایتون کار کرده باشید حتما قطعه کد مقابل رو دیدید:
import subprocess
print(subprocess.call('echo $HOME', shell=True))
از لحاظ امنیتی این کد مشکل داره؟
جواب: بله!
اما چرا؟ وقتی شما مقدار shell رو برابر با True قرار بدید subprocess شِل رو در اختیار میگیره و به Shell میگه دستور رو اجرا کن (subshell). در واقع یعنی تمامی متغیر های محیطی (Variables) و تمامی ویژگیهای شل، قبل از اجرای دستور echo $HOME، پردازش میشوند.
یه مثال برای اینکه خودتون به چشم ببینید خروجی رو میتونید اجرا کنید:
>>> import subprocess@securation
>>> subprocess.call('echo $HOME')
Traceback (most recent call last):
...
OSError: [Errno 2] No such file or directory
>>>
>>> subprocess.call('echo $HOME', shell=True)
/user/invoxes
⭕️ Ransomware and Vulnerability Management - Download FREE preview and check the articles!
https://hakin9.org/download/ransomware-and-vulnerability-management-preview/
#infosec #cybersecurity #redteam #pentest #pentesting #hacking #hackers #coding
@securation
https://hakin9.org/download/ransomware-and-vulnerability-management-preview/
#infosec #cybersecurity #redteam #pentest #pentesting #hacking #hackers #coding
@securation
Hakin9 - IT Security Magazine
Ransomware and Vulnerability Management preview - Hakin9 - IT Security Magazine
We decided to dedicate our June edition to a very current and recurring topic - Ransomware and Vulnerability Management. During the COVID pandemic, the ransomware industry was more powerful than ever. That’s why it’s so crucial to understand how ransomware…
👍1