Há algum tempo, um dos sites da empresa era constantemente postado por hackers com links amigáveis de sua rede de hackers. Não foi muito chato substituí-lo e adicioná-lo, porque a classificação do site caiu muito (porque acho que foi quando eu comecei). descobri). Já se passaram muitos dias). Mais tarde, tomei algumas medidas e agora finalmente parou. Falarei sobre meus passos detalhados a seguir.
Primeiro, determine se é uma intrusão em segundo plano, uma intrusão de FTP ou uma intrusão de banco de dados. Se você não tiver conhecimento para interpretá-la, não julgue e tome todas as contramedidas diretamente.
1. Faça login no painel de controle do espaço, selecione Funções Avançadas, localize a coluna "Como enviar informações de erro ASP ao cliente", clique em "Enviar mensagem de erro de texto predeterminada ao cliente", o padrão é "Enviar mensagem de erro detalhada para o cliente", Isso é muito importante, pois fornece um canal conveniente para invasão do banco de dados.
2. A senha para modificação do espaço e login em segundo plano deve ser longa e complexa, incluindo uma mistura de sublinhados e letras e números.
3. Modifique o nome do banco de dados, altere o sufixo mdb para asp e altere correspondentemente o caminho do banco de dados em conexão.
4. O último passo, e o mais importante, é inserir o seguinte código em conn, que deve ser inserido acima do banco de dados de leitura, que é o início da página.
A seguir está o código citado:
<%
'-------Parte de definição------------------
Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr
'Personalize as strings que precisam ser filtradas, separadas por "maple"
Fy_In = "e maple exec maple insert maple select maple delete maple update maple count maple * maple chr maple mid maple master maple truncate maple char maple declare"
Fy_Inf = split(Fy_In,"Maple")
Se Request.Form<>"" Então
Para cada Fy_Post em Request.Form
Para Fy_Xh = 0 para Ubound (Fy_Inf)
Se Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Então
Response.Write "<Script Language=javaScript>alert('Prompt↓nnPor favor, não inclua caracteres ilegais nos parâmetros ao tentar injetar, QQ: seu número QQ!nNome da sua empresa');</Script >"
Response.Write "Operação ilegal! O sistema fez os seguintes registros↓<br>"
Response.Write "IP de operação:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
Resposta.Escreva "Tempo de operação:"&Agora&"<br>"
Response.Write "Página de operação:"&Request.ServerVariables("URL")&"<br>"
Response.Write "Método de envio: POST<br>"
Response.Write "Enviar parâmetros:"&Fy_Post&"<br>"
Response.Write "Enviar dados:"&Request.Form(Fy_Post)
Resposta.Fim
Terminar se
Próximo
Próximo
Terminar se
Se Request.QueryString<>"" Então
Para cada Fy_Get em Request.QueryString
Para Fy_Xh = 0 para Ubound (Fy_Inf)
Se Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Então
Response.Write "<Script Language=Javascript>alert('Prompt do sistemanPor favor, não inclua caracteres ilegais nos parâmetros e tente injetar!nQQ:1351298933');</Script>"
Response.Write "<div style='height:auto; overflow:hidden; color:#C00; width:300px; margin:20px auto; font-size:12px; line-height:22px; font-weight:400'> "
Response.Write "Operação ilegal! O sistema fez o seguinte registro para você↓<br>"
Response.Write "IP de operação:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
Resposta.Escreva "Tempo de operação:"&Agora&"<br>"
Response.Write "Página de operação:"&Request.ServerVariables("URL")&"<br>"
Response.Write "Método de envio: GET<br>"
Response.Write "Enviar parâmetros:"&Fy_Get&"<br>"
Response.Write "Enviar dados:"&Request.QueryString (Fy_Get)
Resposta.Escreva "<div>"
Resposta.Fim
Terminar se
Próximo
Próximo
Terminar se
%>
Depois de concluir as quatro etapas acima, não é possível impedir 100% a invasão de hackers, mas pelo menos pode bloquear a maioria dos hackers que usam apenas ferramentas. Este artigo é original. . Obrigado a Chinaz.
Obrigado Mingrui pela sua contribuição