Se você acredita ou não, por meio do ASP, poderá facilmente invadir o servidor da web, roubar arquivos no servidor, capturar senhas de usuário de bancos de dados da Web e outros sistemas ou até mesmo excluir maliciosamente arquivos no servidor até que o sistema seja danificado .
No artigo anterior, concentrei -me em como exibir o acesso ao banco de dados ADO. um valor para PageSize. Quero agradecer a esse amigo por apontar com entusiasmo as deficiências no programa para mim. Página e, naquele momento, não posso ter certeza se o PageCount pode obter corretamente o número de páginas, então fiquei com preguiça de escrever esta fórmula :), para ser sincero, ainda não tentei usar os amigos interessados Experimente, não aprenda com o meu, sou preguiçoso.
Recentemente, quando discuti o problema no BBS na Chinaasp, descobri que muitos amigos não sabem muito sobre alguns problemas de segurança do ASP, e nem sei como resolver o código fonte mais comum do ASP :: $ Data Exibir. , então acho que é muito necessário aqui, vou me concentrar nessa questão para todos os amigos. Os problemas de segurança do ASP que são cruciais para o webmaster.
No dia seguinte à vulnerabilidade: , Eu até tive o mesmo problema que o código -fonte estava visível. Você pode pensar que ver o código -fonte não é grande coisa, mas se você, como webmaster, pense assim, está muito errado. Por exemplo, se um programador ASP gravar a senha de login do site diretamente no ASP, depois que o código -fonte for descoberto, outros poderão inserir facilmente a página que não deveria ter sido vista. Membros gratuitos do site (não me exponha!), E muitos nomes de usuário e senhas de conexão de banco de dados são gravados diretamente no ASP. Em alguns programas BBS desenvolvidos com a ASP, a biblioteca AccessMDB é frequentemente usada. é muito perigoso se a pessoa que obtém a senha cometer intencionalmente danos maliciosos, ele só precisa fazer login como administrador para excluir todas as postagens no BBS, o que é suficiente para você sufocar. As seguintes listas de vulnerabilidades foram descobertas até agora. Após o nome do arquivo ASP na barra de endereço do navegador. O IIS3 tem o mesmo problema.
2. Uma vulnerabilidade bem conhecida de IIS2, IIS3 e IIS4 é :: $ DATA. Win98+PWS4 não tem essa vulnerabilidade.
O que exatamente causa essa brecha terrível? A causa raiz é que o sistema de arquivos exclusivo do Windowsnt está fazendo um monstro. Qualquer pessoa com algum senso comum sabe que o NT fornece um sistema de arquivos que é completamente diferente da FAT: NTFS, uma tecnologia chamada novo sistema de arquivos de tecnologia, que faz com que o NT tenha um mecanismo de segurança mais alto, mas também é porque causou muitas dores de cabeça. Você pode não saber que o NTFS suporta vários fluxos de dados contidos em um arquivo, e esse fluxo de dados principal que contém todo o conteúdo é chamado de dados, por isso permite que o navegador acesse diretamente o sistema NTFS e o captura facilmente. No entanto, o motivo direto para :: $ dados é que o IIS tem um problema ao analisar nomes de arquivos, o que não padroniza muito bem os nomes dos arquivos.
Como podemos resolver esse problema? Existem várias maneiras:
a.
b.
Este patch é para iis3, plataforma Intel
ftp.microsoft.com/bussys/iis/iis
-Public/FIXES/CHT/Security/IIS3-Datafix/iis3fixi.exe
Este patch é para iis3, plataforma Intel
ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis3-datafix/iis3fixa.exe
Este patch é para iis4, plataforma alfa
ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis4-datafix/iis4fixi.exe
Este patch é para iis4, plataforma alfa
ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis4-datafix/iis4fixa.exe
c.
d. Versão chinesa. Se qualquer amigo sabe me diga o motivo.
3. Problemas enfrentados servidores que suportam o espaço gratuito da página inicial da ASP e os serviços de hospedagem virtual
1. O código ASP no servidor provavelmente será obtido ilegalmente por outras pessoas com permissões ASP.
Para dar um exemplo muito simples, na rotina ASP1.0 fornecida pela Microsoft, existe um arquivo .asp usado especificamente para visualizar o código -fonte de outros arquivos .asp. Se alguém enviar esse programa para o servidor sem precauções no servidor, ele poderá visualizar facilmente os programas de outras pessoas.
Por exemplo:
code.asp? Fonte =/diretório/file.asp
2. O banco de dados de Access MDB usado pode ser baixado. MDB está longe.
< %connstr = dbq =+server.mapath (database/fonte.mdb)+; defaultDir =; driver = {Microsoft Access Driver (*.mdb)}; driverId = 25; fil = ms access; implícito) 512; maxscanRows = 8; pageTimeout = 5;
Como mencionado anteriormente, neste caso, é provável que a biblioteca MDB seja baixada por outras pessoas, resultando em vazamento de senhas etc.
Portanto, como webmaster, devemos tomar determinadas medidas para proibir estritamente programas como o Code.asp (parece difícil de fazer, mas os códigos de recursos podem ser recuperados regularmente) e restringir o download do MDB.
3. Ameaças de componentes poderosos do FileSystemObject
As operações de arquivo do IIS3 e IIS4 ASPS podem ser implementadas através do FileSystemObject, incluindo operações de diretório de leitura e gravação de arquivos de texto, renomear e exclusão de arquivos etc., mas essa função poderosa também deixa um backdoor muito perigoso. FileSystemObJet pode adulterar qualquer arquivo na partição de gordura. Mesmo que as permissões não sejam definidas corretamente, elas também podem ser destruídas. Infelizmente, muitos webmasters sabem apenas fazer com que o servidor da web seja executado e raramente define permissões para NTFs, enquanto as configurações padrão para as permissões de diretório NT são terríveis. Portanto, se você é um webmaster, o autor recomenda fortemente que você preste muita atenção às configurações do servidor e tente criar o diretório da web na partição NTFS. O Grupo de Administrador, geralmente não há necessidade de controlar completamente.
4. Os ataques que os aplicativos ASP podem enfrentar no passado.
Nos arquivos HTML, se o texto inserido pelo cliente for exibido no arquivo HTML, ele deve estar em conformidade com os padrões HTML, e os programas CGI geralmente incluem linguagens HTML específicas. Quando o cliente insere conteúdo e insere um arquivo HTML, ele é inserido na instrução HTML da cabeça e da cauda ao mesmo tempo, como:
<Font> Variáveis inseridas pelo cliente </font> Mas se o HTML antes e depois estiver marcado na tela, você poderá fazer muitas coisas.
Se digitado em:
</font> O <Font> antes e depois da declaração <Font> que está em conformidade com os padrões HTML é usado para instruções HTML na minha tela CGI. O que é inserido no arquivo html se torna:
<Font> </font> A declaração que cumpre os padrões HTML <Font> </font> Devido a esse recurso, escrever um loop javascript vicious é muito fácil, basta inseri -lo na caixa de entrada:
<a href = url onmouseover = while (1) {window.close ('/')}> ou <a Herf = url onMousever = while (ture) {window.close ('/')}> então você pode fazer outros Coisas que o navegador do cliente que viu a mensagem morreu devido ao loop morto. Os programas desenvolvidos pela ASP também podem ter esse problema; portanto, quando você escreve programas semelhantes no ASP, deve ter cuidado com essas operações, como escrever um programa para julgar a entrada do cliente e bloquear todas as instruções HTML e JavaScript.
Depois de ler esse problema, se você estiver muito chocado, verifique minuciosamente o site ou o programa ASP existente para ver se há alguma das vulnerabilidades acima. Se você entende as vulnerabilidades mencionadas no artigo e possui contramedidas suficientes, embora parabéns, lembre -se de verificar seu site e os programas ASP atacar usando algumas vulnerabilidades que não conhecemos. Por fim, se você tiver alguma visão única sobre os problemas de segurança da ASP discutidos neste artigo ou têm novas descobertas sobre vulnerabilidades, espero escrever para mim para discutir