Título: Codigo PHP vulnerable Publicado por: Juanpi123321 en 6 Junio 2018, 01:08 am hola que tal quisiera saber que esta mal en el siguiente codigo, osea cuales serian las debilidades, referidas al tema de la seguridad y un poco sobre el tema SQL Injection.
Le puse puntos xq no me deja identar correctamente. Codigo PHP vulnerable Código
· Los códigos deben ir en etiquetas GeSHi >aquí las reglas del foro (http://foro.elhacker.net/reglas.htm) -Engel Lex Título: Re: Codigo PHP vulnerable Publicado por: engel lex en 6 Junio 2018, 01:17 am Código: $id=$_GET['id']; allí se puede filtrar una peticion (y ese codigo tiene errores) estudia sobre sql injection pero podría pasar solo viendolo sin mucho detalle Código: url,com/id?1' or '1'='1 esto hará que los datos detornados sean de todos los id... es el clasico codigo de principios de los 2000 para mostrar como una pagina era vulnerable Título: Re: Codigo PHP vulnerable Publicado por: LaThortilla (Effort) en 23 Agosto 2018, 00:24 am Código: $id=$_GET['id']; allí se puede filtrar una peticion (y ese codigo tiene errores) estudia sobre sql injection pero podría pasar solo viendolo sin mucho detalle Código: url,com/id?1' or '1'='1 esto hará que los datos detornados sean de todos los id... es el clasico codigo de principios de los 2000 para mostrar como una pagina era vulnerable Exactamente por eso debes utilizar http://php.net/manual/es/mysqli.real-escape-string.php (http://php.net/manual/es/mysqli.real-escape-string.php) Título: Re: Codigo PHP vulnerable Publicado por: #!drvy en 23 Agosto 2018, 01:40 am - Aprende a utilizar sentencias preparadas.
- Intenta tener un control (más o menos) sobre los datos que manejas. Si usas el ID únicamente como un integro, asegúrate que es un integro. - Usar isset y empty viene a ser algo así como comprobar que tienes las llaves en el bolsillo y sacarlas del bolsillo para comprobar que las tienes... a la vez. - Aprende a utilizar Try/Catch en vez de usar el "OR ELSE". Código
Referencias: http://php.net/manual/es/mysqli.prepare.php http://php.net/manual/es/language.types.integer.php (#Conversión de numeros a enteros). http://php.net/manual/en/mysqli-stmt.bind-param.php http://php.net/manual/es/mysqli-stmt.get-result.php http://php.net/manual/es/class.exception.php Saludos |