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]
51  Seguridad Informática / Nivel Web / Re: Duda con LFI en: 29 Julio 2009, 01:39 am
pero si intento subir un archivo php (antes de hacer este post fue lo primero que intente hacer) no se podria subir ya que el filtro no permitira subir archivos que no sean imagenes  :-\
52  Programación / PHP / Re: error con mysql_fetch_array en: 27 Julio 2009, 03:34 am
bueno, este pedaso es de una clase en un manual de php
Código
  1. public function consulta($consulta)
  2. {
  3. $this->resultado = mysql_query($consulta,$this->descriptor);
  4. }
  5. public function extraer_registro()
  6. {
  7. if ($fila = mysql_fetch_array($this->resultado,MYSQL_ASSOC)) {
  8. return $fila;
  9. } else {
  10. return false;
  11. }
  12. }
bueno, el problema es que al intentar llamar el resultado de una consulta me da este error:

Citar
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/np/www/SQL/index.php on line 29

alguna ayuda?
Hay poco codigo y no logro entender lo que se saca de la DB, pero tu no puedes devolver $fila , se supone que es una array, deberás debolver
Código
  1. return $fila['loquesea'];

Creo yo que aqui ya dijeron la respuesta  ;D
y procura usar mysql_fetch_assoc, genera un array mas pequeño, es bastante util si queremos reducir consumo de recursos
53  Seguridad Informática / Nivel Web / Re: Duda con LFI en: 27 Julio 2009, 03:02 am
ah ok deacuerdo, todo quedo muy claro y gracias por responder... entonces no es posible burlar ese filtro?? supongo que no  ;D
54  Seguridad Informática / Nivel Web / Duda con LFI en: 26 Julio 2009, 00:10 am
Hola a todos, hice un script sencillo de prueba que sirve para subir imagenes al servidor que funciona perfectamente, supuestamente puse un "filtro" para que solamente se pudieran subir imagenes de extensiones mas usuales, el supuesto filtro es este:

Código:
if($tipo=="image/gif" || $tipo=="image/jpg" || $tipo=="image/jpeg" || $tipo=="image/bmp" || $tipo=="image/png"){

lei acerca de esta la vulnerabilidad de este filtro, que permite subir archivos con codigo php y cambiandolo de extension a jpg, pues.. eso intento quiero probar eso pero no me sale nada.

Para probar esto cree un archivo jpg al que llame "fake.jpg" pero antes le puse algo como esto:

Código:
<?php 
$bug=$_GET['bug'];
include("$bug");
?>

ahora que subi la falsa imagen y tengo la url directa, intento hacer lo que llaman LFI pero solo me sale esto:



Hay algo que me falto hacer o hice mal??? se supone que deberia mostrar el codigo php o contenido del archivo txt

PD: las imagenes reales jpg si las muestra correctamente
55  Programación / PHP / Re: tu como proteges tus aplicaciones php?? en: 24 Julio 2009, 20:39 pm
Funcion anti Inyecciones SQL incluida en SMF, publicada por дٳŦ*

Código
  1. <?php
  2. function addslashes__recursive($var){
  3. if (!is_array($var))
  4. return addslashes($var);
  5. $new_var = array();
  6. foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive($v);
  7. return $new_var;
  8. }
  9. $_POST=addslashes__recursive($_POST);
  10. $_GET=addslashes__recursive($_GET);
  11. $_REQUEST=addslashes__recursive($_REQUEST);
  12. $_SERVER=addslashes__recursive($_SERVER);
  13. $_COOKIE=addslashes__recursive($_COOKIE);
  14. ?>
  15.  

Saludos  ;)

Estoy aprendiendo PHP y note que esa funcion solo filtra los dos tipos de comillas unicamente en comparacion de mysql_real_escape_string que filtra: \x00, \n, \r, \, ', " y \x1a y evita una inyeccion: Lei esto

Yo por lo general uso esta funcion que encontre en la red (para mi la mejor :laugh:)
Código
  1. <?php
  2. // Aplicar comillas sobre la variable para hacerla segura
  3. function comillas_inteligentes($valor)
  4. {
  5.   // Retirar las barras
  6.       $valor = stripslashes($valor);
  7.   }
  8.  
  9.   // Colocar comillas si no es entero
  10.   if (!is_numeric($valor)) {
  11.       $valor = "'" . mysql_real_escape_string($valor) . "'";
  12.   }
  13.   return $valor;
  14. }
  15.  
  16. // Conexion
  17. $enlace = mysql_connect('mysql_host', 'mysql_usuario', 'mysql_contrasenya')
  18.   OR die(mysql_error());
  19.  
  20. // Realizar una consulta segura
  21. $consulta = sprintf("SELECT * FROM usuarios WHERE usuario=%s AND password=%s",
  22.           comillas_inteligentes($_POST['username']),
  23.           comillas_inteligentes($_POST['password']));
  24.  
  25. mysql_query($consulta);
  26. ?>
pero antes filtro los datos con htmlentities  :P


PD: es curioso y/o algo raro que un espacio " " juegue un papel importante aqui porque luego de escribir:


e intente previsualizar el post me muestre:


pero cuando escribo:

recien previsualiza el post  :silbar:
56  Programación / PHP / Re: [Tutorial] - Mysql || Php con clases || Ajax en: 20 Julio 2009, 02:51 am
quiero estudiar tu script pero no puedo descargarlo de rapidshare porque no tengo premium, me muestra esto:

Citar
Error

This file is neither allocated to a Premium Account, or a Collector's Account, and can therefore only be downloaded 10 times.

This limit is reached.

To download this file, the uploader either needs to transfer this file into his/her Collector's Account, or upload the file again. The file can later be moved to a Collector's Account. The uploader just needs to click the delete link of the file to get further information.

podrias subirlo a mediafire u otro servidor libre??  :-[
57  Programación / PHP / Re: Ayudenme a comprobar pass de los usuarios (soy aprendiz) en: 17 Junio 2009, 02:22 am
Código
  1. $query = mysql_query("SELECT * FROM `users` WHERE usuario='$_POST[usuario]'");
  2. $datos = mysql_fetch_array($query);
  3. if($datos['password'] == $_POST['contraseña']){
  4. // contenido
  5. }else{
  6. // contenido erroneo
  7. }

Prueba haber :)

gracias por responder, intente hacerlo como dices pero tengo el mismo problema  :-\ se que deberia funcionar pero no se porque no funciona  :-(
58  Programación / PHP / Ayudenme a comprobar pass de los usuarios (soy aprendiz) en: 16 Junio 2009, 04:08 am
Hola a todos soy nuevo y a la vez aprendiz en PHP  :-[

intento practicar haciendo un sistema con logueo de usuarios, hice casi todo pero el problema esque no se como comprobar el password de un usuario hacia la DB, mi script es el sgte:
Código
  1. <html>
  2. <head>
  3. <title>usuarios :D</title>
  4. </head>
  5. <body><div align="center">
  6. <form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
  7. Nombre: <input type="text" name="nombre" /><br />
  8. Clave: <input type="password" name="pass" /><br />
  9. <input type="submit" value="Enviar" /> <input type="reset" value="Cancelar" />
  10. </form>
  11. <?php
  12. extract($_REQUEST);
  13. if(isset($nombre) && isset($pass)){
  14. //conectamos
  15. $cn=mysql_connect("localhost","root","123")or die("No se puede conectar a la DB");
  16. mysql_select_db("libro",$cn)or die("No se encuentra la DB");
  17.  
  18. if($nombre==mysql_query("SELECT usuario FROM users WHERE usuario='$nombre'") && $pass==mysql_query("SELECT usuario FROM users WHERE pass='$pass'")){
  19. $_SESSION['si'] ='entraste';
  20. header("Location: adm_mensajes.php");
  21. }
  22. else{
  23. echo "<font color=red>Usuario o Clave incorrecto</font>";
  24. }
  25. }
  26. ?>
  27. </div>
  28. </body>
  29. </html>

lo que me falta es comprobar el nombre y el password que sean correctos a los de la bd del usuario, intente hacer esto porque fue lo primero que se me ocurrio   :-(
Código
  1. if($nombre==mysql_query("SELECT usuario FROM users WHERE usuario='$nombre'") && $pass==mysql_query("SELECT usuario FROM users WHERE pass='$pass'"))
y al parecer no funciona alguien podria darme una mano  :laugh:
por si les sirve de algo mis tablas son estas  :P
Código
  1. CREATE TABLE users(
  2. id INT(11) AUTO_INCREMENT PRIMARY KEY NOT NULL,
  3. usuario CHAR(30) NOT NULL,
  4. pass CHAR(20) NOT NULL
  5. );
hasta aqui termina mi primera pregunta  :rolleyes:

la segunda duda que tengo y no tengo idea de como se hace... resulta que quiero editar los mensajes de un libro de visitas que intento hacer, logre poder editar dichos mensajes creando una interfaz grafica de un admin pero mi gran problema esque yo quiero que.. cada vez que quiera editar un mensaje, el mensaje antiguo se muestre en los campos de texto del formulario para editarlo osea como cuando editas un post, el texto sigue ahi y listo para corregirlo, logre poder hacer que se editen los mensajes pero, cuando se edita no aparece el mensaje que estaba  :-(  mi codigo es este:

Código
  1. <?php
  2. if(!isset($_SESSION['si']) || $_SESSION['si']!='entraste'){
  3. header("Location: admin.php");
  4. exit();
  5. }
  6. ?>
  7. <html>
  8. <head>
  9. <title>editor del admin :D</title>
  10. </head>
  11.  
  12. <body>
  13. <?php
  14. $cn=mysql_connect("localhost","root","123") or die ("No se pudo conectar a la DB");
  15. mysql_select_db("libro",$cn)or die(mysql_error());
  16.  
  17. extract($_REQUEST);
  18. if (isset($action) && $action="editar"){
  19. @ $modifica=mysql_query("update mensajes set nombre='$nombre',tema='$tema',mensaje='$mensaje' where id='$id'");
  20. }
  21. echo "<a href=\"mensajes.php\">Regresar</a>";
  22. ?>
  23. <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
  24. Nombre: <input type="text" name="nombre" /><br />
  25. Tema: <input type="text" name="tema" /><br />
  26. Mensaje: <br /><textarea name="mensaje" cols="30" rows="5"></textarea><br />
  27. <input type="submit" value="Enviar" /> <input type="reset" />
  28. </form>
  29.  
  30. </body>
  31. </html>
  32.  
aqui si estoy completamente seguro que logre que edite los mensajes de la peor manera que se pueda hacer  :xD recuerden que estoy aprendiendo PHP  :laugh:
espero respuestas y mejor aun... ayuda  ;-)
Páginas: 1 2 3 4 5 [6]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines