Autor
|
Tema: Código PHP AntiXSS (Leído 27,502 veces)
|
Azielito
no es
Colaborador
Desconectado
Mensajes: 9.188
>.<
|
Yo tengo una funcion, y no se si aplicando esta ya estoy libre de XSS y RFI y esas cosas xD # Funcion para limpiar caracte- # res que pudieran comprometer # al servidor y/o al usuario # By: Azielito function limpia($var){ //$var = strip_tags($var); $malo = array("\\","\'","'","%",";",":","&","#"); // Aqui poner caracteres no permitidos while($i<=$o){ $i++; } return $var; } # Funcion que aplica la funcion anterior # para no tener que preocuparnos por # ataques de XSS o SQLi function LimpiarTodo($datos){ }else{ die("<span class=\"error\">La funcion <b>LimpiarTodo</b> debe contener un arreglo.</span>"); } return $datos; } // Solo limpio get y post, tambien podes limpiar las $_COOKIE, $_SESSION, $_REQUES y todas esas if($_POST){ $_POST =& LimpiarTodo($_POST); } if($_GET){ $_GET =& LimpiarTodo($_GET); }
Pos eso, se podria saltar esta 'preotccion' ?
|
|
|
En línea
|
|
|
|
yeikos
Desconectado
Mensajes: 1.424
|
Sí, pero así no vamos a avanzar nunca, creando funciones que ya existe y cometiendo los mismos errores una y otra vez... esperad, tengo una idea... function fncEcho($str) { echo $str; }
|
|
« Última modificación: 1 Agosto 2007, 19:38 pm por yeikos »
|
En línea
|
|
|
|
Crack_X
Anti-War
Ex-Staff
Desconectado
Mensajes: 2.322
Peace & Love
|
Azielito tu funcion hace casi lo mismo que la primera que publicaron a excepcion que no limpias "<" ni ">" ni un ". Quieren evitar un sql injection? Codifiquen todo en base64 y luego introduscanlo xD
|
|
|
En línea
|
|
|
|
sirdarckcat
Aspirante a supervillano
Colaborador
Desconectado
Mensajes: 7.029
No estoy loco, soy mentalmente divergente
|
Azielito tu funcion hace casi lo mismo que la primera que publicaron a excepcion que no limpias "<" ni ">" ni un ". Quieren evitar un sql injection? Codifiquen todo en base64 y luego introduscanlo xD
nahhhhhhhhhhhh eso tenia pensado hacer en warzone y no se entendia nada desde el phpmyadmin.. (aunque a estas alturas, igual no se entiende nada xD, pero las pruebas, rangos, y esas cosas aveces si hay que modificarlas desde ahi.. me da flojera mejorar el panel xD)
|
|
|
En línea
|
|
|
|
19.5
Desconectado
Mensajes: 67
|
Sí, pero así no vamos a avanzar nunca, creando funciones que ya existe y cometiendo los mismos errores una y otra vez... esperad, tengo una idea... function fncEcho($str) { echo $str; } eeeeh.. pero el echo no libra de un XSS Además no existen funciones ya creadas para todas las codificaciones existentes. Uuuhm... quisas el talón de aquiles no esta en bypassear el filtro de la función sino en "saltarse" la función misma... Puede ser, si existe algún bug relacionado con el núcleo de PHP. Es una idea que me surgio ahora...
|
|
|
En línea
|
|
|
|
yeikos
Desconectado
Mensajes: 1.424
|
Parece que mi ironía fue difícil de captar... Lo que realmente quería decir es que os dedicáis a reinventar lo inventado, o lo que es lo mismo, malgastar el tiempo... Además no existen funciones ya creadas para todas las codificaciones existentes.
htmlentities() soporta ISO-8859-1, ISO-8859-15, UTF-8, cp866, cp1251, cp1252, KOI8-R, BIG5, GB2312, BIG5-HKSCS, Shift_JIS, EUC-JP, que más quieres, ¿braile? quisas el talón de aquiles no esta en bypassear el filtro de la función sino en "saltarse" la función misma... Puede ser, si existe algún bug relacionado con el núcleo de PHP
Aquí no hay talón de aquiles, tan solo hay que concienciar al programador para que haga su trabajo correctamente, desprendiéndose de estos malos hábitos de crear funciones para corregir nuestros propios errores. No se como te atreves a decir que el problema de los ataques XSS reside en el interior del núcleo de PHP...
|
|
« Última modificación: 2 Agosto 2007, 16:59 pm por yeikos »
|
En línea
|
|
|
|
Azielito
no es
Colaborador
Desconectado
Mensajes: 9.188
>.<
|
Pero, cuando necesitas recuperar mas de 20 campos? xD y quieres que algunos caracteres puedan pasar pero otros no? [...]
es algo dificil de explicar >_<
|
|
|
En línea
|
|
|
|
19.5
Desconectado
Mensajes: 67
|
Parece que mi ironía fue difícil de captar... Lo que realmente quería decir es que os dedicáis a reinventar lo inventado, o lo que es lo mismo, malgastar el tiempo... Además no existen funciones ya creadas para todas las codificaciones existentes.
htmlentities() soporta ISO-8859-1, ISO-8859-15, UTF-8, cp866, cp1251, cp1252, KOI8-R, BIG5, GB2312, BIG5-HKSCS, Shift_JIS, EUC-JP, que más quieres, ¿braile? quisas el talón de aquiles no esta en bypassear el filtro de la función sino en "saltarse" la función misma... Puede ser, si existe algún bug relacionado con el núcleo de PHP
Aquí no hay talón de aquiles, tan solo hay que concienciar al programador para que haga su trabajo correctamente, desprendiéndose de estos malos hábitos de crear funciones para corregir nuestros propios errores. No se como te atreves a decir que el problema de los ataques XSS reside en el interior del núcleo de PHP... Es cierto que los hábitos de programación se tienen que corregir. Pero aún así SIEMPRE habrán errores internos de la misma programación del lenguaje. Y sabes por qué? Porque fue creado por humanos... No faltará el investigador que sea capáz de saltar htmlentities, por eso existe la necesidad de crear funciones propias para asegurarse en lo propio y no en lo ajeno. Salu2!
|
|
|
En línea
|
|
|
|
yeikos
Desconectado
Mensajes: 1.424
|
Los fallos de los que tu hablas causan el desbordamiento del buffer, y si nos ponemos así pues creamos nuestro propio lenguaje por que lo que veo tienes miedo a usar las funciones nativas que trae PHP...
|
|
|
En línea
|
|
|
|
19.5
Desconectado
Mensajes: 67
|
Miedo? Quién hablo de miedo? Bueno... esto se esta yendo para otro lado... Yo creo que siempre es mejor asegurarse de lo propio. Por eso mi interes en hacer una función propia y, ademas analizar el código de aquella ya publicada. Repito, propongo estudiar la función anterior por si hubiera alguna falla. Y para las/los osadas/dos publicar alguna función que pretenda superar aquella. O la que publique en un principio Aveces las cosas mas complejas son las que traen mayores problemas...
|
|
|
En línea
|
|
|
|
|
|