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 - ~ Yoya ~

#41
Back-end / Re:Anti CSRF
Mayo 02, 2013, 08:01:24 PM
El sistema tiene 2 vulnerabilidades.

Es posible obtener el token:
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Y es posible hacerle un bypass al sistema.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#42
Cuando dejes de perder tiempo enfocándote en comerte código y te enfoques en como hacer lo que deseas, encontraras la solución...

Es simple compañero, tendrás que utilizar Ajax y DHTML.

Creas 1 archivo que devuelva el usuario, proceso y ventas dependiendo del código que se le pase via GET/POST.

Luego, cuando el usuario inserte el código y haga click en ingresar, realizas una petición GET/POST utilizando Javascript al archivo que ya creaste , enviándole el código que introdujo el usuario, luego tomas el resultado y lo agregas dinamicamente al HTML actual (DHTML).

DHTML, Ajax  y PHP.

Saludos.
#43
Off Topic / Re:[UT] Partidas en Underc0de
Abril 20, 2013, 11:57:03 AM
Pues igual podriamos echar unas partidas de CS 1.6, lo que quieran :P. Este es mi steam You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Saludos.
#44
Lo que traras de hacer es Generar un PDF apartir de una plantilla...

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#45
Java / Re:Interfaz Grafica en Java [Tercera parte]
Marzo 26, 2013, 12:30:20 AM
No me había fijado en esa parte. Esta mal la definición, ya que una interfaz no es una clase, pero igual en ningún momento quizo referirce a una clase abstracta.

Saludos, espero que modifique esa definicion. Bien hecho rushmaar, pero la parte de los otros puntos, pienso que esta de mas.
#46
Java / Re:Interfaz Grafica en Java [Tercera parte]
Marzo 25, 2013, 01:52:33 PM
Pues en la interfaz se definen los metodos pero nose implementan. Como el ha dicho, no hay un error en eso.

Hablas de clases abstracta en tu correccion y en ningun momento se toca el tema de clase abstracta... No es una correccion lo que escribiste, son cosas que se pueden agregar al articulo principal o puntos a tener en cuenta.

Saludos.
#47
Java / Re:Interfaz Grafica en Java [Tercera parte]
Marzo 24, 2013, 01:39:36 AM
@rushmaar, lo que agregas no son correcciones hacia  este articulo, mas bien parece algunos puntos que se puede agregar al articulo. Ya que los puntos que escribiste no se encuentra en el articulo y si no estan nose puede corregir algo que no existe. Deberías modificar lo de la corrección, porque estas desvalorando el articulo que hizo Expermicid.

Saludos.
#48
Back-end / Re:evitar injeccion SQL
Febrero 12, 2013, 01:27:37 PM
Sorry por revivir este hilo pero me pareció interesante aportar en este hilo.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Sabeis que mysql_real_escape_string ha sido bypass-eado ?!

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Lo que muestra en el articulo es un bypass a la mala implementacion de la función mysql_real_escape_string(), eso no quiere decir que mysql_real_escape_string() contenga un bug que se pueda inyectar cualquier consulta SQL. Incluso en el articulo detalla eso, que el bypass esta en la mala implementacion de la función.

Alguien hace mucho tenia la misma duda.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Sobre lo del PDO y su vulnerabilidad a SQL inyección. No es lo mismo decir que no es vulnerable y entender porque no es vulnerable.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
PDO y MySQLimp tienen una buena manera para separar la petición con el parámetro que queremos enviar. De esta manera, si nosotros enviamos, i.e pass' OR 1=1 eso siempre será forzado COMO valor del parámetro, por lo que en teoría SELECT * FROM users WHERE pass = ? quedaría SELECT * FROM users WHERE pass = "pass' OR 1=1";.

Eso es muy correcto, hay esta la razón porque no suelen ser vulnerables las aplicación ya que en PDO se suelen tratar los datos de entradas para limpiarlos y en MYSQL muchas veces no se tratan los datos de entradas y por eso se dan las SQLI. Pero de igual manera, si no implementas correctamente tu source, un código que utilice PDO y no trate los datos de entradas, seria vulnerable a SQLI.

Saludos.
#49
Bugs y Exploits / Re:Vulnerabilidad en wordpress
Febrero 10, 2013, 01:52:37 AM
el archivo wp-config.php contiene los datos de la conexion mysql.

Con esos datos puedes conectarte remotamente al servidor mysql, cambiar la pass del admin y loguearte como administrador y luego subir shell. Luego restablece la pass antigua del admin, asi no se dara cuenta de que haya sucedido algo raro. Siempre y cuando el servidor mysql permita conexiones remota.

Saludos.
#50
$$ = /(\S+@\S+\.\S+)/ie

Entonce quedara así:
Código: php
$resultado= preg_replace($ss,"str_rot13('$1')", $correo);
$resultado= preg_replace("/(\S+@\S+\.\S+)/ie","str_rot13('$1')", $correo);

$i, hace referencia al paréntesis del patrón (el primer parámetro, la regex).

Saludos.
#51
No ocupes javascript, porque al final se puede ver el código y puede decifrar el texto.

Lo mejor que puedes ocupar es SSL.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#52
jejeje no pasa nada :P

Saludos.
#53
Bueno este tema era para dar respuesta a uno, pero pienso que es mejor crear un POST.

Este tema es simple de entender, y en este tema se aplica el concepto de abstraccion y aquí se puede ver la utilidad.

Bueno normalmente cuando se crea un sistema utilizando POO, siempre se piensa en crear una clase padre, esta clase padre es recomendable que sea abstracta, ya que la finalidad de esta clase es ser heredara y  implementar todos sus métodos abstractos.


Ahora aplicando ese concepto al ámbito de base de datos. Se tiene lo siguiente: En toda base de datos es necesario realizar una conexión, también se realiza sentencias SQL, se devuelve un resultado y se cierra la conexión. Eso es lo que tienen en común, MYSQL, PostgreSQL, etc... Todo lo que tienen en comun, en la clase padre, se debe declarar como metodos abstractos. Metodos porque realizan una accion y deben ser abstracto porque el procedimiento para la implementación es diferente, osea no utilizas la misma función para conectarte a un servidor MYSQl que para uno PostgreSQL.

Bueno, aqui el codigo, no lo he probado ni nada, es un Poc para que tengan una idea.

Código: php

abstract class BaseDeDatos {

abstract public function conectar($user, $pass, $db, $host);
abstract public function sql($sql);
abstract public function resultado();
abstract public function cerrarConexion();
}


MYSQL
Código: php

class Mysql extends BaseDeDatos {

public function  conectar($user, $pass, $db, $host) {

//Me conecto al servidor con el usuario y pass, y selecciono la base de datos, luego devuelvo el objeto para luego realizar consultas
//Codigo
//Codigo
//Codigo
}

public function sql($sql) {
//Codigo que realiza la consulta SQL, y guarda el resultado en una variable para su posterior uso
//Codigo
//Codigo
//Codigo
//Codigo
}

public function resultado() {
//Retorno el resultado de la consulta SQL
//Codigo
//Codigo
//Codigo
}

public function cerrarConexion(){
//Cierro la conexion que cree
//Code
//Code
//Code
}
}


PostgreSQL
Código: php

class PostgreSQL extends BaseDeDatos {

public function  conectar($user, $pass, $db, $host) {

//Me conecto al servidor con el usuario y pass, y selecciono la base de datos, luego devuelvo el objeto para luego realizar consultas
//Codigo
//Codigo
//Codigo
}

public function sql($sql) {
//Codigo que realiza la consulta SQL, y guarda el resultado en una variable para su posterior uso
//Codigo
//Codigo
//Codigo
//Codigo
}

public function resultado() {
//Retorno el resultado de la consulta SQL
//Codigo
//Codigo
//Codigo
}

public function cerrarConexion(){
//Cierro la conexion que cree
//Code
//Code
//Code
}
}


Espero que con eso se haya entendiendo el concepto. Y eso ya da cabida a poder implementar otros sistema de gestión de base de datos. Con eso se consigue tener algo mas generico, osea no importa con que base de datos estes trabajando, vas a utilizar todo de la misma manera.

Hay se aplica 5 muy importante puntos.

1 - Se crea un sistema escalable, osea que se puede implementar en un futuro otros sistema de base de datos, sin necesidad de agregar codigo ni modificar codigo de alguna clase ya existente.

2 - Se aplica el principio open-closed. Las clases deben estar abierta a extensiones, pero cerrada a modificaciones. Como lo ven, apartir de la clase BaseDeDatos, se crea una extencion para MySQL, PostgreSQL pero no hay necesidad de modificar la clase BaseDeDatos.

3 - Se aplica correctamente la herencia. You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login. Osea MySQL es una Base de datos, PostgreSQL es una base de datos. -- Mysql is a BaseDeDatos, PostgreSQL is a BaseDeDatos.

4 - Se aplica correctamente la abstraccion.

5 - Da cabida al polimorfismo

Saludos.
#54
Desde ahora te digo que programar en POO no es un estilo de programación, que tiene clase, métodos, atributos y eso. Que utilices clases, métodos y atributos no significa que estés haciendo buen uso de este. Las personas que ingresan a este mundo por esta vía (hacking y eso), suelen tener muchos desconocimiento sobre el propósito de las cosas.

Muchos no aplican encapsulamiento, abstraccion y polimorfismo (aunque todavía no es soportado por PHP), interfaces. Tampoco nadie aplica principios como You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login, You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login, You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login. Y mucho menos aplican patrones de diseños.

Aprender directamente un Framework no es ningún buen consejo, eso solo te limita como programador. Tampoco aconsejar que alguien aprenda directamente MVC, no es buena practica utilizar un patron de diseño sin saber si en verdad es necesario ocuparlo, es mucho mejor conocer varios y aplicar el que mejor se adapte. Muchas veces utilizan MVC y ni saben porque lo hacen, simplemente muchos lo usan y ellos igual lo usan.

Y sobre seguridad, pues es pura logica. Para encontrar vulnerabilidad hay 2 claves, los bug's están donde esta la interacción con el usuario, osea donde el sistema recibe información del usuario para luego poder realizar una acción. Por algo dicen que es imposible penetrar una web que este 100% en HTML, porque no hay interacción con el usuario. Luego de investigar como recibe el sistema la información del usuario y luego como maneja dicha información, toca pensar como podrías generar algo que desees apartir de eso.

Te recomiendo que leas sobre: XSS, CSRF, SQLI y eso. El problema esta en que muchos solo se basan en buscar las vulnerabilidades ya conocidas, pero si te basas en la lógica siempre, podrás creas diferentes nuevos metodos, y quien sabe si luego expone un metodo nuevo totalmente nuevo.

Saludos.
#55
Java / Re:[Java] SQLI Scanner 0.2
Enero 27, 2013, 04:46:22 PM
Nose si te habrás dado cuenta, pero para agregar alguna nueva funcionalidad tienes que modificar directamente el source. También viola muchos principios, por esa razón si alguien quiere hacer o añadir alguna funcionalidad o arreglar algo debe leerse todo el source entero.

Ese tipo de estilo de programación es muy antiguo y normalmente se usaba para hacer una tarea especifica, teniendo en cuenta que el source nunca va variar ni se le agregara alguna funcionalidad, osea que solo habrá una única versión. Aunque actualmente se sigue utilizando esa forma para creación de exploit, ya que los exploit se crean para explotar una especifica vulnerabilidad y luego de lanzarlo ya esta, no hay necesidad de lanzar otra versión del mismo exploit que siga exactamente los mismos pasos.

Y como dices, lo que tienes es un "programa" y tienes que tratar de utilizar muy buenas practicas de programación para así crear aplicaciones escalable.

Saludos.
#56
Java / Re:[Java] SQLI Scanner 0.2
Enero 23, 2013, 12:46:51 PM
La verdad que de Java lo único que tiene es la sintaxis, no usas el potencial que te ofrece....

Saludos.
#57
La pagina da la sensacion de pagina publicitaria, de esa que das click en cualquier enlace y te lleva a otro sitio.

Te recomiendo que mires algunos disenios para que hagas una idea de los disenios actuales, porque eso del titulo en movimiento esta como viejo :P

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Y esta pagina de tuts+ (todas son muy buenas)
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Saludos.
#58
Si no te funciono es porque el juego de caracteres que esta utilizando la web no es UTF-7.

Una forma de explotarlo correctamente, es buscar bug en la funcion htmlentities. Puedes buscarlo por la web, tomando en cuenta la version de PHP que esta corriendo en el servidor.

Por ejemplo, un bug en la función htmlspecialcharacters() .

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Lo mejor que puedes hacer es centrarte en buscar errores logicos.

Saludos.
#59
Presentaciones y cumpleaños / Re:uno mas
Enero 09, 2013, 07:01:25 PM
Bienvenido compañero, que la pases bien y aprendas mucho.

Saludos y éxitos.
#60
Dudas y pedidos generales / Re:Dudas Java Android
Enero 09, 2013, 03:04:26 PM
Es que no existe Java android. Y la respuesta es no. Mediante Java puedes construir app para android utilizando la API que este provee. A si que lo ideal es aprender primero Java y luego conocer lo demas es mucho mas facil.

Y si te refieres a window phone, pues tengo entendido que utiliza C#.

Saludos.