Autor
|
Tema: Seguridad contra ataques de XSS (Leído 10,194 veces)
|
GenR_18
Desconectado
Mensajes: 115
|
Si utiliza un hosting compartido, no puede actualizar su php...
Saludos
Por eso comenté que lo actualizara (si es que puede), PHP4 tiene algunas vulnerabilidades, no sirve de nada tener el código seguro si la versión es vulnerable...
|
|
|
En línea
|
|
|
|
Yaldabaot
Desconectado
Mensajes: 186
|
Hubo un error de interpretación y estamos usando acá PHP 5.3 con MYSQL 5.
He usado este tipo de filtrado:
filter_var($buscar, FILTER_SANITIZE_STRING,FILTER_SANITIZE_SPECIAL_CHARS);
$tags = htmlentities($tags,ENT_QUOTES,"UTF-8");
Junto el mencionado que puse arriba y otro método que agregan strips.
Agregué un replace con algunos caracteres: $tags = str_replace('=','',$tags);
El test me dice que no tengo vulnerabilidades pero se cae el test xD.
|
|
|
En línea
|
Nunca me contestan -_-
|
|
|
Tersk
Desconectado
Mensajes: 3
|
Hola! yo ando como tú algo "perdido" con el tema de la seguridad de inyecciones y XSS. Lo que comentan los compañeros o en el ejemplo que veo que has puesto lo que veo es que se pierde información. Imagenemos que un usuario necesita poner un "<h1>" o un "=" en el campo que vayas a emplear eso... mediante el replace lo eliminas, y mediante los filtros tambien eliminas según que caracteres.
No sé, no lo veo una solucón eficaz capar así una web en caso de ocurrir eso. Debe haber algo que no sea eliminar las ",',= etc etc de nuestra vida, no sé XD
Yo abrí no hace mucho un post al respecto con poco resultado, a mi lo que se me ocurre es que al usar las prepared statement nos aseguramos unas querys seguras en la bd... por lo que ahora el problema radica en mostrar esos datos desde la bd... y mediante un htmlspecialchars ó un htmlentities debería bastar para evitar los XSS ¿no? :S.
|
|
|
En línea
|
|
|
|
Yaldabaot
Desconectado
Mensajes: 186
|
Hola Tersk, en mi caso no es necesario que los usuarios pongan tags, ";", "/" o "=", dado que estos caracteres no son necesarios con el tipo de información que manejo. Simplemente es un buscador de un cierto tipo de información.
Por ende esos caracteres "están de más", al final de cuentas use los replace, htmlentities,ENT_QUOTES, un método para eliminar los "magic_quotes" y espace_real_strings, con respecto a las inyecciones ya habían hecho un testing de lo mismo y estamos bien, únicamente fallamos con XSS.
Nunca está de más usar medidas, no sabes con que tipos de usuarios te topes en la red, yo trato al menos de ser cauteloso, pero se que será fácil romper con la seguridad, puesto que soy un novato en esto, pero al menos haré un poco difícil la tarea. He testeado y los caracteres "no se escapan", espero que sirva.
|
|
|
En línea
|
Nunca me contestan -_-
|
|
|
GenR_18
Desconectado
Mensajes: 115
|
No hay necesidad de "eliminar las comillas de nuestras vidas", simplemente vamos a escaparlas , busca bien en la documentación de php.net lo que hacen las funciones htmlentities y htmlspecialchars, no es sólo usarlas y ya, ahi que saber cómo funcionan...
Salu2!!
|
|
|
En línea
|
|
|
|
Yaldabaot
Desconectado
Mensajes: 186
|
No hay necesidad de "eliminar las comillas de nuestras vidas", simplemente vamos a escaparlas , busca bien en la documentación de php.net lo que hacen las funciones htmlentities y htmlspecialchars, no es sólo usarlas y ya, ahi que saber cómo funcionan...
Salu2!!
Hola, en mi caso "Las comillas de mi vida" son innecesarias en mi web, puesto que no se realiza la búsqueda con "'", inclusive codificarlas lo he probado incontables veces me ha alivianado un poco contra XSS e inyección SQL, puesto que el ataque (aveces) viene con "'". Gracias por la respuesta.
|
|
|
En línea
|
Nunca me contestan -_-
|
|
|
peter1958
Desconectado
Mensajes: 1
|
estoy utilizando PHP 5.3.13 al ocupar esta clase inputFilter de esta manera: <?php require_once 'class/class.inputfilter.php'; $limpia = new InputFilter(array('a','hr','div'),array('href','target','id')); /*$hola = '<script type="text/javascript">alert("Hola a todos");</script>'; $hola = $limpia->process($hola); echo $hola;*/ $vinculo = '<a href=" www.google.cl" target="_blank">Buscador</a><hr><div id="prueba">Prueba</div>'; $vinculo = $limpia->process($vinculo); echo $vinculo; ?> utilizando array de tag, da el siguiente error: -> Deprecated: Function eregi() is deprecated in C:\wamp\www\php_poo_cc\video29\class\class.inputfilter.php on line 203 aconsejeme para solucionar esto gracias
|
|
|
En línea
|
|
|
|
#!drvy
|
eregi() esta obsoleto desde la 5.2 o algo asi. Utiliza stristr().
Saludos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Protección contra ataques (DDOS)
Seguridad
|
Eleкtro
|
6
|
8,195
|
13 Julio 2013, 11:43 am
por Eleкtro
|
|
|
Las pymes como puerta de entrada de ataques de ciberespionaje contra ...
Noticias
|
wolfbcn
|
0
|
1,163
|
25 Marzo 2014, 13:42 pm
por wolfbcn
|
|
|
PRISA y Mediapro contratan una empresa que realiza ataques contra páginas de ...
Noticias
|
wolfbcn
|
0
|
1,804
|
30 Marzo 2014, 21:48 pm
por wolfbcn
|
|
|
Ataques externos contra contenidos de Público
Noticias
|
wolfbcn
|
0
|
1,285
|
1 Febrero 2015, 13:50 pm
por wolfbcn
|
|
|
Seguridad contra ataques hack contra mi instragram? consejos
Hacking
|
victtor77
|
6
|
7,717
|
4 Diciembre 2023, 11:55 am
por nobie
|
|