elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
11  Programación / PHP / Filtro SQL Injection y Filtro XSS en: 13 Octubre 2009, 06:20 am
Aquí comparto dos funciones que hice para prevenir sql injection y xss.

El código está en base64, una vez que lo decodifican, pueden guardarlo como Filtros.php y requerirlo en su script.


Código:
PD9waHANCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIEZpbHRybyBw
YXJhIGV2aXRhciBTUUwgSW5qZWN0aW9uICMNCiMgdmVyc2lvbjogMC4xICAgICAgICAgICAgICAg
ICAgICAgIw0KIyBBdXRvcjogMHgwMzA5ICAgICAgICAgICAgICAgICAgICAjDQojIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCmZ1bmN0aW9uIGFudGlTUUxJbmplY3Rpb24oJHN0
cikNCnsNCiAgICBpZiAoaXNfc3RyaW5nKCRzdHIpKSB7DQogICAgICAgICAvL2VuIHBocCA2IG1h
Z2ljIHF1b3RlcyB5YSBubyB2YW4NCiAgICAgICAgaWYgKGdldF9tYWdpY19xdW90ZXNfZ3BjKCkp
IHsNCiAgICAgICAgICAgICRzdHIgPSBzdHJpcHNsYXNoZXMoJHN0cik7DQogICAgICAgIH0NCiAg
ICAgICAgJHN0ciA9IG15c3FsX3JlYWxfZXNjYXBlX3N0cmluZygkc3RyKTsNCiAgICAgICAgJHN0
ciA9IGFkZGNzbGFzaGVzKCRzdHIsICclXycpOw0KICAgIH0NCiAgICByZXR1cm4gJHN0cjsNCn0N
Cg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBGaWx0cm8g
cGFyYSBldml0YXIgQ3Jvc3MtU2l0ZSBTY3JpcHRpbmcgIw0KIyB2ZXJzaW9uOiAwLjEgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIw0KIyBBdXRvcjogMHgwMzA5ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIw0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0K
ZnVuY3Rpb24gYW50aUNyb3NzU2l0ZVNjcmlwdGluZygkc3RyKQ0Kew0KICAgIGlmIChpc19zdHJp
bmcoJHN0cikpIHsNCiAgICAgICAkc3RyID0gaHRtbGVudGl0aWVzKCRzdHIsIEVOVF9RVU9URVMs
ICdVVEYtOCcpOw0KICAgIH0NCiAgICByZXR1cm4gJHN0cjsNCn0NCg0KPz4=

y pueden usarlo así:

Código:
//Para consultas a base de datos:
//Si el campo id de la base de datos es string :
$id = antiSQLInjection( $_POST['id'] );
//Sino si el campo id de la base de datos es entero:
$id = (int) $_POST['id'];

$query = "select nombre from usuario where id='{$id}'";
mysql_query($query);


//Para imprimir:
echo antiCrossSiteScripting($_POST['texto']);


12  Programación / PHP / Re: Pegar imagenes en php en: 13 Octubre 2009, 02:17 am
Ok, gracias.
13  Programación / PHP / Pegar imagenes en php en: 12 Octubre 2009, 22:04 pm
Hola, tengo un pequeño problema, estoy generando imagenes de niveles de sokoban dinámicamente.

El problema es que para que en pantalla se muestre algo así:



Este es el código que genero con php:

Código
  1. <img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><br/>
  2. <img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><br/>
  3. <img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/box.gif" width="16" height="16"  /><img src="http://midominio/images/player.gif" width="16" height="16"  /><img src="http://midominio/images/box.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><br/>
  4. <img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/box.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/box.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><br/>
  5. <img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/goal.gif" width="16" height="16"  /><img src="http://midominio/images/goal.gif" width="16" height="16"  /><img src="http://midominio/images/goal.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><br/>
  6. <img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/box.gif" width="16" height="16"  /><img src="http://midominio/images/goal.gif" width="16" height="16"  /><img src="http://midominio/images/goal_box.gif" width="16" height="16"  /><img src="http://midominio/images/goal.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><br/>
  7. <img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/goal.gif" width="16" height="16"  /><img src="http://midominio/images/goal_box.gif" width="16" height="16"  /><img src="http://midominio/images/goal.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><br/>
  8. <img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/box.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><br/>
  9. <img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/box.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><br/>
  10. <img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><br/>
  11. <img src="http://midominio/images/floor.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/wall.gif" width="16" height="16"  /><img src="http://midominio/images/floor.gif" width="16" height="16"  /><br/>
  12. <br/>
  13.  

Y obviamente, el htm generado pesa mucho, por lo que tendré problemas de ancho de banda, por ejemplo, para unos 100 niveles, el htm pesa más de un mega.

Tengo pensado evitar:

width="16" height="16

y poner class="algo" y especificar el tamaño con css.

Sin embargo de todas formas, es mucho código, así es que me gustaría poder pegar todas las imagenes, ¿se puede hacer con php dinámicamente? y así generar una sola imagen para que el htm quede:

<img src="http://midominio/images/imagenGenerada.gif"  />

Si se puede, podría generar todas las imágenes, y subirlas a otro hosting, por ejemplo imageshack, así me ahorro un montón de ancho de banda.


Nota: cada cuadro de 16*16 de la imagen que muestro es una imagen, por ejemplo: wall.gif es el bloque de muralla, floor.gif es el bloque negro, etc.
14  Seguridad Informática / Nivel Web / Re: Múltiples inyecciones SQL en SMF <= 1.1.10 y 2.0 <= RC1.2 en: 10 Octubre 2009, 07:27 am
genial información, me ha gustado de verdad, yo miraba smf como algo bien seguro, pero por lo que dices, hay que revisarlo.

Voy a guardar este post.
15  Programación / PHP / Re: consulta me inserta 2 veces en: 8 Octubre 2009, 09:00 am
a lo mejor no definiste clave primaria.
16  Programación / PHP / Sugerencia login en: 7 Octubre 2009, 07:44 am
Hola, estoy recién comenzando a jugar con las sesiones, quisiera recibir por favor sugerencias sobre este script para comprender bien la lógica.
Edito: tenía un problema, pero edito, ahora me gustaría recibir sugerencias sobre cómo mejorar el script.


Le he añadido protección básica contra fijación de sesiones y cross site request forgeries.

Código
  1. <?php
  2.  
  3.  
  4.  
  5. if (!isset($_SESSION['logeado']))
  6. {
  7. if ($_POST['user'] == 'carlos' && $_POST['password'] == 'entrar')
  8. {
  9. $_SESSION['logeado'] = true;
  10. $_SESSION['token'] = md5(uniqid(rand(), TRUE));
  11. }
  12. } else if ($_POST['logout'])
  13. {
  14. if (isset($_SESSION['token']) &&
  15.         $_POST['token'] == $_SESSION['token'])
  16.     {
  17.       $_SESSION = array();
  18.     }
  19.  
  20. }
  21.  
  22. if ($_SESSION['logeado'] == true)
  23. {
  24.   echo 'Contenido exlusivo' . '<br />';
  25. }
  26.  
  27.  
  28. ?>
  29.  
  30.  
  31. <html>
  32.  
  33. <body>
  34.  
  35. <?php
  36.  
  37. if ($_SESSION['logeado'] == false)
  38. {
  39. ?>
  40.    <form method='POST' action='login.php'>
  41.    User:
  42.     <input name="user" type="text" maxlength="50" size="20" />
  43.    Password:
  44.     <input name="password" type="text" maxlength="50" size="20" />
  45.     <input name="login" type="submit" value="Login" />
  46.    </form>
  47.  
  48. <?php
  49. } else
  50. {
  51. ?>
  52.  
  53.    <form method='POST' action='login.php'>
  54.     <input name="token" type="hidden" value="<?php echo $_SESSION['token']; ?>" />
  55.     <input name="logout" type="submit" value="Logout" />
  56.    </form>
  57.  
  58. <?php
  59. }
  60. ?>
  61.  
  62. </body>
  63.  
  64. </html>
  65.  
  66.  
17  Programación / PHP / Re: Se puede tener una configuración personalizada de php en un servidor compartido? en: 6 Octubre 2009, 08:19 am
gracias, buscaré un hosting que me de mi php.ini
18  Programación / PHP / Se puede tener una configuración personalizada de php en un servidor compartido? en: 6 Octubre 2009, 06:56 am
Tengo esa duda:
¿Se puede tener una configuración personalizada de php en un servidor compartido?

Me gustaría contratar un hosting barato (compartido), pero me gustaría tener mi configuración personal de php, por ejemplo, deshabilitar las magic quotes, y establecer la conexión por defecto a la bd dentro de la configuración de php, así me evito exponer los datos de la bd innecesariamente.

Mi pregunta es si se puede.
19  Programación / Scripting / Re: Identificar el tipo de archivo antes de procesarlo [batch] en: 5 Octubre 2009, 19:21 pm
Claro, reemplaza por esto:

Código:
for %%f in ("%rutaArchivo%") do for %%e in (.txt .src .log "") do if "%%~xf"=="%%~e" goto :Valido
20  Programación / Scripting / Re: Identificar el tipo de archivo antes de procesarlo [batch] en: 5 Octubre 2009, 06:23 am
Podrías hacer:

Código:
set rutaArchivo=C:\archivo.txt

for %%f in ("%rutaArchivo%") do for %%e in (.txt .src .log) do if "%%~xf"=="%%e" goto :Valido


:noValido
echo.Extension no valida.
goto :eof

:Valido
echo.Valido
pause

Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines