Како да пребарувате за злонамерен код без антивируси и скенери. Како да пребарувате за злонамерен код без антивируси и скенери Како да пребарувате за злонамерен код на WordPress
1. Отпакувајте го во папката на страницата.
2. следете ја врската your_site/fscure/
3. сè
1. Автоматско пребарување на вируси со потписи.
2. Пребарајте низа во датотеките
3. Бришење датотеки
4. Закрпи злонамерен код користејќи регуларни изрази
Сценариото нема да ја заврши целата работа за вас и бара одредено минимално знаење. Се препорачува да се направи резервна копија на страницата пред работа.
Како работи?Кога за прв пат се лансира, тој создава индекс на датотеки. Датотеката fscure.lst е во папката. Прикажува листа на датотеки што содржат потенцијално злонамерни потписи. „Потенцијално злонамерно“ значи дека ќе треба да одлучите дали е вирус или не. Списокот на потписи е конфигуриран во датотеката config.php, константна SCAN_SIGN. Со стандардните поставки, скриптата не ги проверува датотеките js и не содржи потписи за нив.
1. не го креира индексот fscure.lst. Може да се случи ако нема доволно права. Ставете 777 на папката fscure
2. Грешка 5xx. Најчесто „504 Gateway Time-out“. Сценариото нема време за обработка и паѓа поради тајмаут. Во овој случај, постојат неколку начини да се забрза неговата работа. Брзината првенствено зависи од големината на индексот. Тоа е во датотеката fscure.lst. Вообичаено, датотека до 5 MB може да се обработи во 90% од случаите. Ако нема време, можете да ја намалите „алчноста“ на скриптата со забрана на скенирање *.jpg;*.png;*.css во конфигурацијата.
Во датотеката config.php.
// разграничувач; define("FILES_EXCLUDE","*.js;*.jpg;*.png;*.css");
3. Хостинг издава предупредување како
(HEX)base64.inject.unclassed.6: u56565656: /var/www/u65656565/data/www/34535335353.ru/fscure/index.php
Нема вирус во сценариото и никогаш немало. И (HEX)base64.inject.unclassed.6 е конструкција како "echo base64_decode(" , која често се среќава и сама по себе е прилично безопасна. Меѓутоа, во најновата верзија го заменив овој код.
Што да направите ако не сте во можност сами да го пронајдете вирусот?Можете да ме контактирате за помош. Моите стапки се скромни. Работата си ја гарантирам 6 месеци. Цената на работата е 800 рубли. за 1 локација. Ако има неколку страници на вашата сметка, цената се одредува поединечно.
Ако успеете да направите сè сами, би ви бил благодарен за финансиска награда или за врска до мојот сајт.
Мои услови:
yandex
41001151597934
веб пари
Z959263622242
R356304765617
E172301357329
Мора да се направи заедно. Ако ја елиминирате првичната причина за хакирањето (на пример, ранливост во наставката CMS), но не ги отстранувајте сите малициозни датотеки, напаѓачот ќе може повторно да добие пристап до страницата користејќи една од неговите скрипти. Ако ги избришете сите преземени злонамерни скрипти, но не ја елиминирајте причината за хакирањето, напаѓачот ќе може повторно да ја хакира страницата и повторно да прикачува скрипти на неа.
Специјалист со соодветно знаење и искуство треба да изврши работа за отстранување на малициозни скрипти и анализирање на причините за хакирање:
- За да отстраните малициозни скрипти, потребно е познавање на програмскиот јазик PHP, како и познавање на „внатре“ на популарниот CMS (Joomla, WordPress, итн.) и екстензии за нив. Ова знаење е потребно за да се разликуваат скриптите директно од CMS и неговите екстензии од необични датотеки, а исто така да може недвосмислено да се одредат какви дејства ги извршуваат кога ќе се сретнат со сомнителни скрипти.
- За да се анализираат причините за хакирање, потребно е искуство со администрацијата на серверот. Ова е неопходно за да се анализира состојбата на датотеките на сметката, времето на нивното менување, а исто така и да се споредат овие податоци со дневниците на серверот за да се утврди кои дејства на напаѓачот довеле до хакирање на страниците.
Затоа, ако вашата страница е хакирана, се препорачува, за да се избегнат повторени хакирања, да не ја вршите работата сами, туку да контактирате со специјалист кој ќе ја спроведе потребната дијагностика и ќе препорача или изврши потребни дејствијада го реши проблемот, и кој може да гарантира за квалитетот на добиениот резултат.
Сепак, постојат голем број мерки кои во некои случаи помагаат да се врати безбедното функционирање на локацијата без посебно знаење. Ограничувањето на методот подолу е тоа што за да се продолжи со работата на страницата, потребна е резервна копија од неа создадена пред хакирањето. Ако датумот на прекршувањето е непознат, можете да го испробате овој метод користејќи ја најстарата достапна резервна копија. Второто ограничување, како последица на првото, е тоа што по обновувањето на страницата, податоците се додаваат на страницата по креирањето на резервната копија за враќање (на пример, нови написи, слики или документи). Ако треба да ја вратите страницата додека задржувате нови податоци, треба да контактирате со специјалист.
Овие мерки не ни дозволуваат да ја утврдиме причината за хакирањето на страницата, но секоја од нив е насочена кон елиминирање на една од потенцијалните причини за пенетрација. Бидејќи точната причина за хакирањето е непозната, неопходно е да се изведат сите. Дејствијата се распоредени по таков редослед што прво целосно да се елиминира можноста напаѓачот да ги продолжи своите активности на страницата или сметката за хостирање во моментално, а потоа спречете напаѓач да влезе на страницата во иднина.
Чекорите подолу претпоставуваат дека имате само една веб-локација на вашата хостинг сметка. Ако има неколку сајтови на сметката, тогаш и тие би можеле да бидат хакирани, а страницата би можела да биде хакирана преку нив. Потребно е или да се префрли локацијата со која се изведуваат реставраторски работи на посебна сметка или да се изврши реставрација за сите локации хостирани на сметката во исто време.
Редоследот на дејствата е важен, па затоа е неопходно да се извршат по точниот редослед по кој се наоѓаат подолу.
Сите горенаведени дејства мора да се извршат во согласност со наведениот редослед, без пропусти или какви било промени. Ако дејствата се извршени неточно, на страницата може да останат малициозни скрипти или пропусти, како резултат на што напаѓачот може повторно да биде хакиран по кратко време. Ако поради некоја причина не е можно да се извршат горенаведените чекори во формата во која се наведени, контактирајте со специјалист за да извршите работа за обновување на локацијата по хакирање.
За да ја заштитите вашата страница од повторени хакери во иднина, мора да се придржувате до следниве препораки:Злонамерниот код навлегува на страницата преку невнимание или злонамерна намера. Целите на малициозниот код варираат, но во суштина тоа му штети или го попречува нормалното функционирање на веб-локацијата. За да отстраните злонамерен код на WordPress, прво мора да го пронајдете.
Што е злонамерен код на страницата на WordPress?Од страна на изглед, најчесто, злонамерниот код е збир на букви и симболи од латинската азбука. Всушност, ова е шифриран код со кој се врши ова или она дејство. Дејствата може да бидат многу различни, на пример, вашите нови објави веднаш се објавуваат на ресурс од трета страна. Ова во суштина ја краде вашата содржина. Кодовите имаат и други „задачи“, на пример, поставување на појдовни врски на страниците на страницата. Задачите можат да бидат најсофистицирани, но едно е јасно: малициозните кодови треба да се ловат и отстранат.
Како малициозните кодови влегуваат на веб-локација?Исто така, постојат многу дупки за кодовите да влезат во страницата.
Дозволете ми веднаш да забележам дека борбата против ваквите вируси е тешка, а рачното отстранување бара знаење. Постојат три решенија за проблемот: првото решение е да користите антивирусни додатоци, на пример, додаток наречен BulletProof Security.
Ова решение дава добри резултати, но бара време, иако малку. Постои порадикално решение за да се ослободите од злонамерните кодови, вклучително и сложените вируси, ова е да ја вратите страницата од претходно направени резервни копиисајт.
Бидејќи добар веб-администратор го прави тоа периодично, можете да се вратите на неинфицирана верзија без никакви проблеми. Третото решение е за богатите и мрзливите, само контактирајте со специјализирана „канцеларија“ или индивидуален специјалист.
Како да барате злонамерен код на WordPressВажно е да се разбере дека малициозниот код на WordPress може да биде во која било датотека на страницата, а не нужно во работната тема. Тој може да смисли приклучок, тема или „домашен“ код земен од Интернет. Постојат неколку начини да се обидете да пронајдете злонамерен код.
Метод 1: Рачно. Скролувате низ сите датотеки на страницата и ги споредувате со датотеките на неинфицирана резервна копија. Ако најдете туѓ код, избришете го.
Метод 2: Користење на додатоци за безбедност на WordPress. На пример,. Овој приклучок има одлична карактеристика, скенирање на датотеки на сајтови за присуство на туѓ код и приклучокот совршено се справува со оваа задача.
Метод 3. Ако имате разумна поддршка за хостирање и ви се чини дека има некој друг на страницата, замолете го да ја скенира вашата страница со нивниот антивирус. Нивниот извештај ќе ги наведе сите заразени датотеки. Следно, отворете ги овие датотеки уредувач на тексти отстранете го злонамерниот код.
Метод 4. Ако можете да работите со SSH пристап до директориумот на страницата, тогаш продолжи, тој има своја кујна.
Важно! Без разлика како пребарувате злонамерен код, пред да го пребарувате и потоа да го избришете кодот, затворете го пристапот до датотеките на страницата (вклучете го режимот за одржување). Запомнете за кодовите што самите се обновуваат кога ќе се избришат.
Пребарајте малициозни кодови користејќи ја функцијата evalПостои таква функција во PHP наречена eval. Тоа ви овозможува да извршите кој било код на неговата линија. Покрај тоа, кодот може да се шифрира. Поради кодирањето, злонамерниот код изгледа како збир на букви и симболи. Две популарни шифрирања се:
Соодветно на тоа, во овие шифрирања функцијата евалуација изгледа вака:
- eval(base64_decode(...))
- eval (str_rot13 (...)) //во внатрешни наводници, долги, нејасни групи на букви и симболи..
Алгоритмот за пребарување на малициозен код со помош на функцијата eval е како што следува (работиме од административниот панел):
- одете во уредникот на страницата (Изглед → Уредник).
- копирајте ја датотеката functions.php.
- отворете го во текстуален уредувач (на пример, Notepad++) и побарајте го зборот: eval.
- Ако го најдете, не брзајте да избришете ништо. Треба да разберете што „бара“ да се изврши оваа функција. За да се разбере ова, кодот треба да се дешифрира. За декодирање постојат онлајн алатки наречени декодери.
Декодерите работат едноставно. Го копирате кодот што сакате да го дешифрирате, ставете го во полето за декодер и декодирате.
Во времето на пишувањето, не најдов ниту еден шифриран код пронајден во WordPress. Го најдов кодот од веб-страницата на Joomla. Во принцип, нема разлика во разбирањето на декодирањето. Ајде да ја погледнеме фотографијата.
Како што можете да видите на фотографијата, функцијата eval по декодирањето не прикажала страшен код кој ја загрозува безбедноста на страницата, туку шифрирана врска за авторски права од авторот на шаблонот. Може да се отстрани, но ќе се врати по ажурирањето на шаблонот ако не го користите .
Како заклучок, би сакал да забележам, за да не се добие вирус на страницата:
- Злонамерниот код на WordPress често доаѓа со теми и приклучоци. Затоа, не инсталирајте шаблони и приклучоци од „лево“, непроверени ресурси, а ако го правите, проверете ги внимателно за присуство на врски и извршни функции на PHP. Откако ќе инсталирате приклучоци и теми од „нелегални“ ресурси, проверете ја страницата со антивирусен софтвер.
- Бидете сигурни дека правите периодични резервни копии и изведувајте други.
Моето мислење, а тоа е дека е полесно и поефективно да се заштитат од инјектирани малициозни скрипти на прелистувачот (зачувани XSS напади) со помош на алатки на прелистувачот, беше наведено претходно: . Заштитата на прелистувачот од JavaScript, која се состои од додавање код за филтрирање на html-страниците на веб-локацијата, е веројатно сигурна; сепак, присуството на таква заштита не ја елиминира потребата да се користи и филтер за сервер. За истите XSS напади, можете да организирате дополнителна линија на одбрана на серверот. Мораме да запомниме и за можноста напаѓачот да воведе не засновани на прелистувач, туку скрипти од страна на серверот (php) во HTML порака испратена од страница, која прелистувачот нема да може да ја препознае.
Напаѓачката скрипта, без разлика дали е базирана на прелистувач или базирана на сервер, е програма; мора да се мисли дека програмата секогаш ќе има некои симболични разлики од „чистиот“ html. Ајде да се обидеме да најдеме такви разлики и да ги искористиме за да изградиме HTML филтер на серверот. Подолу се дадени примери на злонамерен JavaScript.
XSS:Некој текст
Некој текст
Шифриран XSS:Некој текст
Прелистувачите го обновуваат текстот од примитивите на знаци не само што се наоѓаат во контејнерите на HTML (помеѓу ознаките за отворање и затворање), туку и внатре во самите ознаки (помеѓу< и >). Кодирањето на URL-то е дозволено во http адресите. Ова го отежнува препознавањето на малициозниот код на страната на серверот, бидејќи истата низа на знаци може да биде претставена на различни начини.
XSS црви:"+innerHTML.slice(action= (method="post")+".php",155)))">
alert("xss");with(new XMLHttpRequest)open("POST","post.php"),send ("content="+_.outerHTML)
Горенаведените XSS црви се само неколку од многуте поднесени на натпреварот на Роберт Хансен (познато како RSnake) во јануари 2008 година за најкраток злонамерен JavaScript црв (резултати од натпреварот).
Знаци на XSS нападиXSS скрипта е програма која пристапува до објектите на DOM (Document Object Model) и нивните методи. Во спротивно, веројатно нема да биде на било кој начин штетно. На пример, низа JavaScript
onckick="var a = "xss""
не влијае на моделот на објектот на документот, па дури и ако е вграден во HTML ознака, таквата низа е безопасна. Само со манипулирање со објектите на HTML документот и нивните методи, хакерот може да предизвика значителна штета на страницата. На пример, линијата
onmousemove="document.getElementsByTagName("body").innerHTML="XSS""
веќе ја заменува содржината на страницата.
Знак за пристап до DOM методите се заградите, како и точките лево од знакот за еднаквост. Заградите може да се користат и во html за да се постави боја во формат rgb(), меѓутоа, боите на фонтот и позадината во html се поставени на уште најмалку три начини. Затоа, заградите може да се жртвуваат без да се загрози експресивноста на html текстот. Неопходно е да се прифати како правило дека заградите се во ознаката (т.е. помеѓу< и >) - ова е многу опасно, ако добиеме порака од корисник на серверот, оваа порака содржи загради внатре во ознаките, тогаш најсоодветното нешто што треба да направиме е да ја блокираме таквата порака.
Точката може да биде содржана во HTML ознаки: кога се одредува адресата на врската (ознака ); при поставување на големината на html елементите (style="height:1.5in; width:2.5in;" ). Но карактерни секвенци на формата
буквата точка е еднаква
не може да биде во HTML ознаки. Ако наведената секвенца е присутна во HTML ознака, пораката од корисникот најверојатно содржи скрипта и треба да биде блокирана.
Друг очигледен знак за опасност е симболот „+“ во ознаката. Не постои такво нешто во HTML без скрипт. Ако најдеме плус во ознаките, безмилосно ја блокираме пораката.
За шифрирање со примитиви на знаци во HTML ознаки, добронамерен корисник на страницата додава коментар користејќи визуелен уредник, никогаш нема да дојде до трчање. Употребата на симболични примитиви во ознаките не дава никакви придобивки во форма на дополнителни изразни средства; бара само дополнително време за пишување. Во повеќето случаи, некој би помислил дека добронамерниот корисник не ни знае дека има одредени примитиви на знаци во HTML. Оттука и правилото: знакот во ознаката е доказ за напад на локацијата. Според тоа, ако го видиме ова, ја блокираме пораката.
Слично правило треба да се усвои во однос на симболот „%“, кој може да се користи во кодирањето на URL-то. Сепак, процентите се користат и во „чистиот“ HTML за да се постават релативните големини на елементите. Опасни комбинации се оние во кои знакот „%“ е веднаш проследен со буква или број.
Неутрализирање на скриптите на серверотЗа разлика од JavaScript толкувачите во прелистувачите, PHP преведувачот на серверот не дозволува слобода при пишување текст на програмата. Затоа, за да се неутрализира можна скрипта за сервер, доволно е целосно да се заменат во HTML пораката на корисникот сите знаци кои се неопходни при пишување PHP програма со нивните HTML примитиви. Првите знаци што треба да се заменат се долар и долна црти, точка, круг, квадрат и виткани протези, знаци плус и минус, знак за назад црта.
PHP филтер за HTML пораки$message е html пораката добиена од визуелниот уредник до серверот.
// запомнете ја должината на пораката $lenmessage = strlen($порака); // отсечете ја ознаката за коментар $message = preg_replace("//", "", $message); // отсечете ја секоја ознака во која атрибутот „src“ се однесува на надворешен ресурс $message = preg_replace("/]+?src[\w\W]+\/\/[^>]+?>/i" , " ", $message); // отсечете ја секоја ознака што содржи кој било знак освен: - a-z 0-9 / . : ; " = % # простор $message = preg_replace("/]+[^->a-z0-9\/\.\:\;\"\=\%\#\s]+[^>]+?> /i", "", $порака); // отсечете ја секоја ознака што ја содржи низата ". a-z =" $message = preg_replace("/]+?\.+?\=[^>]+?>/i", "", $message); // отсечете ја секоја ознака што ја содржи низата "% a-z" или "% 0-9" $message = preg_replace("/]+?\%+?[^>]+?>/i", "", $ порака); // отсечете ја секоја ознака што ја содржи секвенцата "скрипта" или "js:" $message = preg_replace("/]*?script[^>]*?>/i", "", $message); $message = preg_replace("/]*?js:[^>]*?>/i", "", $порака); // отсечете ја секоја ознака што започнува со знак различен од "a-z" или "/" $message = preg_replace("/]*?>/i", "", $message); // проверете: ако пораката е скратена, тогаш прекинете ја програмата $lenmessage2 = strlen($порака); if ($lenmessage != $lenmessage2) ( печати "Пораката не може да се додаде"; излез; ) // изврши замена од крај до крај на опасните знаци со нивните соодветни примитиви $message = str_replace("$", "$" , $порака); $порака = str_replace ("_", "_", $порака); $порака = str_replace(".", ".", $порака); $порака = str_replace(chr(92), "\", $порака); // \ $порака = str_replace("(", "(", $порака); $порака = str_replace()", ")", $порака); $message = str_replace("[", "[", $порака); $порака = str_replace("]", "]", $порака); $порака = str_replace ("(", "(", $порака); $порака = str_replace()", ")", $порака); $message = str_replace("?", "?", $порака); // сега пораката е потврдена, скриптите во неа се неутрализирани
Треба да се забележи дека филтерот не ги отстранува спарените ознаки. Да речеме дека добивме
Кликни тука!
Филтерот само ќе ја отсече ознаката , но спарената (затворање) ознака ќе остане. Ако испраќате пораки што содржат ознаки без соодветни парови до прелистувачот, може да имате проблеми во форма на „искривување“ на страницата. Не е познато на која ознака за отворање прелистувачот ќе одговара на преостанатата неспарена ознака за затворање. Затоа, а исто така и од безбедносни причини, пораките во кои нешто е отсечено од филтерот воопшто не треба да се испраќаат до прелистувачот. Подобро е да испечатите нешто како „Пораката не може да се додаде“ и да излезете од програмата.
Пораката се очекува да биде запишана во датотека (не во база на податоци).
ДискусијаЌе бидам благодарен за критиките. Пишете на форумот за поддршка, во делот