fala pessoal andr Alonso aqui e deixa eu te perguntar você sabe o que que acontece quando você entra em um site Quando você posta uma foto no Instagram eu não tô falando do resultado disso quando você posta uma foto no Instagram você recebe likes Mas você sabe o que que acontece dentro do servidor do Instagram quais dados que você tá enviando para ele que acontece dentro da sua rede wi-fi quando você faz isso nessa aula eu vou te mostrar eu vou abrir a sua cabeça para você entender tudo o que tá acontecendo quando você clica em um site posta uma foto edita algo toda a comunicação que você tá fazendo dentro do site e ela é uma das partes essenciais do Web hacking Já que é possível explorar falhas dentro dessas comunicações eu diria que 90% das falhas que eu encontrei em sites sites que eu hacki foram dentro dessas comunica do famoso protocolo http os dados que você envia para um site então aqui eu tô com a bagunça da última aula de urls eu te expliquei o passo a passo de como que elas funcionam E você já aprendeu que a gente pode enviar dados pela URL mas não só pela URL nós enviamos dados quando você acessa sit acessa um site acessa o YouTube vários dados são carregados aqui a foto dos vídeos o nome dos vídeos quando você faz login num site você envia seu login senha quando você deleta um vídeo posta um vídeo você envia dados e esses dados eles não são enviados pelo URL eles são enviados pelo chamado protocolo http e o que que é o protocolo http quando nós acessamos um site temos o nosso celular ou nosso computador aqui e aí nós temos o servidor do YouTube então aqui é o servidor do YouTube colocar que o YouTube quando Nós entramos aqui na Home de sites em todos os sites que a gente tem o que acontece a gente faz uma conexão com o servidor do YouTube e o servidor do YouTube ele vai fazer todos seus cálculos pesquisar no banco de dados todo o algoritmo aqui para nos mostrar os vídeos recomendados e depois de fazer isso depois de consultar no banco de dados dele depois de tem um algoritmo lá ele vai nos responder com a página que a gente tá vendo aqui a página de vídeos quando a gente entra no Instagram nessa página aqui nós estamos enviando um dado servidor do Instagram e ele tá nos respondendo com essa página que a gente tá vendo e todos esses dados aqui todas essas páginas na verdade elas são códigos fonte a gente abrir aqui é isso daqu que tá sendo enviado isso daqui que tá sendo mostrado na nossa tela vários códigos fonte e agora que você entendeu que o protocolo http essa comunicação que a gente tem entre os sites inclusive na última aula eu te disse a diferença de http http para https e o https ele é uma forma de comunicação criptografada quando a gente tá falando em protocolo http a gente tá abrangendo esses dois protocolo http ou https a gente tá falando do envio de dados para sites então entendido isso vamos ver isso na prática Vamos abrir aqui o site do YouTube e ver o que que é carregado Quais são as requisições que a gente faz Quais são os dados que a gente envia ou pede do Servidor se a gente clicar com o botão direito e vir em inspecionar página ou clicar em f12 por exemplo a gente abre esse daqui que é chamado de Dev console ele é um console de desenvolvedores que desenvolvedores podem analisar sites ver o código fonte ver a rede ver várias coisas e que com o passar do tempo foi adaptado para hackers tentarem iar um site e hackear ele mas aqui no nosso console a gente tem uma coisa principal aqui e até interessante que eu queria mostrar para vocês que a gente pode ver aqui o código fonte do site isso daqui é html html é uma chamada linguagem de marcação ela que posiciona todos esses elementos que a gente tá vendo aqui esse vídeo aqui essa imagem ela que coloca todos esses blocos um site El é meio que vários blocos e vai montando a gente tem também por trás dos Sites uma linguagem chamada CSS que ela que personaliza o site ela que define que o background aqui do YouTube ele é escuro e esse ícone aqui ele é branco e aqui a gente tem um quadrado que é meio circular e tem um texto preto e um fundo branco e aqui a gente tem uma logo ele que define todo o estilo do site Inclusive a gente pode ver aqui embaixo Aqui a gente tem o código html e aqui embaixo a gente tem o CSS que são os estilos do site então aqui a gente tem essas duas partes avançando aqui nas Abas do nosso Dev console nós temos a área de console que a gente pode enviar enviar códigos aqui não vamos entrar muito a fundo temos a área de fontes a gente tem todos os dados que são carregados do site e a área que eu queria mostrar PR vocês a de rede ela que mostra tudo que a gente tá enviando e recebendo de um site E se eu vou vir aqui em limpar nesse ícone aqui para limpar tudo e aí eu vou recarregar o site para você ver tudo que é carregado tudo que é enviado nessa mesma comunicação que você tá vendo aqui de o nosso dispositivo ele pedir algo pro YouTube e ele não se tornar Olha tudo que é enviado quando a gente recarrega o site tudo isso aqui é carregado isso daqui são então entre páginas HTML essa primeira essa primeira coisa que é carregada aqui do YouTube é uma página HTML a gente ver aqui olha que legal a gente tem nessa parte a gente pode clicar nessa requisição Mas se a gente vir em visualização a gente pode ver que é mais ou menos uma página aqui tá sendo carregada só que não tem nada porque é só estrutura aqui a gente v a resposta ó um monte de códigos a gente tem aqui também códigos JavaScript ó isso daqui tá sendo carregado algum código de algum script de alguma coisa não precisa entender tudo o que tá acontecendo aqui nem eu sei o que que são esse monte de código porque no processo de hacking você vai vend um monte de coisas que ess programadores criaram você vai tentando entender filtrando o que que é importante o que que é só um código aleatório e tentando entender aqui dentro aqui a gente tem Fontes também olha só isso daqui é um arquivo de fonte a gente tem imagens ó isso daqui são arquivo de imagem deixa ver se eu tento Abrir alguma aqui visualização olha só se a gente vir em visualização a gente pode ver que são imagens são as thumbnails do YouTube aqui ó as fotinhas Tem tudo aqui tá sendo carregado no site do Instagram por exemplo se a gente entrar também em inspecionar redes fechar aqui vou recarregar Olha que legal ele carregou a página HTML não tem nada porque não tem nenhum estilo ele carregou aqui ó arquivos de estilo CSS um monte de código ó o logo do Instagram Esse logo aqui também deve ter sido carregado um meta que tá em algum lugar gente acha o logo que foi carregado olha aqui monte de imagens carregadas Então quando você acessa um site é feita várias comunicações de imagens de texto de fonte de várias coisas e essa é a chamada comunicação http protocolo http mas o protocolo http se a gente vi aqui dentro dele aqui ó instagram. com Existem várias informações aqui e essas informações eu vou tentar te mostrar vou tentar dissecar esse protocolo para você entender o que que é esse monte de coisa que a gente tá enviando aqui então eu vou pegar um exemplo de um um protocolo http de um cabeçalho e para te mostrar isso na prática eu vou usar um software aqui chamado insônia e ele permite programadores enviarem requisições http para testar funcionalidades várias outras coisas é o objetivo aqui não é apresentar para vocês o insomnia e sim apresentar para vocês o protocolo http como que ele funciona e eu vou utilizar ele para explicar então aqui dentro dele a gente consegue enviar requisições pro site nesse caso eu até enviei uma requisição pra Amazon eu vim aqui cliquei em send ele nos pediu alguns caracteres aqui M AX mas eu enviei uma requisição pra Amazon e ela nos retornou site retornou esse site aqui se a gente vir aqui em preview e colocar sorce code a gente pode ver o que realmente ela não retornou esse monte de código aqui e a requisição que a gente enviou pra Amazon aqui ela é uma requisição do tipo get se a gente ver aqui no no nosso aqui ó em rede se a gente ver aqui a gente pode ver que a gente tem dois tipos de requisições a requisição do tipo post é quando você envia um dado para o algum site e a requisição do tipo get é quando você pega algum dado de algum site aqui ó deixa eu tentar carregar o site para mostrar para vocês eh aqui olha só olha só do tipo get quando você pega algum dado de um site quando você pega uma imagem quando você simplesmente Envia um dado aqui no nosso esquema que a gente tinha criado é para explicar sobre o tipo da requisição get post quando você simplesmente chega no site e pede por exemplo venho lá entro em contato com ele simplesmente pedindo uma imagem ou o código da página e ele não se torna isso daqui é do tipo get porque só o site Ele tá te enviando um dado Ele tá te enviando uma imagem algo mas por exemplo se você faz login em algum site você vai lá faz login no site você tá enviando aqui a sua senha seu e-mail seus dados Então você tá tá enviando uma requisição post E aí o site ele vai te devolver com uma outra requisição então a requisição get ela simplesmente pede um dado e a post ela envia dados e existem outros tipos de requisição aqui tipos de requisição e que podem ser feito mas as principais é a post e a get post get deixa eu mostrar aqui olha só encontrei um site aqui que explica cada uma delas então além do get do a gente tem a head delete Connect Pet tem vários outros tipos de requisição e aqui ó no get é quando você obtém dados de um recurso como eu já mostrei requisita um recurso específico a Red ela é similar a get só que ela serve apenas para obter cabeç de resposta então ela simplesmente pega um cabeçalho você já vai entender o que que é um cabeçalho de resposta o simplesmente substitui alguma coisa vamos supor que você quer editar uma imagem editar um texto você envia uma requisição para editar esse texto ao invés de enviar um post para postar uma foto você só quer editar env um delete ela é usada para você deletar algo de um site um banco de dados ela remove algo específico Connect ela conecta em alguma em algum servidor ela faz alguma conexão option ela vai descrever o tipo da comunicação também tem Trace Pet tem várias outras mas as principais aqui que você precisa ficar atento é get e post agora que você já entendeu get post que a gente tá fazendo aqui a gente pode trocar aqui para fazer qualquer outro tipo de comunicação quando eu faço um Get No amazon. com.
br ele não torna o site inclusive ele até entendeu aqui que a gente é um bot e nos pediu para fazer um capture Mas vamos até tentar burlar isso utilizando algumas coisas da requisição porque agora vamos porque agora a gente vai passar para uma outra parte a gente tem aqui no get a gente pode enviar simplesmente pedir o site no post a gente pode enviar dados a gente pode fazer login no site vamos fazer uma coisa vamos tentar fazer login no site eu vou vir aqui no Instagram aqui ó nessa página e eu vou vir aqui em vamos lá rede aqui eu posso inclusive filtrar por coisas eu vou filtrar simplesmente por p xhr que é o tipo de comunicação que pede páginas que simplesmente é aqui ó simplesmente carrega as páginas e não imagens código JavaScript eu vou filtrar só por ele mas o que que eu vou fazer aqui eu vou entrar e digitar supor técnicas técnicas de invasão eu vou digitar a senha aqui também técnica de vazão e alguma senha senha secreta 1 3 digitar isso aqui no meu site no Instagram e aí eu vou clicar em entrar deu senha incorreta mas olha que interessante a gente teve aqui uma requisição do tipo post que envia dados nesse local aqui instagram. com IPI não sei o que de login a gente teve aqui cabeçalhos da solicitação que eu vou mostrar para vocês o que que é mas uma coisa interessante é que a gente enviou dados pro site se a gente vir em payload a gente enviou aqui nossa senha inclusive criptografada nosso username e vários outros dados enviou dados eu vi aqui em login page example eu vi aqui exle login page exle só quero pegar uma página de login vou entrar aqui sei lá Bootstrap tentar fazer login aqui dessa forma vamos lá vou inspecionar você pode analisar ess de várias formas então Alonso Alonso decreto gente clicar eming Olha a gente enviou uma requisição chamada login essa requisição nos cabeços tá como post e a gente enviou aqui dentro passw e username a gente enviou esses dados nessa requisição e uma coisa também que eu preciso falar aqui é o código de status você Dev ter visto quando tem fazer isso no Instagram ele nos deu um código de status 403 ele quer dizer que nossa requisição Não foi autorizada e existem vários outros códigos de status também o código de status de sucesso que a gente conseguiu alguma coisa é o código 200 então ele quer dizer que a gente conseguiu alguma coisa 403 a gente não foi autorizado 404 código famoso quando a gente não consegue é achar alguma coisa que aparece lá erro 404 é um código de resposta então sites também tem códigos de resposta se eu vir aqui lista de códigos de resosta http a gente pode ver aqui ol só uma lista de códigos Olha só quando um site ele retorna um código que ele começa com um tá lá pra casa do 100 é um código simplesmente informativo quando ele retorna um código 200 ele é um código de sucesso que a gente conseguiu entrar num site executar ao quando ele tá em 300 é um código de redirecionamento você já entrou em algum site foi redirecionado quer dizer que você seu protocolo http sua requisição que você enviou recebeu o código de redirecionamento e seu navegador automaticamente redirecionou a pessoa códigos nos 400 erro 404 403 409 E se eu não me engano 409 é quando você envia muitas tentativas no site código 500 erro de servidor é quando não é um erro de simplesmente você não encontrou algo você não foi autorizado que a culpa é sua de não ter encontrado a cidade não ter encontrá quando o código é 500 é porque o servidor teve algum problema o servidor caiu aí você recebe um código 500 Então existe até uma tela bem famosa de código 500 é 500 code screen laoud flare que é quando um site cai aparece essa tela aqui erro 500 você já chegou a ver uma vez essa tela é porque sua requisição recebeu um erro 500 porque o site estava fora do ar deu um erro no servidor você pode ver a lista de códigos aqui de status code então aqui ó códigos de status esse site aqui inclusive é um site bem interessante [Música] várias coisas sobre http aqui desde status code redirect Então vou até deixar aqui na descrição essa documentação que ela é muito interessante mas se a gente vir aqui olha só respostas de informação simplesmente passando uma informação pro seu navegador sucesso redirecionamento erro de cliente todos aqueles que eu eu mostrei então aqui a gente também tem e especificamente a explicação de cada resposta eu vou pegar a de ok aqui ó essa requisição foi bem sucedida você entra no site tiver um vídeo tá sempre Ok ã 404 não tem nenhum conteúdo vamos ver 204 no caso vamos ver aqui aquelas que eu te falei 409 tentar encontrar 409 ó tem um conflito no servidor 408 request time out deu muito tempo para enviar a requisição acabou o tempo quando você Vu uma requisição Sua internet tá lenta E aí ela demora para responder ã 405 método não não permitido quando você tenta acessar um site utilizando post não quer get quando o método tá errado 404 não encontrado 403 é negado por biden 402 olha só payment required é precisa de sistema de pagamento 401 não autorizado é parecido com o forbiden e 400 que simplesmente e o servidor não atendeu a requisição não consegiu processar ela esses são os códigos então eu mostrei aqui os códigos das requisições os tipos que a gente tem get códigos então te mostrei aqui os códigos que a gente tem que a gente pode ter uma requisição do tipo post que é o tipo da requisição tipo get tipo a gente tem os códigos 200 201 300 código de redirecionamento de erro de erro no servidor Esses códigos a gente pode inclusive enviar dados utilizando post eu vou fazer aqui então aqui na nossa no nosso insônia a gente pode enviar aqui um get pra Amazon só que uma coisa interessante que eu queria explicar utilizando isso é que quando você envia um get pra Amazon aqui no meu computador eu não tô logado no site da Amazon eu não tô conectado na minha conta mas se eu vim na Amazon eu vir aqui aqui dentro da Amazon do meu navegador eu já tô logado Olá Andres eu tô logado aqui na Amazon inclusive com Amazon Prime aqui e aqui eu não tô E como que isso acontece por que que quando eu envio por aqui eu tô logado e por aqui não é porque o meu navegador salvou os cookies você já deve ter ouvido falar de cookies de que o site permitiram permit os cookies Salve os cookies os cookies eles guardam a sua sessão no site e esses cookies eles são passados pela requisição Então os cookies ele é um número gigantesco um monte de caracter que você ganha depois de você fazer login Então quando você vai em um site seu computador vai em um site e faz login vai lá faz login você envia seu e-mail ou sua senha o servidor ele responde com um caracter vários dígitos aqui que são os cookies que seu computador vai salvar e toda vez que você for enviar uma requisição pro site você vai utilizar o cookie o seu crash Zinho e esse Cook é armazenado aonde eu vou entrar aqui de novo na Amazon e olha só quando eu entro na Amazon a gente tem aqui cabeçalho da solicitação isso daqui é um cabeçalho de uma solicitação parece um monte de coisa muito nada a ver aqui mas ele faz sentido porque se a gente vi aqui olha só a gente tem várias coisas aqui accept encoding accept language parece um pouco estranho de início não se preocupa mas também tem o Cook a sessão e esse Cook ele é passado no cabeçalho se a gente copiar esse cabeçalho aqui eu vou vir aqui vou vir aqui no no eu vou colar esse cabeçalho esse cabeçalho que ele é enviado na requisição olha só a pode até ver ele de uma forma um pouquinho mais bonita usando insnia Mas a gente pode ver aqui várias coisas ess daqui olha só accept encoding esses daqui de accept encoding accept content accept são algumas coisas um pouquinho mais técnicas então encode aqui é encode da requisição language essi é mais simples é a linguagem e nossa aquisição tá se comunicando aqui a gente tem a origem olha só heer a origem a origem é o site que você tava antes então estava antes no amazon. com o referer também não na verdade confundi aqui orig é o site que a gente tá e o refer é o site que a gente tava tava num outro local aqui a gente tem também aqui várias outras informações vamos ver aqui ó user agente isso é um cabeçalho que tem muito Mozilla 5.
0 o user agente ele guarda Qual que é o nosso navegador qual navegador que a gente tá usando então se eu colar aqui o user agente que a gente tem nessa requisição Olha só Mozilla 5.