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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 [2] 3 4
11  Programación / Desarrollo Web / Re: [Resuelto] ¿Como puedo modificar la URL? en: 28 Febrero 2020, 00:14 am
Tambien puedes crear tus propias urls para que apunten a un fichero, por ejemplo pongamos que cuando un usuario haga una peticion GET a  "/Menu/panel" desde php vamos a mostrar el fichero "panel.php".

Si algún día usas algún framework se usa mucho lo de crear tus propias urls.De hecho una de las formas de saber si una pagina usa un framework o no es fijarse en las rutas que utiliza.

Lo que te comente antes usando el framework Laravel seria asi:
Fichero donde almacenas todas las rutas de tu aplicación que en Laravel es "web.php"

web.php
Código
  1. <?php
  2. //Peticion GET que apunta al metodo 'getPanel' del Controlador 'MenuController'
  3. Route::get('/Menu/panel', 'MenuController@getPanel');
  4.  

Después tendrás en otro fichero php el controlador "MenuController", que se encarga de recibir todas las peticiones y gestionar la lógica de tu aplicación:

MenuController.php
Código
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Str;
  5.  
  6. class MenuController extends Controller
  7. {
  8.     public function getPanel()
  9.     {
  10.            //Devuelves una vista con ese fichero
  11.            //'menu' indica el nombre de la carpeta donde guardamos las vistas a mostrar y
  12.           // 'panel' el nombre del fichero
  13.            return view('menu.panel');
  14.     }
  15. }
  16.  

Y por ultimo solo nos queda crear las vistas que es lo que se muestra al usuario, en este caso tendremos una carpeta llamada "menu" con un fichero "panel.blade.php"

Asi cuando el usuario ponga la  url "sitio.com.mx/Menu/panel" en su navegador(que es el método GET) se mostrara el contenido del fichero "panel.blade.php" .

Si te mola el tema aquí te dejo enlaces sobre la clase "Route" de php y la documentación de Laravel.
https://codereview.stackexchange.com/questions/120587/php-route-class
https://laravel.com/docs/6.x
12  Programación / PHP / Re: Subir varios archivos FTP en: 27 Febrero 2020, 23:32 pm
Muy buenas, lo que puedes hacer es poner en el atributo "name" del input los corchetes para indicar al php que se trata de un array.
Código
  1. <input id="archivo" type="file"  name="archivos[]" multiple>
  2.  

En tu código js te recomendaría que le pases un nombre al parámetro para luego en el php coger los datos en base al nombre.
Código
  1. $.ajax({
  2.                data :
  3.                {
  4.                         "files":form_data
  5.                } ,
  6.                url: "subida.php",
  7.                type: "POST",
  8.                contentType: false,
  9.                processData: false,
  10.                success:
  11.                        function (r)
  12.                        {
  13.                            alert('' + r);
  14.                        }
  15.            });
  16.  
  17.  
Después desde php para facilitar las cosas en vez de usar el array global $_FILES puedes coger el parámetro POST que yo he llamado "files" para coger el array de ficheros.
Código
  1. $files = $_POST["files"];
  2. foreach($files as $file)
  3. {
  4.      //Subir fichero al ftp
  5. }
  6.  

Aquí te dejo documentación con ejemplos.
https://www.php.net/manual/en/features.file-upload.multiple.php

Saludos

13  Programación / PHP / Duda clase Route en Laravel en: 16 Enero 2020, 22:22 pm
Estoy empezando a aprender Laravel y  modificando el fichero web.php que es donde se encuentran las rutas me encuentro con lo siguiente:

web.php
Código
  1. Route::get('/', function ()
  2. {
  3.    return view('welcome');
  4. });
  5.  

Según ese código yo entiendo que la pagina solicitada solo va a permitir el método GET pero si por ejemplo envio una petición a esa url con TRACE u OPTIONS me devuelve el código 200, en cambio si lo envió con POST me devuelve el código 403.
No se supone que debería devolver el código 403 en todos los métodos que no sean GET?
Saludos
14  Programación / PHP / Pintar respuesta de peticiones simultaneas dinamicamente con curl en: 15 Enero 2020, 23:36 pm
Buenas, tengo un metodo en el que uso curl para comprobar si existen unos directorios dados para un dominio.
Esto funciona bien pero la duda viene al intentar implementar que el programa haga varias peticiones simultaneas y el resultado de estas se vayan mostrando de forma dinámica. Es decir, que si el programa ha encontrado un directorio lo pinte y siga buscando los directorios restantes para que no tenga que acabar para pintarlos todos.
Os dejo el codigo para ilustrarlo mejor.

Clase BruterDirectory:
Código
  1. class BruterDirectory extends Bruter
  2. {
  3.        private $directories;
  4.        private $domain;
  5.  
  6.        public function __construct($domain,$list)
  7.        {
  8.            parent::__construct($list);
  9.            $this -> domain = $domain;
  10.            $this -> directories = array();
  11.        }
  12.  
  13.        public function doSearch($callback)
  14.       {
  15.  
  16.             $directorios = array();
  17.             $rolling_window = 100;
  18.             $rolling_window = (count($this -> list) < $rolling_window) ? count($this -> list) : $rolling_window;
  19.             $master = curl_multi_init();
  20.             $curl_arr = array();
  21.             $std_options = array(CURLOPT_RETURNTRANSFER => true,
  22.             CURLOPT_FOLLOWLOCATION => true,
  23.             CURLOPT_MAXREDIRS => 2,
  24.             CURLOPT_USERAGENT => 'Buenas tardes');
  25.             $options = $std_options;
  26.             for ($i = 0; $i < $rolling_window; $i++)
  27.             {
  28.               $ch = curl_init();
  29.               $options[CURLOPT_URL] = $this -> list[$i];
  30.               curl_setopt_array($ch,$options);
  31.               curl_multi_add_handle($master, $ch);
  32.             }
  33.             do
  34.             {
  35.               while(($execrun = curl_multi_exec($master, $running)) == CURLM_CALL_MULTI_PERFORM);
  36.               if($execrun != CURLM_OK)
  37.                   break;
  38.               while($done = curl_multi_info_read($master))
  39.               {
  40.                   $info = curl_getinfo($done['handle']);
  41.                   if ($info['http_code'] == 200)
  42.                   {
  43.                       $directorios[] = $info['url'];
  44.                       $i++;
  45.                   }
  46.                   $output = curl_multi_getcontent($done['handle']);
  47.                   $callback($output, $info);
  48.                   $ch = curl_init();
  49.                   curl_setopt_array($ch,$options);
  50.                   curl_multi_add_handle($master, $ch);
  51.                   curl_multi_remove_handle($master, $done['handle']);
  52.                   $options[CURLOPT_URL] = $this -> list[$i++];
  53.               }
  54.           }while ($running);
  55.         curl_multi_close($master);
  56.         return $directorios;
  57. }
  58.  
Lo que hace el metodo doSearch es lo comentado antes, dada una lista generada en otro fichero php va comprobando si existe ese directorio o no, si el status code es 200 lo guarda en un array y cuando acaba lo muestra. Hasta ahi funciona pero si os fijais meto una funcion callback para que cuando una de esas peticiones simultaneas finalice me pinte un "Hola" como prueba de concepto pero solo lo ejecuta cuando la funcion doSearch ha finalizado

En este fichero php es donde llamo a ese metodo:
main.php
Código
  1. $bruterDir = new BruterDirectory($domains,$urls);
  2. $callback = function($data, $info)
  3. {
  4.        print "Hola";
  5. };
  6. echo "<strong style='color:green;'><h1>Seeking dirs </strong></h1><br>";
  7. $dirs = $bruterDir -> doSearch($callback);
  8.  

Otra cosa curiosa es que en el main.php el echo de "Seeking dirs" tambien lo pinta despues de la llamada a doSearch y no entiendo muy bien a que se debe.

Cualquier sugerencia es bienvenida o si sabéis de otra forma para hacerlo tambien, saludos.
15  Seguridad Informática / Seguridad / Re: Duda - Simular entorno vulnerable en: 17 Diciembre 2019, 23:12 pm
Se simulan/emulan los fallos. No hace falta hacerlos de verdad. Aunque también se puede.
Lo único es que la idea es que sean los usuarios quienes suban las paginas vulnerables para que los demas jugadores encuentren esos fallos, no es mala la idea de simular fallos pero en este caso no creo que quede bien.
¿Sabes si se podría crear un servidor virtualizado para esas paginas vulnerables?
Aunque ahora que lo pienso como lo hacen las paginas que tienen retos de hacking con paginas vulnerables
16  Seguridad Informática / Seguridad / Duda - Simular entorno vulnerable en: 16 Diciembre 2019, 20:58 pm
Buenas, estoy llevando a cabo un proyecto que consiste en hacer una especie de battlefield online de hackers  :xD.

La idea es subir al servidor una pagina como puede ser una agencia de viajes totalmente funcional pero con vulnerabilidades para que los usuarios las exploten y aprendan, pero antes de implementar el componente online me gustaría asegurarme de desarrollar bien la seguridad del sistema. La cosa es que cuando ese proyecto vulnerable es subido a un servidor ¿como se podría simular una especie de entorno seguro dentro del proyecto para no comprometer la seguridad del servidor y de los usuarios que se encuentren en esa misma partida?

Saludos.
17  Programación / PHP / Re: [Pregunta] Inicio de Sesion y subir imagenes en php a mysqli en: 3 Diciembre 2019, 23:45 pm
Citar
El problema es que no se como hacer que la imagen pueda ser guardada en la base de datos y adicional como hacer que la persona apenas se registre y loguee por primera vez le aparezca esta pagina como inicio para poder seguir.
En la base de datos normalmente se suelen guardar las rutas de las imagines para después en php hacer una consulta que te devuelva la ruta y la muestras.
Para que te redirija a una pagina nada mas loguearte por primera vez podrías guardar en una tabla los inicios de sesión de los usuario y después haces una consulta que te devuelva todas las filas para ese usuario de la tabla iniciosSesion por ejemplo, si el resultado es 0 le rediriges a esa pagina con header.
Código:
header("Location: pagina.php")
Aquí tienes info de como usarlo: https://www.php.net/manual/es/function.header.php
18  Programación / Bases de Datos / Re: Libros o recursos para aprender sobre las distitnas versiones de SQL y otras BD? en: 29 Noviembre 2019, 23:59 pm
Oh, me encanta tu idea. Puedes usar los Dorks para sacar un montón de resultados y crawlear los sitios mientras vas testeando. Para probar en formularios puedes usar javascript con el método submit(). Puedes hacer una web desde la cual llames a Java utilizando una Interfaz O correr el javascript desde el propio Java usando WebKit con WebView, GetSettings y javascript enable usando LoadUrl para cargar tus documentos prediseñados con código HTML y javascript. O directamente zumbándole el javascript en la Url usando el Pseudo-Protocolo de javascript con load Url. Yo al estar 99% del tiempo en Android, es de las herramientas que más uso. Aunque perfectamente se puede crear un HTML sin limitaciones, cargar la web y poner la url del HTML en local. Así se ejecuta en el mismo contexto.
Tenia pensado usar las librerías de HTMLUnit y Selenium porque tengo varios proyectos relacionados con navegadores y cogi cierta soltura pero me ha gustado tu idea de crear un html con javascript y desde ahí llamar a métodos de java. En temas de programación android no estoy muy metido pero no me cierro puertas a aprender nuevas cosas.

Si buscas una pagina donde practicar retos de hacking web y criptografía puede que te interese esta https://www.hackerone.com/. En el fondo es una pagina dedicada al bug bounty pero tiene una sección de CTF  con varias dificultades y bastante variados y suele llevar sus días resolver cada uno.
Pero si lo que buscas es sqli a secas ahí me pillas, yo lo que hago para estas cosas es programar una pagina en php vulnerable a sql injection,XSS,etc y ver todo lo que puedo hacer. Por ejemplo en un panel de login que he hecho uso la conexión de mysqli y descubrí que no permite ejecutar mas de una consulta tal que así  : " ; update usuarios set nombre="pepe" # ", siendo eso lo que pongo en el campo de email a la hora de iniciar sesión y en base a esos problemas voy intentando descubrir todas las posibilidades que me permite esa inyección.

Cuando lo haya conseguido lo que haré es incrementar la dificultad usando consultas preparadas y a ver si de algún modo es posible saltarse esa medida.

Lo que mola de hacer eso es que ves las dos caras de la moneda, por un lado aprendes a saltarte la seguridad y por otro aprendes a adoptar buenas practicas de programación para evitar esos incidentes. De hecho tengo un proyecto bastante completo en php que simula una agencia de viajes pero con fallos de seguridad a posta. Si quieres te lo paso para que lo eches un ojo, todavía me queda perfilar algunas cosas pero lo que es la parte funcional esta hecha.
Un políglota es un script que contiene varias formas distintas de explotar una o más vulnerabilidades a la vez. Por ejemplo varias inyecciones HTML y XSS en un mismo script. Si el elemento es vulnerable a alguno de los métodos que contiene el script salta. Así puedes probar con un mismo script varios payloads a la vez. https://github.com/0xsobky/HackVault/wiki/Unleashing-an-Ultimate-XSS-Polyglot
En el foro de dudas generales, diría que es en el último de los libros del listado de hacking se usan poliglotas, y temas muy interesantes que no se tocan en otros libros. Es una joya.
Lo echo un vistazo y me apunto el libro.


Muchas gracias por toda la info.
19  Programación / Bases de Datos / Re: Libros o recursos para aprender sobre las distitnas versiones de SQL y otras BD? en: 28 Noviembre 2019, 23:36 pm
Con búsquedas avanzadas es bastante fácil encontrar webs vulnerables, por desgracia demasiado. Me acabas de recordar que tengo pendiente hacer un programa en java con librerías para automatizar navegadores y hacer búsquedas avanzadas para obtener webs vulnerables a sql injection y en caso de serlo que me las guarde en un txt  ;D.

Las blind es cuando no te queda mas remedio que usarlas, yo lo que entiendo de las que se basan en retardos de tiempo es que si pones una función para que espere x segundos y se cumple es que esta ejecutando la sentencia introducida pero también tienes que tener en cuenta tu conexión y es difícil dominar esa técnica.

Pues un foro que tenga XSS puedes armar el caos y si se te da bien la ingenieria social ni te cuento. Yo hace poco encontré algo curioso en una pagina y es que por ejemplo la url es así 'www.ejemplo/index.php?mensaje=hola'. Si cambias el parámetro GET por '?mensaje[]=hola' en la pagina te sale 'Array' tal cual, como interpretando código php pero no salta ningún Warning.

Lo de poliglotas no lo había oído nunca xD, tengo que informarme sobre eso.

También hace poco me metí en una pagina de bug bounty para ponerme a prueba pero con los WAF la cosa se complica.
20  Programación / Bases de Datos / Re: Libros o recursos para aprender sobre las distitnas versiones de SQL y otras BD? en: 27 Noviembre 2019, 23:21 pm
En total tiene unas 324 páginas pero el capitulo dedicado a sql injection consta de 80 sin contar que tambien cuenta con un capitulo de 20 paginas para evadir tecnicas de WAF.
Si lo que buscas es aprender las bases de sql injection y otros ataques comunes como XSS,File Inclusion, Session Fixation, Command Injection y algunas cosillas con HTML5 como WEBSOCKETS para escanear puertos, redes y WEBWORKERS para crackear hashes o crear Botnets te podria ser util.

Respecto a sql cogerás la soltura necesaria para conseguir explotar cualquier pagina vulnerable y extraer datos sustanciosos. La verdad es que el primer día que empece a leer el capitulo de sql injection probé en una pagina de mi entorno a introducir las comillas con sentencias SQL y el libro me guio bastante para extraer información valiosa. Por supuesto reporte el fallo, de hecho fui en persona y se lo demostré detalladamente pero a día de hoy no lo han corregido, aunque es una historia que tiene tela y es la primera vez que reporto algo.

De todos modos si no te acaba de convencer algo preguntame que tengo el libro a mano.
Páginas: 1 [2] 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines