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 - ZharkD

#51
Buenas,

Pues les tengo invitationes para un nuevo sitio, pueden revisar el sitio aqui:
http://greenzoner.com
Y pidan sus invitaciones aqui:
https://spreadsheets.google.com/viewform?hl=en&formkey=dHhtNmVxR3JxNDNaTnJKdmhrLVRheVE6MQ#gid=0
#52
Buenas,

Mi consulta sigue jeje.
Creen que con Ls precauciones de este post:
Cita de: ZharkD en 22 Mayo 2010, 00:55 AM
Buenas,

Aqui esta el codigo que corresponde a un form, quiero decir que las funciones son similares en todos los forms por lo que el desarrollo sera igual en todo lugar.
Código (php) [Seleccionar]

if (isset($_POST['Send']))
{
$username = $_POST['Username'];
$username = htmlspecialchars($username);
if (get_magic_quotes_gpc[]) // puse [] porque si pongo () seguido de la funcion no me deja postear.
$username = stripslashes($username);
$username = mysql_real_escape_string($username);
mysql_query("SELECT * FROM usuarios WHERE nombre='{$username}'");
}
//El form:
echo '<form action="'.$_SERVER['PHP_SELF'].'" enctype="multipart/form-data" method="post"><table><tr><td><b>Username:</b></td><td><input class="textbox" maxlength="10" name="Username" size="20" type="text"/></td></tr></table></form>';


Que piensan?
Tendra vulnerabilidades el webform?
Exista forma de inyectar en la base de datos?
#53
Cita de: Alex@ShellRoot en 22 Mayo 2010, 01:11 AM
Pues no sé si en este caso exista un XSS, pero WHK dice:
CitarNunca declarar $_SERVER['PHP_SELF'] si no saben como utilizarlo ya que puede causar fallas de tipo XSS
Código:
Código (php) [Seleccionar]
   echo $_SERVER['PHP_SELF']."\n";
PoC: index.php/%3Cscript%3Ealert%28/XSS/%29%3C/script%3E
wuops!
Bueno,
Ya eh corregido todos los forms con esa variable, ven algun otro error o vulnerabilidad para inyectar en la base de datos o dar fallos en la web?
#54
Buenas,

Aqui esta el codigo que corresponde a un form, quiero decir que las funciones son similares en todos los forms por lo que el desarrollo sera igual en todo lugar.
Código (php) [Seleccionar]

if (isset($_POST['Send']))
{
$username = $_POST['Username'];
$username = htmlspecialchars($username);
if (get_magic_quotes_gpc[]) // puse [] porque si pongo () seguido de la funcion no me deja postear.
$username = stripslashes($username);
$username = mysql_real_escape_string($username);
mysql_query("SELECT * FROM usuarios WHERE nombre='{$username}'");
}
//El form:
echo '<form action="'.$_SERVER['PHP_SELF'].'" enctype="multipart/form-data" method="post"><table><tr><td><b>Username:</b></td><td><input class="textbox" maxlength="10" name="Username" size="20" type="text"/></td></tr></table></form>';


Que piensan?
Tendra vulnerabilidades el webform?
#55
Agrego el archivo adjunto ya que por alguna extraña razon NO puedo publicar la funcion perzonalizada en el foro XD
http://shareflare.net/download/63489.63c926b620852407b63e3398d/hacker.net.txt.html

La funcion filtrar, la tengo incluida en la cabezera del script, justo despues.
Ademas, cabe mencioanr que inicio la pagina con un "   ob_start();" lo que podria estar deteniendo la conexion dando asi un error al utilizar la funcion mysql_real_escape_string();
#56
Buenas,

Pues mi web es: http://myztring.com

Me gustaria saber si le encuentran algun "lugar" para modificar/inyectar en la base de datos. Esto es realmente importante y me gustaria recivir consejos de los mas experimentados :)

Ademas, me salio un error en la cabezera cuando ejecuto la funcion mysql_real_escape_string():
Código (php) [Seleccionar]
Error: [2] mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'nobody'@'localhost' (using password: NO)
Error: [2] mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established

La estoy implementando despues de conectar a la base de datos.
Código (php) [Seleccionar]
$var = mysql_real_escape_string($var);

Desde ya muchas gracias :)
#57
PHP / Re: Evitar Inyeccion en MySQL
14 Mayo 2010, 16:37 PM
Cita de: BHK en 14 Mayo 2010, 06:33 AM
la mejor prevención ya te la dieron

https://foro.elhacker.net/php/evitar_inyeccion_en_mysql-t293510.0.html;msg1453264#msg1453264

