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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [28] 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 ... 446
271  Programación / Desarrollo Web / Re: [Pregunta]: ¿Como inyectar código SQL? en: 1 Noviembre 2019, 02:25 am
Pues para entender como inyectar cosas necesitas aprender primero sobre como usar las jeringas y su contenido, no todo se inyecta de la misma manera, en el mismo lugar o con el mismo contenido. Primero debes entender sobre consultas SQL y después podrás entender como hacer inyecciones de contenido SQL.

Por ejemplo:

Código:
SELECT
    P.id_post,
    P.id_user,
    U.id_user,
    U.avatar
FROM
    posts P
INNER JOIN users U ON P.id_user = U.id_user
WHERE
    P.title LIKE "%'.($search).'%"
ORDER BY
    P.id_post DESC

Una posible inyección sería:

Código:
qqqq" UNION SELECT * FROM (SELECT 1 AS id_post, 2 AS id_user, 3 AS id_user, @@version AS avatar) P WHERE 1 LIKE "1

De esta manera con qqqq invalidas el resultado arrojando cero items para que no haya problemas con la obtención de filas del union select, luego el union select con la cantidad de columnas exactas, el avatar será el texto de escapado de información, un subselect para representar P como tabla debido al order by y el primer resultado con el mismo nombre de la columna a ordenar y para finalizar una condicional cualquiera para unir las comillas de cierre usando like para prevenir errores con el "%".

Queda masomenos así:

Código:
SELECT
    P.id_post,
    P.id_user,
    U.id_user,
    U.avatar
FROM
    posts P
INNER JOIN users U ON P.id_user = U.id_user
WHERE
    P.title LIKE "%qqqq"
UNION
SELECT
    *
FROM (
    SELECT
        1 AS id_post,
        2 AS id_user,
        3 AS id_user,
        @@version AS avatar
) P
WHERE 1 LIKE "1%"
ORDER BY
    P.id_post DESC

De esta manera puedes crear la inyección sql sin que se produzca un error de sintaxis ni tampoco tener la necesidad de hacer una detención de consulta con comentarios de tipo "--" debido a que esto a veces falla si la consulta SQL utiliza múltiples líneas. Además representé cada valor con su columna correspondiente debido a que en algunas aplicaciones WEB los resultados se obtienen con el número de la columna obtenida como resultado de la consulta SQL pero en otros casos utilizan asociación y si no existe un resultado en su columna correspondiente te puede dar problemas, no siempre resultan las uniones de la manera tradicional, por eso es que prefiero ser estricto con las inyecciones.

Todo dependerá que quieras hacer o que quieras lograr, el servidor de bases de datos atenderá tus consultas, lo que quieras hacer con el es otro tema.

Dale un vistazo por acá:

https://foro.elhacker.net/tutoriales_documentacion/tutorial_de_inyeccion_sql_sql_injection-t98448.0.html
https://foro.elhacker.net/hacking_linuxunix/tutorial_de_inyeccion_sql_para_principiantes-t414525.0.html
https://foro.elhacker.net/nivel_web/temas_mas_destacados_fallas_y_explotaciones_a_nivel_web_actualizado_31510-t244090.0.html
https://www.php.net/manual/es/mysqli-result.fetch-assoc.php

Saludos.
272  Programación / Java / Re: anotaciones en persistencia de objetos con jpa y hibernate en: 25 Octubre 2019, 19:06 pm
Asi es, internamente las clases usan templates, esos templates definen anotaciones, algo asi como parámetros opcionales que se inyectan a un objeto, eso es propio de Java, especialmente en Spring Boot, es un tema independiente a JPA. Yo los uso para crear anotaciones personalizadas para el control de accesos a ciertos controladores, por ejemplo un @authenticatedRequired sobre la clase del controlador, de esa manera el control de sesiones se puede abarcar de manera transversal para todas las llamadas desde un solo punto e interrumpir cada función o constructor.

https://www.baeldung.com/java-custom-annotation

Saludos.
273  Programación / Java / Re: Recomendacion de persistencia de objetos en JPA en: 24 Octubre 2019, 23:02 pm
Sitio web oficial de spring y a SpringGurú xD

https://www.youtube.com/channel/UCrXb8NaMPQCQkT8yMP_hSkw

Saludos.
274  Programación / Java / Re: anotaciones en persistencia de objetos con jpa y hibernate en: 24 Octubre 2019, 22:57 pm
Pues Spring JPA e hibernate lo que hace es crear una capa de datos inferior a tu proyecto encargado de comunicarse con tu db final, una de las grandes ventajas es que jamas haces consultas sql sino que utilizas anotaciones de sql estandar y manipulas objetos a modo de DTO, esto permite que puedas cambiar de driver facilmente sin tener que hacer cambios en tu aplicación, por ejemplo, puedes migrar de mysql a oracle, postgre, sql server, etc. A demás de esto crea un almacen en memoria para optimizar la carga de las consultas SQL entre muchas otras ventajas.

Las anotaciones ManyToOne indican la relación que tendrán dos tablas de muchos a uno, eso quiere decir que se creará una columna adicional con el id de la fila, por eso se declara en @JoinColumn.

Es posible crear joins manualmente pero debes utilizar una sintaxis especial que es única de spring: https://www.baeldung.com/spring-data-jpa-query , donde haces consultas a objetos de tu proyecto en ves de tablas y columnas.

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#reference

El que sabe mucho mas que yo de este tema es Octalh, lo podrás encontrar en el grupo de telegram de elhacker.net

Saludos.
275  Foros Generales / Noticias / Re: IBM se mofa de Google en: 24 Octubre 2019, 22:37 pm
IBM? los mismos que crearon el sistema de inteligencia artificial de watson que es considerado todo un nefasto desastre en integraciones con servicios de atención al cliente?, los mismos que fueron acusados de tener a una persona jugando ajedrez dentro de la caja de deep blue?, creo que a IBM se le subió el humo a la cabeza, una cosa es ser realista y otra totalmente distinta es hacer las cosas bien y como corresponde con resultados reales y en eso Google tiene mucha mas experiencia.
276  Foros Generales / Dudas Generales / Re: Recuperar texto de web borrada en: 24 Octubre 2019, 21:21 pm
Lo que pides es algo muy dificil. Has visto el caché de bing, duckduck y similares?
277  Informática / Software / Re: Acaba de liberarse la versión 2.6.3 de Darktable, un editor fotográfico Open Sou en: 24 Octubre 2019, 19:24 pm
Nopues, para los wintenderos usen photoshop xD
278  Programación / Desarrollo Web / Re: [Pregunta]: ¿Anti-XSS y Anti-Inject? en: 23 Octubre 2019, 05:18 am
Pues ahi tienes un problema ya que estas escapando o limpiando la contraseña y luego creando el hash, eso quiere decir que el hash equivale a la contraseña limpiada y eso puede provocar problemas al momento de intentar acceder después.

Saludos.
279  Programación / Desarrollo Web / Re: [Pregunta]: ¿Anti-XSS y Anti-Inject? en: 23 Octubre 2019, 02:47 am
Hola, si en parte, porque usas stripslashes? antiguamente php lo necesitaba pero eso ya no se hace, las versiones de php 5 en adelante ya no agregan los backslashes en los parámetros.

Ojo, usa el trim en cada situación, no de manera genérica, por ejemplo si usas trim para guardar el valor binario del hash de una contraseña puede que elimine algunos bytes.

Mejor usa cada función de manera directa en cada caso en ves de crear una función que retorna otra función, así te acostumbras a utilizar las funciones nativas de php.

Si vas a usar php puedes probar codeigniter y active record, de esa manera no necesitarás crear las consultas sql de manera manual y tu aplicación será compatible con distintos tipos de bases de datos.

Saludos.
280  Programación / Desarrollo Web / Re: [Pregunta]: ¿Anti-XSS y Anti-Inject? en: 23 Octubre 2019, 00:06 am
Hola, muchas personas cometen el mismo error, tu función tiene vulnerabilidades.

Las inyecciones SQL se previenen escapando los caracteres cuando son ejecutadas las consultas sql, los xss se previenen utilizando htmlentities, pero cuando unes ambas cosas, por ejemplo, un filtro de inyección sql para evitar un xss o un filtro de xss para evitar una inyección sql abre agujeros de seguridad porque las funciones no están diseñadas para eso.

Debes utilizar cada función de filtro en su caso en particular. Cuando vayas a consultar vía SQL debes escapar caracteres con mysql_real_escape_string() o parametrizar, cuando vayas a exponer información hacia afuera en una pagina html debes usar htmlepecialchars(), si vas a escapar en una dirección url debes usar urlencode() y así.

Saludos.
Páginas: 1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [28] 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 ... 446
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines