TL; DR नहीं, आप 100% सुरक्षित नहीं हैं। या दूसरे शब्दों के साथ, दो बार सोचें। ;)
मूल बातें समझे बिना कोड स्निपेट निष्पादित न करें। man
कमांड या प्रोग्राम के बारे में अधिक जानने के लिए उपयोग करें । यदि आपको समझ में नहीं आता है तो Google या किसी अन्य खोज पोर्टल का उपयोग करें। और अगर आपको अभी भी संदेह है, तो कोड को निष्पादित न करें।
क्या आप मुझ पर भरोसा करते हैं? तो भागो:
man man
ठीक है, खतरनाक नहीं, आप का मैन-पेज देखते हैं man
लेकिन नीचे दिए गए कोड के बारे में क्या, आपको मुझ पर भरोसा है?
$(perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg==")
नहीं? अच्छा विचार। आइए कोड को तोड़ें:
perl
पर्ल भाषा दुभाषिया
-MMIME::Base64
Base64 स्ट्रिंग्स का एन्कोडिंग और डिकोडिंग
-0777ne
-0777
- लाइन विभाजक को अपरिभाषित करने के लिए परिवर्तन करता है, जिससे हमें फ़ाइल को स्लुर करने की सुविधा मिलती है, जिससे पर्ल को एक बार में सभी लाइनों को खिलाया जा सकता है।
-e
- (निष्पादित करें) ध्वज वह है जो हमें पर्ल कोड निर्दिष्ट करने की अनुमति देता है जिसे हम कमांड लाइन पर दाईं ओर चलाना चाहते हैं।
-n
- लाइन द्वारा पर्ल लाइन को इनपुट फ़ीड।
'print decode_base64($_)'
- एक स्ट्रिंग को डिकोड करता है, स्ट्रिंग में सहेजा जाता है $_
।
"ZWNobyAnQk9PSCEnCg=="
- और इस? यह क्या है?
चलो एक परीक्षण शुरू करते हैं।
हम जानते हैं, यह base64 जैसा कुछ है और यह एन्कोडेड दिखता है। इसलिए स्ट्रिंग को डीकोड करें:
base64 --decode <<< "ZWNobyAnQk9PSCEnCg=="
और आउटपुट है ... ठीक है, वास्तव में खतरनाक नहीं है:
echo 'BOOH!'
अब, हम पर्ल के साथ भी ऐसा ही कर सकते हैं
perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg=="
और आउटपुट है, क्या आश्चर्य है:
echo 'BOOH!'
लेकिन क्या यह खतरनाक था? यह खतरनाक है:
$(…)
यह निर्माण राउंड ब्रैकेट में कमांड के आउटपुट को निष्पादित करता है।
चलो इसे आजमाएँ, क्या आपको मुझ पर भरोसा है?
$(perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg==")
'BOOH!'
और किस बारे में है?
c3VkbyBraWxsYWxsIG5hdXRpbHVzCg==
इसे आज़माएं ... क्या आपको मुझ पर भरोसा है?