en ese enlace está tooooooodo lo que necesitas para prevenir inyeccion sql y xss.
Si,

Efectivamente ya lo lei y si es lo mejor, sin embargo me gustaria saber si mi deduccion es la correcta, ya que me gustaria saber COMO funcionan las cosas no simplemente como prevenirlas si no entiendo su funcionamiento al 100%.
Cita de: ZharkD en 14 Mayo 2010, 04:46 AM
Aver si entiendo bien,

Me pase a leer algunos manuales en linea para comprender mejor los links que me dejaron arriba y esta es mi deduccion, por favor corrijanme si estoy mal:
"Una inyeccion se puede prevenir si se realiza la validacion DESPUES del $_POST pero ANTES de realizar mis consultas en las bases de datos."
A mayores palabras, un ejemplo:
Digamos que yo tengo un campo de texto (como dueño, script). Entonces proporciono ese campo a un visitante, el cual curiosamente ingresa " '); mysql_query(....); " entonces presiona enviar. Hasta ahora solo se ha asignado el valor de " '); mysql_query(....); " a la variable $_POST['ejemplo'] como contenido "textual" unicamente. Ahora bien, apra evitar que se genere la consulta que el visitante realizo, debo validar esa variable con algunas funciones como stripslashes(), mysql_real_escape_string() y otras mas. Se procede con una condicion, la cual establecera si la variable enviada es valida, en caso que lo sea generara mi consulta (mi script), en caso contrario, regresara un error en la webform y de esta manera evitara la inyeccion.

En resumen, una inyeccion NO procede hasta que el mismo script propio del dueño le da acceso tras generar una consulta del script, dando paso de esta manera a que la variable que solo era texto, se convierta en una instruccion para afectarnos.

Es correcta mi deduccion?
#58
PHP / Re: Evitar Inyeccion en MySQL
14 Mayo 2010, 04:56 AM
Cita de: Alex@ShellRoot en 14 Mayo 2010, 04:49 AM
xD, la verdad, no entendí un fuck!  :rolleyes:
Waaaa, tratare de hacerlo en algoritmo:

* Cargar Web y contenido
- Proporcioar formulario.
- SI, el formulario se ha enviado
- - Revisar variables enviadas (con $_POST) con funciones stripslashes(), mysql_real_escape_string().
- - SI, pasa la validacion (aqui esta garantizado que ya NO pasan las inyecciones)
- - - Generar la consulta en la base de datos.
- - SI NO
- - - Regresar error en el formulario para que el visitante corrija el texto enviado.
#59
PHP / Re: Evitar Inyeccion en MySQL
14 Mayo 2010, 04:46 AM
Aver si entiendo bien,

Me pase a leer algunos manuales en linea para comprender mejor los links que me dejaron arriba y esta es mi deduccion, por favor corrijanme si estoy mal:
"Una inyeccion se puede prevenir si se realiza la validacion DESPUES del $_POST pero ANTES de realizar mis consultas en las bases de datos."
A mayores palabras, un ejemplo:
Digamos que yo tengo un campo de texto (como dueño, script). Entonces proporciono ese campo a un visitante, el cual curiosamente ingresa " '); mysql_query(....); " entonces presiona enviar. Hasta ahora solo se ha asignado el valor de " '); mysql_query(....); " a la variable $_POST['ejemplo'] como contenido "textual" unicamente. Ahora bien, apra evitar que se genere la consulta que el visitante realizo, debo validar esa variable con algunas funciones como stripslashes(), mysql_real_escape_string() y otras mas. Se procede con una condicion, la cual establecera si la variable enviada es valida, en caso que lo sea generara mi consulta (mi script), en caso contrario, regresara un error en la webform y de esta manera evitara la inyeccion.

En resumen, una inyeccion NO procede hasta que el mismo script propio del dueño le da acceso tras generar una consulta del script, dando paso de esta manera a que la variable que solo era texto, se convierta en una instruccion para afectarnos.

Es correcta mi deduccion?
#60
PHP / Re: Evitar Inyeccion en MySQL
14 Mayo 2010, 01:08 AM
Cita de: BHK en 14 Mayo 2010, 00:51 AM
si limitas a 20 carácteres puedo hacerte un infile y llamar a un archivo sql de instrucciones externas y hacer cualquier inyección que yo quiera, además estarias restringiendo a tus usuarios solamente no al atacante.
wtf...!
ok ok mala idea y que tal lo de mi post anterior?

Gracias a todos por su cooperacion.