Fecha y hora actual: Domingo 20 May 2018 20:41
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

ejercicios de inyecion sql (ayuda)-PHP

Responder al Tema

Índice del Foro > PHP > ejercicios de inyecion sql (ayuda)-PHP

Autor Mensaje
alexzgz



Registrado: 15 Dic 2012
Mensajes: 1

Mensaje Publicado: Sábado 15 Dic 2012 18:42

Título del mensaje: ejercicios de inyecion sql (ayuda)-PHP

Responder citando

Tengo que resolver una cuestion que me preguntan sobre inyeccion SQL en un curso que estoy haciendo. Cualquier tipo de ayuda sera bienvenida.


Escenario: Se supone que alguien esta copiando los precios de 18000 productos de una tienda A y los esta copiando en otra tienda B, sin el consentimiento de A


Pregunta 5:
Como argumento definitivo, se decide a preparar una demostración de que todo esto que habéis dicho en la pregunta anterior es cierto.

a) Dar un trozo de código que obtenga de forma eficiente todos los datos de la base de datos, a partir del formulario productView.php como si fuerais un usuario remoto. Es muy importante que el código sea muy breve (máximo 30 líneas).

aqui creo que no hace falta hacer nada de codigo y se puede averiguar el número de filas de la tabla con COUNT y quitando el limit=10 terminando la sentencia con -- pero no se como seria la estructura de la sentencia de la inyeccion SQL.


Pregunta 6:
Con sus argumentos habéis convencido de que este problema de seguridad puede haber sido la causa de la filtración y ahora os han encargado que lo examine.

a) Explique de forma convincente cómo arreglaríeu este problema de raíz (SQLinjection). Dad tantas indicaciones como considere necesarias. Se valorarán soluciones sencillas que no impliquen pérdida de funcionalidad. Todas las preguntas tienen la misma puntuación.



este es el codigo que nos dan del productView.php

Cita:
<?php #$_GET['selection'] = 'productPrice>=10 and productPrice<=12'; ?>
<html><head><title>Product View</title></head><body>

<h1>Product View</h1>

<h2>Selection</h2>

<a href="productView.php?selection=<?= rawurlencode('productPrice>=10 and productPrice<=12')?>">Query for products with a price between 10 and 12</a><br>
<a href="productView.php?selection=<?= rawurlencode('productName like "%apple%"')?>">Query for a few apple products</a><br>

<form action="productView.php" method="get">
<input type=text name="selection" value="productId=105822142655"><input type=submit value="query">
</form>

<h2>Result</h2>

<?php

if (isset($_GET['selection'])) {

$db = new SQLite3(dirname(__FILE__) . "/database.db", SQLITE3_OPEN_READONLY) or die ("Unable to open database");

$query = 'select productId, productName, productPrice from productTable where ' . $_GET['selection'] . ' limit 10';

$result = $db->query($query);

#echo "$query\n";

echo "<table><tr><th>Id</th><th>Name</th><th>Price</th></tr>\n";

for ($i = 0; $i < 10; $i++) {
if (($row = $result->fetchArray()) === FALSE) {
break;
}

echo '<tr><td>' . htmlspecialchars($row[0])
. '</td><td>' . htmlspecialchars($row[1])
. '</td><td>' . htmlspecialchars($row[2])
. "</td></tr>\n";
}

echo '</table><p>(only 10 elements are shown)</p>';

$db->close();

}

?>
</body></html>

Volver arriba
Ver perfil del usuario Enviar mensaje privado
fernan2s



Registrado: 14 Jun 2016
Mensajes: 1

Mensaje Publicado: Martes 14 Jun 2016 18:20

Título del mensaje: ejercicios de inyecion sql (ayuda)-PHP

Responder citando

Hola! Me han mandado a mi ese mismo ejercicio. ¿Al final con que instrucción / es SQL se pueden obtener todos los productos de la BBDD. Estoy un poco perdido y una ayuda se agradecería.

Gracias,

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 1 Hora

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

AYUDA: COMO RECONECTO VB6 A MYSQL SIN PERDER LA...

rjaguin Visual Basic y VBA 0 Miércoles 09 May 2018 21:27 Ver último mensaje
El foro no contiene ningún mensaje nuevo

AYUDA CON UN SCRIPT

daniel159762 S.O. Linux 0 Miércoles 15 Nov 2017 18:08 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Ayuda con array foreach

Pedrolo PHP 1 Miércoles 08 Nov 2017 17:40 Ver último mensaje
El foro no contiene ningún mensaje nuevo

[Duda] Ejercicios Archivo Binario - En C

Pedrolo C, C#, Visual C++ 1 Viernes 03 Nov 2017 03:17 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Ayuda Programar Ruleta con tablero en Netbeans

Danielilla Java 0 Jueves 12 Oct 2017 04:41 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,