thegoodfellas/blogset-br huggingface dataset:
1. Lembrando que 1 em informatica e a mesma coisa que True (verdadeiro). Lendo novamente: Me retorne o usuario que seja igual a vazio (nao existe nenhum) OU verdadeiro (opa.. verdadeiro e verdadeiro, entao achei). Nisso, a tabela pega todos os usuarios, pois todos dao verdadeiro. Nao sao igual a vazio, mas o 1 garante que todos sejam validos. Agora falta so filtrar a senha.Se usarmos a mesma string magica na senha, nos seremos o primeiro usuario da tabela, pois:Codigo: Selecionar tudo select usuario, senha, nome, admin from Users where usuario= ''or '1' and senha= '' or '1'Me retorne o usuario 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 usuarios da tabela, porem com o ponteiro no primeiro usuario.Quando fazemos uma tabela de usuarios, e colocamos no ar, qual o primeiro usuario que incluimos? Nos mesmos, claro. E com nivel de administrador. E e exatamente esse que viramos quando usamos essa falha.Alguns outros casos, sao quando queremos entrar com o username de uma determinada pessoa. No username, colocamos o nome dela corretamente, e na senha, como nao sabemos, usamos essa string que nos foi enviada por Alah. O SQL, muito esperto, entende que e pra retornar o usuario com o nome informado e que tenha uma senha igual a vazio OU verdadeiro. Ou seja, na verdade, ele ira ignorar a senha, e apontara para o registro que o username seja igual ao que foi informando no campo do formulario.Outro ponto, e quando nao sabemos o nome do usuario, e o site tem muitos cadastros. Entao, entramos como qualquer um, e com seus respectivos direitos. No usuario colocamos a string magica, e na senha chutamos qualquer coisa, por exemplo, 123456 (num site com mais de 200 cadastros, e 99% de certeza que alguem tenha usado essa senha.). Entao, o SQL apontara o registro para o primeiro usuario que tenha essa senha no seu cadastro. Outras senhas usadas sao: 123123, 123321, 121212, 111222, (o proprio nome do site), abc, abcd, abcdef, abc123, 123abc, e coisas faceis desse tipo.E no caso do login pedido ser um e-mail, essa string nao funcionara, pois talvez exista uma validacao no campo do login para atestar que o que foi digitado tem um formato de e-mail (digo talvez, pois ja vi sites pedindo e-mail login mas que nao validavam nada...)Dai, usamos a string que passa por essas validacoes (como o campo de e-mail e grande, por nao se saber qual o mail do usuario, podemos utilizar essa string maior. A string anterior e pequena para caber em qualquer campo de login e senha).A string que passa pelos e-mails e:eu@eu.com'or'.11'='.11Dessa forma, caso verifiquem se existe @, esta string passara pois tem 1 @ so.Se verificarem se tem alguma coisa antes da @... ela e valida e tambem passa.Se verificarem de tras pra frente na string.. procurando por uma TLD valida (com um ponto na terceira ou quarta casa, de tras pra frente), encontrarao o ponto (.) na terceira casa, que significa uma TLD brasileira
(.br) ou de outros paises. E se ainda verificarem mais pra tras, por dominios, encontrarao outros 2 pontos, o que torna esse e-mail pertencente a um dominio com subdominio.Ok. Sou dono de um site em asp, e uso essa forma de verificacao. Agora que voce ja me ferrou e que todo mundo vai me invadir, pode me dizer como conserto isso?Claro. E pra isso mesmo que eu estou falando desse erro. Para alertar os sites que estejam com esse problema. Vamos a correcao:O problema todo e que o script so verifica se achou ou nao um usuario, nao faz um check-up para atestar a veracidade do que foi encontrado. Entao, bastaria adicionar o seguinte comando dentro daquele script:Codigo: Selecionar tudo Isso pega o usuario e senha informados no formulario cUser = trim(request(usuario)) cSenha = trim(request(senha)) Isso verifica no banco de dados se o usuario e senha conferem (vamos supor que o banco ja 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 usuario 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 invalido. end if else response.write Login invalido. end ifDessa forma nao ha furos de aspa simples ou aspa dupla, pois o IF nao se confunde com isso.Outra forma tambem, seria tratar o caractere da aspa simples dentro dos campos de usuario e senha, nao deixando ele estar contido nesses campos. Mas e um pouco mais trabalhoso.Outra coisa que e bom lembrar, e que esse erro nao afeta somente a internet. Sistemas feitos em Delphi e Visual Basic com esse tipo de verificacao de usuario tambem estao passiveis a esse erro. Portanto, verifique-os tambem.Modo Avancado: buscando e alterando dados.Agora que voce ja sabe como entrar em um site restrito, que peca login e senha, feito em asp com sql, vamos aprender agora como ver dados das tabelas, modificar ou ate mesmo apagar todo o banco de dados.Aqui sao usados conhecimentos avancados de programacao em SQL e, se voce nao conhece SQL (a linguagem), entao essa materia nao vai adiantar muita coisa pra voce. Recomendo que caso queira se tornar um perito em invasao de banco de dados, va aprender SQL primeiro. ;)Nem so de campos de formularios vive um site. O site tambem pode passar informacoes pela linha de enderecos. Se voce nao consegue fazer alguma coisa pelos proprios campos (aqui tambem usaremos o campo de usuario de um login para fazer as acoes), entao abra o codigo fonte da pagina (aquele com o clique do botao direito do mouse, exibir codigo fonte), e procure pela linha do Form Action. O que vem depois do Action e a url ou pagina a ser chamada pelo formulario. Depois, procure nas tags de inputs o campo de entrada do usuario, geralmente denominado name=usuario ou name=user. Feito isso, ja temos a nossa acao pela linha de comando, livre das travas
impostas pelo formulario, tais como o limite de caracteres ou alguma validacao de campo feito em javascript. Dessa forma, inves de preencher o campo usuario no form, voce colocaria no endereco uma url desse tipo:http://www.siteemasp.tld/arquivo.asp?user=comandos em sqlNao se preocupe com os espacos na URL, pois o Internet Explorer e bonzinho e se encarrega de trocar pelos devidos codigos de espaco (%20)Vamos falar um pouco de teoriaNo SQL, o comando de banco de dados e simplesmente uma string com um texto dentro. Esse texto, formado de comandos pre-estipulados, e interpretado pelo SQL e retorna o que foi pedido. Alem dos comandos, existe tambem uma definicao de Comentario dentro do SQl, que pra muita gente e algo desconhecido. Da mesma forma que voce pode comentar o seu script ou programa, incluindo linhas que dizem pra que serve cada bloco, o SQL tambem permite, dentro dessa string, um comentario que facilitara o entendimento daquela string quando for lida por outra pessoa. Apesar de quase nunca ser usada na pratica, esse caractere de comentario tera uma funcao extremamente valiosa para nos. Outro caractere que sera muito usado e venerado aqui, e o caractere de faz mais alguma coisa, que alem de executar o primeiro comando, manda executar um segundo comando dentro daquele primeiro. Entenderao o que eu estou dizendo mais na frente.So pra ilustrar, o caractere de comentario sao dois sinais de menos e o caractere de nova execucao e o ponto-e-virgula ;. O caractere asterisco * significa todos os campos da tabela.Finalmente, vamos a pratica...Seria interessante que ao mesmo tempo em que voce for lendo, ir tambem testando em algum site o que sera dito adiante. E mais prudente montar um site em asp, com um acesso ao banco de dados em SQL Server proprio, para testar. E sempre valido lembrar que esta materia e apenas para fins educacionais. JVoce esta num site em asp, com acesso por SQL, que usa um campo de login e senha vistos por uma sql desse tipo:Codigo: Selecionar tudo SQL = Select * from usuarios where username= & user & and pass= & pass & A sql e desse tipo, mas voce como usuario normal do site nao conseguiria saber disso.No campo de usuario, se voce colocar o conteudo:Usuario: admin Senha: xyzO que ira acontecer e que voce ira entrar no site como se fosse o admin (levando em consideracao que admin e o usuario real cadastrado no banco de dados como sendo o admin), mesmo sem saber a senha do admin, pois a senha agora sera ignorada.O caractere - - no final do campo especifica pro sql que daquele ponto em diante tudo e comentario, e a string do SQL final ficaria desse tipo:Codigo: Selecionar tudo SQL = Select * from usuarios where username=admin and senha=xyz Ou seja, a verificacao and senha=... virou um simples comentario dentro daquela string e nao sera processada pelo interpretador do sql. Dessa forma, voce entrar simplesmente designando o username.Creio que agora esta entendido o uso do caractere de comentario. Vamos seguir em frente.Caso voce nao saiba o nome de algum campo da
tabela, ou ate mesmo nao saiba o nome de alguma tabela, podemos usar as mensagens de erro do SQL para poder conhecer mais sobre as tabelas do site. Facamos da seguinte forma no campo de usuario:Usuario: having 1=1 Senha: xyzO erro dado sera parecido com o abaixo:Codigo: Selecionar tudo 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 94Agora, voce ji sabe o nome da tabela (usuarios) e o nome do primeiro campo (codigo) da consulta na tabela. Como foi usado *, este campo e o primeiro a ser retornado.Se fosse usada uma string do tipo:Codigo: Selecionar tudo SQL = select nome, login, senha, nivel, cpf from usuarios where ....O que ia ser retornado e usuarios.NOME, pois e o primeiro campo da pesquisa.Se voce agora montar uma outra string dentro do campo nome, iri saber o proximo campo da tabela:Usuirio: group by usuarios.codigo having 1=1 Senha: xyzIsso iri produzir o seguinte erro:Codigo: Selecionar tudo 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 94Voce agora pode ir gerando erros assim ate saber todos os campos que serao retornados da string SQL. Basta para isso dividir os campos com virgula, assim:Usuario: group by usuarios.codigo, usuarios.login having 1=1 Quando voce nao obter mais nenhuma mensagem de erro, significa que todos os campos ja estao validados e constam na string. Nesse ponto, voce ja sabera todos os campos e a ordem que eles virao.Agora e interessante saber o tipo de cada campo e, para isso, vamos obrigar o sql a gerar um novo erro:Usuario: union select sum(login) from usuarios O erro aparece como:Codigo: Selecionar tudo 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 94Isso informa que o campo login e do tipo varchar. Mas se por acaso a mensagem de erro vier da forma a seguir, e porque o campo em questao e do tipo numerico.Codigo: Selecionar tudo 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 94Agora que voce ja sabe o nome da tabela, os nomes dos campos e seus respectivos tipos, vamos ao proximo passo, que e usar o caractere de faz mais alguma coisa, o excelentissimo ponto-e-virgula.Codigo: Selecionar tudo Usuirio: ; insert into usuarios (nome, login, senha, nivel, cpf ) values ( Geek, haxo, p4ss, 1, 12345678900) Preciso explicar!? J Bem, isso faz uma inclusao na tabela usuarios de um registro, o qual tem o username sendo haxo e a senha p4ss, o que permitiria a voce ser um novo usuario do site,
um campo de usuario limitado em 12 caracteres:Codigo: Selecionar tudo Usuario: ;shutdownExiste ainda formas de, por comandos em SQL, executar comandos arbitrarios dentro do server que roda o sql server. Voce por exemplo, poderia obter o dir de um c: ou ate mesmo criar e apagar arquivos dentro da maquina. Mas isso, e um outro assunto. Por hora, ta bom.Vale lembrar que todas essas situacoes descritas aqui funcionam em sites com SQL Server. Sites que tem um MDB como banco de dados, os selects funcionarao, mas coisas como SQL Transact e alguns outros comandos peculiares ao SQL Server nao irao funcionar.Voce e programador de um site (ou varios) em asp e esta perplexo com tudo isso, pois todos os sites que voce fez estao vulneraveis a esse erro, e voce precisa de uma solucao rapida para consertar todos eles? Infelizmente, nao existe. Voce vai ter que verificar o conteudo de cada variavel, dentro da propria asp, antes de coloca-la dentro de um comando sql. Dificil e penoso? Pois e... quem mandou escolher essa profissao...Escrito Por: Marcelo R. GomesPublicado: Nas edicoes da H4CK3R #3 e #4, da Editora Digerati.
"Nao tem a ver com seu jogo de seducao, e o seu jogo sexual,Que me deixou perambulando pronta para usar suas correntes...(richt by my side -nicki minaj feat.chris brown)"Nossa eu nao sabia queaquilo tudo era natural mais sera que e mesmo nos ficamos ali conversando porum longo tempo nos bebiamos e conversavamos ate que............ Tenho a pior visao da minhavida jake e James estavam vindo em minha direcao apertei meis punhos e saiidali puxando avy que ficou meio sem entender o que estava acontecendo ate quechegamos ate o bar e nos sentamos e avy se virou pra mim e....Avy: juss o que foi isso? perguntou avy me olhando-Juss: e que eu vi pessoasque eu nao queria ver! disse olhando em volta-Avy: quem eu posso saber? perguntou avy bebendo seu champanhe Juss: os meus maioresinimigos! disse com raiva-Avy: mais por que eles estaoaqui? perguntou avy me olhando-Juss: por que ele tambem saoaliados do chris! disse irritado-Avy: assim, mais fiquecalmo juss mostre superioridade! Voce esta comigo! disse avy pegando emminhas maos-Eu e avy ficamos aliconversando e bebendo ate que nicki veio tirar avy para dancar e eu fiquei ali bebendo mais chris enquanto observavamoselas....*P.O.V. avy*Nao pode passardespercebido nao e mesmo...nao demorou muito e chegamos a tal festa a mansao eraenorme e estava cheia de carros e segurancas altamente armados ,juss desceu da Ferri e veio ate aminha porta e abriu a mesma e nos saimos em direcao a enorme mansao e podeperceber que todos nos olhavam mais eu naosabia se era pra mim ou pro juss, mais muitos homens e mulheres nos olhavam ejuss fazia que nao estava vendo quando adentramos aquela enorme porto todoscomecaram nos olhara pode ver um sorrisinho de satifacao do juss , quandopasavamos todos se abriam para que pudessemos passar ,ate que chegamos em negaocom uma linda mulher de um corpo escultural juss fez um toque com ele e comecarama conversar....Juss: chris essa e avy! disse e o tal chris me cumprimentou-Chris: nossa justin ela emuito linda ! que bom que largou a magrela da mia! disse chris com um belosorriso-Juss: obrigada chris! disse juss sem importancia-Chris: e cade ela bieber? perguntou chris olhando para o juss-Juss: esta por ai com oNiall! disse juss a cacando-Nicki: nao acredito que atroce justin , voce sabe que eu e ela nao nos damos bem ! disse a bela morenadando um abraco em justin-Juss: nicki o Niallprecisava vir acompanhado nao e mesmo disse abracando a mesma-Avy: pelo menos uma concordacomigo ! disse olhando para nicki-Nicki: a voces tambem naose dao bem? perguntou nicki cumprimentado a mim-Avy: nao mesmo acho que elatem inveja de mim! disse me sentando-Nicki: deve mesmo pois vocetem um corpao e ela e uma magrela oferecida! disse nicki se sentando ao meulado-Avy: isso ela e mesmo! Evoce tambem tem um corpao nicki e tudo seu? - perguntei olhando para os enormes seios de nicki-Nicki: ah e meu neh! eucomprei nao e mesmo disse nicki rindo- e o seu e natural? perguntou nickiolhando para mim-Avy: o meus sao naturaissim nao tenho coragem de fazer cirurgias disse rindo-Nicki: nao acredito nisso,nossa entao
isso tudo e seu ,oh meu deus! disse nicki espantada -Continuamos conversando porum bom tempo.... ate que justin sem mais nem menos saiu me puxando e saiu esbarrandoem todos que estavao em nossa volta ate que chegamos ao bar justin se sentouofegante entao eu olhei para o mesmo e disse....Avy: juss o que foi isso? perguntei olhando para juss-Juss: e que eu vi pessoasque eu nao queria ver! disse juss olhandoem volta-Avy: quem eu posso saber? perguntei bebendo o meu champanhe Juss: os meus maioresinimigos! disse juss com raiva-Avy: mais por que eles estaoaqui? perguntei o olhando-Juss: por que ele tambem saoaliados do chris! disse juss rritado-Avy: assim, mais fiquecalmo juss mostre superioridade! Voce esta comigo! disse pegando em suas maos-Continuamos ali conversando e bebendo como pessoas normais ate queseriamos mesmo se nao estivessemos cercados por bandidos e traficantes,ate quenicki chegou me chamando para dancar entao fomos dancar e estava passando Love moreque eu amo essa musica ela e tao sexy eu balancava o meu corpo de acordo com amusica assim como a nicki dancavamos sensualmente e percebi que o juss e ochris nos olhavam de longe mais babavam enquanto dancavamos entao comecei apassar as maos por todo o meu corpo e entaovi o juss e o chris vindo em nossa direcao entao puxei juss e nicki fez o mesmo com chrise comecamos a dancar sensualmente para os dois e pode ver que o amiguinho dejuss dar sinal de vida estavamos em perfeita sincronia as maos de jusspasseavam pelo meu corpo estavamos hipnotizadosum no outro justin me virou me fazendo de ficar de frente para o mesmo suas maos foram ate minha bunda a apertando de uma maneira sexy, jussme puxou para um beijo quente e cheio de malicias suas maos passeavam pelo o meu corpo enquanto minhas maos se fixavamem arranhar sua nuca uma de minhas maos foi pra dentro de sua camisa arranhandoseu abdomen definido estavamos numa sincronia perfeita ate que a falta de arfalou mais alto quando terminamos de nos beijar justin deu um tapa em minhabunda me deixando mais excitada do que eu ja estava e disse em meu ouvido queiria pegar umas bebidas para nos e enquanto eu esperava o juss fiquei alidancando com a nicki e o chris que tambem se pegavam , e eu confesso que estavaadorando essa festa nunca me imaginei tao safada assim , mais acho que aquiesta muito bom nao demorou muito e juss voltou com as nossas bebidas e continuamosa dancar mais agora juss apenas me observava dancar e eu estava tao animada quenao conseguia para entao nicki e eu comecamos a dancar juntas e a passar as maospelos nossos corpos e a sensualizar muito e chris e juss babavam ate quecansamos e resolvemos ir para o banheiro fomos conversando e cantando parecendoloucas cara nunca pensei que a nicki fosse tao legal assim...fomos ate obanheiro que nao demoramos para chegar La e quando chegamos demos de cara coma.....oiiie meninas olha eu aquiii de volta .... dessa vez foi rapido neh mais esse capitulo foi pequeno mais as coisas ja comecaram a
esquentarr entao se preparaem para o dez por que ele vai ensendiar imagina no capitlo dezz e tipo gente elaa ta superrr hiperrr bigger pra vocess esperemm e veraoo entaoo eu acho que amanha ou ate hoje mesmo posto ele pra voces entaoo ate minha jujbasss e bejussss..
nicki fosse tao legal assim...fomos ate o banheiro que nao demoramospara chegar La e quando chegamos demos de cara com a.....mia o meu deus! Estava tao bom sem ela ,olhei para a nicki que a mesmaestava bufante pois ela tambem odeia a mia assim como eu assim que ela nos viunos deu um sorrisinho sinico e continuou a arrumar o batom vermelho ridiculoque ela usava nicki entrou para o banheiro e eu fui retocar a minha maquiageme arrumar meu batom que estava todoborrado por causa do bieber e o meu vestido que estava deixando meus seiosquais saltando para fora do meu vestido ,entao mia se virou pra mim e....mia: esta gostando da festa novata? perguntouela olhando para mim-avy: isto nao e da sua conta queeu saiba, e segundo eu tenho nome se voce nao abe disso! disse e continuei ame arrumar-mia: mais voce nao merespondeu...esta gostando dessa festa..pois pode apostar que sera a sua ultima pois esse lugar que voceesta e meu ouviu! disse ela me olhando e com uma raiva-avy:pra sua informacao foi eleque me chamou nao fui eu e pra mim voce pode vir com o bieber se voce quisermais eu acho que ele vai querer a mim neh! disse passando meu batom-mia: escuta aqui novata ,vocechegou aqui agora e ja esta tupetuda assim eu estou com o justin a muito maistempo que voce!e se voce nao sabe ele nao gosta de apelidos! disse elachegando mais perto de mim-avy: eu ja disse que eu tenhonome, e segundo eu nao vim da onde voce veio, e terceiro o proprio justindeixou eu chamar ele do jeito que eu quero oks ! agora fika ai com a suainveja- disse e me virei- nicki eu ja vou indo ta!- disse me virando pra nicki-nicki: oks avy!vai La e fala prochris que eu ja chego La tambem! disse ela se virando pra arrumar amaquiagem-eu sai do banheiro e fui em buscado juss mais tem tanta gente que eu nao estava conseguindo passar e eu tropeceie quando pensei que ia cair um moreno forte me segurou.oh meu deus ele e umdeus grego ,ele me segurou e me puxoupara cima me fazendo ficar cara a cara com oh meu deus ele era mais bonitoainda de perto ,ele estava falando algo mais eu nao entendia nada do que elefalava,pois estava hipnotizada era muitabeleza para um homem so ate que eu saio do meu transe...xxx: oi voce esta bem ?perguntava o deus grego-avy: estou sim ,so fiquei meioassustada! disse me recompondo-xxx: voce quer alguma coisa umaagua, vodka ,champanhe ? disse o deus grego-avy: eu quero um champanhe, porfavor! disse ele saiu me puxando ate o bar-xxx: um champanhe por favor! disse o deus grego para o gracon-avy: eu devo agradecer a quemmesmo? perguntei o admirando-xxx: oh meu desculpe eu nao meapresentei meu nome e James prazer ! disse o mesmo estendendo a mao-avy: prazer meu nome e Averry,mais pode me chamar de avy! disse estendendo a mao para o mesmo-James: e o que um mulher taobonita faz numa festa como essa? perguntou o mesmo me entregando o meu champanhe-Avy: