quinta-feira, 22 de janeiro de 2015

SQL Injection - Injeção de SQL- TUTORIAL Completo Básico

Introdução
A Injeção de SQL, mais conhecida através do termo americano SQL Injection, é um tipo de ameaça de segurança que se aproveita de falhas em sistemas que interagem com bases de dados via SQL. A injeção de SQL ocorre quando o atacante consegue inserir uma série de instruções SQL dentro de uma consulta (query) através da manipulação das entradas de dados de uma aplicação. 
Fonte: Wikepédia


Requesitos
Um Servidor Linux ou "Windows com o Xampp"
O Linux com apache2 instalado e o MySQL, também com o phpMyadmin
O Windows com o Xampp, Xampp já vem com tudo comfigurado
Um editor de texto, como exemplo bloco de nota && notepad++ && sublime
ou o netbeans, eu prefiro o netbeans.

Criando uma Pagina
Primeiro, navegue ate a pasta /var/www/, abra o terminal e digite:
$ cd /var/www 
Agora crie uma pasta, comando:
$ /var/www# mkdir pagetest
Listar diretorio
$ /var/www# ls -lAh
drwxr-xr-x  2 root root 4.0K Jan 19 23:26 pagetest
Em seguida alterei as permissões, comando:
$ /var/www# chmod 777 pagetest -R
Liste mais uma vez o diretorio isso não é obrigatorio
$ /var/www# ls -lAh
drwxrwxrwx  2 root root 4.0K Jan 19 23:26 pagetest
Agora Vamos criar um arquivo de configuração, para fazer a conexão como o servido mysql, para acender um banco de dados. No terminal digite: para entra dentro da pasta onde vamos trabalhar
$ /var/www# cd pagetest/
Agora digite:
$ /var/www/pagetest# nano config.php
No editor copie ou escreva essas linhas e salve o arquivo;
<?php
# " localhost " endereço do banco esse ira ficar assim mesmo pois vc vai esta localmente
# " root " usuario do banco
# " dmyka1728 " senha do banco
# " dbtest " nome do banco
# Subistitua isso pelo seus dados
mysql_connect("localhost","root","dmyka1728");
mysql_select_db("dbtest");
Agora vamos criar a nossa index principal, lembrando, não irei estiliza com CSS , comando digite:
$ /var/www/pagetest# nano index.php
No editor copie ou escreva essas linhas e salve o arquivo;
<?php
include "config.php"; #Incluir o nosso arquivo de configuração com o banco
?>
<html>
<head>
<title>Index-Test</title>
</head>
<body>
Visualizar Dados <a href="index.php?id=1">Ver</a></br></br>
 <?php
  $id = $_GET['id'];
  $sqlquery = "SELECT * FROM infousers WHERE id='$id'";
  $execute = mysql_query($sqlquery);
   while ($row = mysql_fetch_array($execute)){
    echo "
    <b>Name:</b> $row[1]</br>
    <b>Fone:</b> $row[2]</br>
    <b>Data:</b> $row[3]</br>
    <b>CPF:</b>  $row[4]</br></br>";
   }
 ?>
</body>
</html>
Logando no phpMyAdmin
Agora  iremos logar no phpmyadmin pra poder criar o banco e tabelas e inserir os dados para nossos testes.
Abra o seu navegador de preferencial, navegue até o enderço http://localhost/phpmyadmin - logger com seus dados - em user do mysql e pass do mysql, como mostra a imagem abaixo:

video:

1 comentários: