Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - elshotta

#1
Hola,
pues en mi pensamiento se debería separar la vida personal de la laboral, no se debería pedirle a una persona que trabaje con su propio PC, nadie puede asegurar que no tiene virus en su pc, como es practicamente imposible que una persona normal con un windows no tenga o haya descargado un programa crackeado que posiblemente tenga regalo.
Si una persona usa su propio pc para trabajar se vuelve un blanco aún mas fácil para ataques de ingenieria social, el atacante puede usar linkedin para escoger los buenos objetivos de las empresas.
Bueno esa es mi forma de pensar cuando se habla de este tema
saludos a todos
#2
Hola a todos,
Hace unos meses hicimos un proyecto para certificarnos en el instituto, pero aunque sabía de esta vulnerabilidad, no la lograba entender bien, hasta hace poco que estaba realizando los wargames de hackthissite que investigué a fondo para pasar un reto.
Entonces el post lo haré con el proyecto que hice para el instituto.
Bueno, primero se debe buscar una pantalla que cargué información via método GET (URL)

Para saber si es vulnerable a SQLI ponemos una ' al final y si arroja un error significa que si es vulnerable

También en vez de la ' se puede poner AND 1 = 0 (si no carga registros es porque es vulnerable)

Ahora necesitamos saber cuántas columnas tiene la consulta que usa esa tabla.
Para eso vamos a usar un ORDER BY por rangos, osea primero vamos a poner ORDER BY 5, si nos muestra datos pues aumentamos el rango a 10 y así de 5 en 5.

Bueno algo que no he mencionado es que algo así va la consulta que se le envía a la base de datos
SELECT * FROM historial_caddie WHERE id_usurario = 199 ORDER BY 5 ORDER BY fecha ASC;
Como se ve hay dos ORDER BY (el rojo es el que se está insertando en la url), para resolver este problema vamos a poner –- que significa comentario en SQL, y comentara todo lo que le siga después de nuestro ORDER BY insertado en la URL

Entonces ya nos muestra nuevamente la pantalla, ahora seguimos con los rangos
ORDER BY 5-> Sigue mostrando datos
ORDER BY 10-> Sigue mostrando datos
ORDER BY 15 -> Sigue mostrando datos

ORDER BY 20 -> Muestra un error
SQLSTATE[42S22]: Column not found: 1054 Unknown column '20' in 'order clause'
El error puede variar según el tipo de conexión (en mi caso usamos php PDO, pero si usa mysqli sale uno diferente, pero pues siempre dirá algo acerca de las columnas)
Ahora sabemos que el número de columnas que trae la consulta está entre 15 y 20, entonces empezamos a disminuir el número hasta que nos vuelva a mostrar la página sin errores
ORDER BY 19 -> Sigue mostrando el error
ORDER BY 18 -> Sigue mostrando el error

ORDER BY 17 -> Muestra la página nuevamente
Lo siguiente que debemos hacer es usar la sentencia UNION,  lo que permitirá hacer otra consulta dentro de la primera consulta, osea UNION SELECT......
Lo que haremos es poner UNION SELECT y los números consecutivos de las columnas que tiene la base de datos

Pero ahora no me gusta que traiga la información que carga la consulta original, para quitarla vamos a negar la consulta, simplemente poniéndole un - antes del id_usuario

Ahora, los números que muestra la tabla son los que debemos modificar en la url para que traiga datos.
Podemos sacar la versión, reemplazando un número que se muestre por version(), para sacar el nombre de la base de datos reemplazamos un número por database()

Hasta ahora todo bien, lo que sigue es saber los nombres y la cantidad de tablas que hay en la base de datos, para eso reemplazamos un número (por ejemplo el mismo 3) y ponemos TABLE_NAME, al final de la consulta (antes de los --) digitamos FROM information_schema.tables WHERE table_schema = database()

Bueno, para los que no sepan, mysql tiene una base de datos llamada information_schema donde se guardan todas las tablas de todas las bases de datos existentes, podemos quitar el where y traerá todas las tablas existentes, pero lo que nos interesa es solo los de la base de datos que usa este programa.
Noto que hay una tabla llamada rol y una llamada usuarios, entonces reemplazo donde dice TABLE_NAME por COLUMN_NAME y en el information_schema.tables también cambio por information_schema.columns además en el WHERE se debe agregar un AND TABLE_NAME = 'usuarios' ( o la tabla que se quiera consultar)
/sicagolf_php/?controller=master&method=verHistorial&id_usuario=-223 UNION SELECT 1,2,COLUMN_NAME,4,5,6,7,8,9,10,11,12,13,14,15,16,17 FROM information_schema.columns WHERE table_schema = database() AND TABLE_NAME = 'usuarios'—

Después de identificar las columnas de acceso como son correo, password, id_rol se procede a hacer lo siguiente:
1.   Reemplazar los números 3,4,5 (o los que querramos, depende de cada página y cada consulta) por los nombres de la columna
2.   Quitar el todo el WHERE y solo dejar FROM usuarios (porque ya sabemos las columnas de la tabla y no necesitamos el information_schema mas)

Ya se listan los datos de correo y password (cifrados claramente), lo que se necesita saber es cuál es el admin, porque no valdría la pena gastar tiempo decifrando un password y que resulte siendo un usuario sin los privilegios que se desean.
Antes se vio que hay una tabla llamda rol si la consultamos en el information_schema, se nota que tiene dos columnas id_rol y rol donde rol es el nombre del rol.
Esto indica que las tablas están relacionadas, por lo que se procede a hacer un INNER JOIN para saber el rol de los usuarios listados.
Se pone FROM usuarios u INNER JOIN rol r ON No tienes permitido ver los links. Registrarse o Entrar a mi cuenta_rol = No tienes permitido ver los links. Registrarse o Entrar a mi cuenta_rol al final de la url (antes del --) y se cambia el número 5 por rol
No voy a explicar sobre INNER JOIN porque se sale del tema del post.

Y bueno, el rol con más privilegios es el Master por la lógica, así que esa es la clave que debemos descifrar, ya esa parte iría en cada quién, como y con que herramienta decifre password, yo la verdad intenté con John The Ripper, pero no se usarlo bien ajajajaajj.
Una cosa más, en mozilla permite el ingreso de espacios en la url, pero en google chrome pone un %20, lo que se debe hacer es reemplazar los espacios por un + para que no se vea tan feo.
Hasta acá llega el Post, espero que les haya gustado.
#3
Sinceramente este POST la primera vez que lo vi quedé alucinado.
Y cuando lo empecé a implementar mucho mas, es genial, de los mejores POST de esté foro.
#4
QA (Quality Assurance) / Re: ¡Feliz día del QA Tester!
Septiembre 09, 2021, 05:20:30 PM
Feliz día!
a reportar muchos bug jajaja
#5
Seguridad web y en servidores / Re: XSS por POST
Agosto 19, 2021, 01:34:44 PM
muy bueno,
pero entonces lo que quieres decir es que por el formulario normal no se puede poner el xss?
solo es capturando el valor con el tamperdata?
#6
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Yo creo que tiene sus pros y sus contras.
Como pro del home office, es que si entra un ransomware no se propagará por la red a la pc de tus compañeros.
De todas formas, algunas empresas te envían la PC a tu casa y se supone que vienen securizadas.

Saludos,
ANTRAX
Pues una de las cosas que me refería es cuando la empresa te dice "tienes pc para trabajar?"
hay varios que usan sus propios pc, lo que los llevaría a ser objetivos de cibercriminales, ya que para obtener el código de x programa pues solo tienen que infectar a la persona con un poco de ingenieria social, si se usa el pc de la empresa pues ya complica un poco la cosa, si la persona tiene en cuenta que no debe abrir cosas extrañas en el pc de la empresa.
Gracias por comentar
#7
Hola a todos,
abro este debate para saber que piensan acerca del trabajar totalmente desde casa.
A mi me parece que puede ser bastante inseguro, ya que muchas empresas le preguntan a los trabajadores si pueden usar su propio pc para trabajar desde casa, sin saber si la persona tenga algún spyware o otro tipo de malware alojado.
Espero sus comentarios.. :D :D :D
#8
En la empresa donde trabajó, los tester primero prueban la GUI y lo funcional al final

  • TC: validar datos precargados
  • TC: validar datos obligatorios
  • TC: validar botones (1 escenario por botón)
  • TC: validar flujo alterno
  • TC: validar flujo normal
#9
Hacking ShowOff / Re: [XSS] eloccidental.com.mx
Agosto 10, 2021, 01:21:30 AM
genial!!
los xss siempre me han parecido muy curiosos ajaajaj
#10
buenas,
muy interesante tu post.
Gracias por compartir
#11
Esa si me ha funcionado, gracias!!
Ya puedes dar por solucionado la pregunta
Gracias  ;D :D
#12
Gracias por responder,
no es una tarea de la clase de base de datos osea tengo que hacerla en mysql :s
gracias
#13
Hola a todos,
lo que pasa es que estoy haciendo una aplicación de un sorteo y necesito tener un numero de ganadores X.
lo que hago es insertar los números de las personas que entran al sorteo según entran (1,2,3,4,...), y cuando es el momento de hacer el sorteo utilizo un update rand y me funciona bien, pero se me repiten los números osea aparecen varios ganadores con números repetidos puse un unique a la tabla pero da igual me tira error de numero duplicado, será que alguien en el foro sabrá como solucionar esto?
los códigos son
Código: mysql
CREATE PROCEDURE sorteo(IN turnos int(100)
UPDATE sorteo
SET turno = FLOOR(rand() * turnos) + 1


Gracias de antemano
#14
Hola a todos,
pues estaba haciendo un sistema y puse modales para editar y crear usuario (por el administrador).
El problema es que la solución que yo vi fue asignarles el id del modal con el id del usuario
Código: html5
<td><button data-toggle="modal" data-target="#editCaddie<?php echo $caddie->id_usuario ?>" class="btn btn-success">Editar</button></td>

y lo recibo así en el modal
Código: html5
<div class="modal fade" id="asignarCaddie<?php echo $caddie->id_usuario ?>" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">

así hice funcional el modal, pero el problema es que quiero validar los input con javascript, pero al asignarle un modal diferente a cada usuario y saber cada uno de ellos es imposible, me preguntaba si había alguna forma de saber los id de los modales para validar?
Llevo como 2 semanas intentando buscar una solución en internet (soy nuevo en programación)
Bueno gracias de antemano
#15
dice almenos indectable a windows ajajajaaj
yo te recomiendo que primero investigues un poco sobre como funcionan los RAT y los crypter, porque se nota que no sabes ni como funciona lo que quieres hacer
#16
con php es mas facil jajajaja
solo tomas los name con una variable  $_POST
#17
Hacking / Re:Fallas de seguridad en el codigo fuente
Julio 07, 2020, 01:11:10 AM
Si, creo que lo primero que se debe hacer es mirar el codigo fuente de una página para ver que información puede dar.
Muy bueno antrax
#18
Muchas gracias,
si es exactamente lo que estaba pidiendo, ya pueden dar por solucionado el post.
gracias
#19
Hola gracias por responder,
pues es que el profesor nos enseño a hacer un join y ponerlo en una vista pero yo necesito es tomar los datos y agregarlos a una tabla diferente pero al hacer el insert into no logro entender como debo poner los datos
Código: mysql
INSERT INTO solicitudes 
SELECT  C.nombre, C.apellido,  numero_caddie, categoria, CONCAT(J.nombre,'  ',J.apellido) "DATOS JUGADOR"
FROM caddies C
JOIN jugador J
ON C.Id_caddies=J.Id_jugador

Aca muestro la estructura de la tabla a la que quiero ingresar los datos tomados del join
Código: mysql
create table Solicitudes(   
    Id_solicitud int AUTO_INCREMENT primary key,
    Id_caddie int,
    nombre_caddie varchar(30),
    apellido_caddie varchar(30),
    numero_caddie int(3),
    categoria_caddie varchar(15),
    Id_jugador int,
   nombre_jugador varchar(30),
   apellido_jugador varchar(30),
    estado_caddie int(1),
    FOREIGN KEY (Id_caddie)REFERENCES Caddies(Id_caddies),
    FOREIGN KEY (Id_jugador) REFERENCES Jugador(Id_jugador)
   
   
    );
#20
Hola a todos,
estoy intentando hacer un join entre dos tablas pero quiero que esa información del join la inserte en otra tabla
¿es eso posible con mysql?
gracias