[SOLUCIONADO] Error en PHP

Iniciado por Cronos, Junio 29, 2012, 08:17:05 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Junio 29, 2012, 08:17:05 PM Ultima modificación: Julio 24, 2013, 01:57:07 PM por 79137913
Buenos dias comunidad! de vuelta con otra duda.
Estube haciendo un Encrypt-Decrypt en Uuencode, lo deben conocer los que programan php. Es una simple encryptacion que hace una funcion.
Pero tengo un problema, es mejor que lo vean ustedes mismos. Les dejo un video y el codigo aver si alguien puede darme una mano como tapar esta vulnerabilidad!



Código: php

<form action="encrypt.php" method="POST">
<center>
<font size="5"><b>Encrypt - Decrypt Uuencode</b></font><br />
    <font size="-1" color="#333333">Code by Cronos</font><br /><br />
    <input type="text" name="encryp" id="encryp" size="50"/>
        <input type="submit" value="Encrypt" />
        <br />
          <?
  if($_POST)
{
$encry = $_POST['encryp'];
echo convert_uuencode($encry);
}
  ?>
          <br />
        <input type="text" name="decryp" id="decryp" size="50"/>
        <input type="submit" value="Decrypt" />
        <br /> 
  <?
  if($_POST)
{
    $decry = $_POST['decryp'];
echo convert_uudecode($decry);
}
  ?>
</center>
</form>


Saludos,, Cronos.-

bro envryp

(encrypt)

decryp (decrypt)

salu2
"Human Stupidity that's why Hackers always win."
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta importante ahora es subir el # de post en un foro wtf 😂
😂 CTRL + p
DORK

Junio 29, 2012, 08:40:23 PM #2 Ultima modificación: Junio 29, 2012, 08:48:56 PM por Cronos
Disculpa, no entendi que quisiste decir. Si te refieres ah que coloque mal el name de una variable, no es eso ya las revise y estan bien escritas. Puede ser la ubicacion pero no creo, ya que veo todo en orden :/
EDITO: Al encryptar la palabra "Casa", la encrypta y la decrypta bien. Pero al encryptar la palabra "Password", esta se encrypta mal y desecrypta peor.. Pienso que puede ser por el codigo encryptado que queda, que me de error al querer mostrarlo o guardarlo por los caracteres. Estoy en lo correcto?
Saludos y gracias por comentar!

Junio 30, 2012, 02:27:26 AM #3 Ultima modificación: Junio 30, 2012, 02:36:56 AM por aura16
Estas usando un form para aser lo mismo por eso te tira ese error tienes que especificar el nombre de las variables y el nombre del form

PD: la etiqueta center ya es opsoleta... te invito a que revises los estandares de la No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
y que uses el validador para revisar tu codigo HTML pero esto no es tu problema jjejeje el problema como dije es en los formularios y en las variables

tambien se escribe <?php no <?
aunque te funcione con el xampp o wapserver tus scripts no siempre van a funcionar si no escribes correctamente...

Por cada codigo php se usa un form diferente... :D

Bueno aca esta.. al igual puedes cambiar la declaracion por un HTML5 que eso te dara mas opciones :D
no tuve tiempo de validar el codigo porque actualmente no tengo ninguna web
deves de usar htmlspecialchars para escapar caracteres y evitar ese error.. espero te sirva XD

Código: html5
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>titulo</title>
<style type="text/css">
#yo{background-color:#DF013A;
width:550px;
margin:0px auto;
padding:20px 20px 20px 20px;}
body{font-family:Arial; color:#FFF;}

h1{font-size:2em; color:#FFF; margin:0px 0px 0px 0px;}
h2{font-size:1em; color:#FFF; margin:0px 0px 20px 0px; text-align:right;}

#resultado, #resultado_dos, #encryp, #decryp{width:400px; font-size:1.5em;}

#resultado, #resultado_dos{margin:10px 0px 0px 0px;}

#boton{width:100px; text-align:center; background-color:#FA5882; font-size:1.5em; border:0px;}

#boton:hover{cursor:pointer; width:100px; text-align:center; background-color:#FFF; font-size:1.5em; border:0px;}

</style>
</head>
<body>


<form action="" method="POST" id="yo">

        <h1>Encrypt - Decrypt Uuencode</h1><br />
    <h2>Code para underc0de</h2>
        <input type="text" name="encryp" id="encryp" />
        <input type="submit" id="boton" value="Encrypt" />
        <br />
          <?php
  error_reporting(E_ALL^E_NOTICE);
                        if($_POST["encryp"]!="")
                         {
                                $encry = $_POST['encryp'];
                                echo "<div id='resultado'>".htmlspecialchars(convert_uuencode($encry))."</div>";
                         }
                  ?>
          <br />
        <input type="text" name="decryp" id="decryp" />
        <input type="submit" value="Decrypt" id="boton" />
        <br /> 
                  <?php
  error_reporting(E_ALL^E_NOTICE);
                        if($_POST["decryp"]!="")
                         {
                        $decry = $_POST['decryp'];
                                 echo "<div id='resultado_dos'>".htmlspecialchars(convert_uudecode($decry))."</div>";
                         }
                  ?>
</form>


</body>
</html>


jejeje amigo solo debes poner lo que vas a inprimir dentro de htmlentites para que no ejecute los html ni los scripts asi:

Código: text

<?php
                        if($_POST)
                         {
                                $encry = $_POST['encryp'];
                                echo htmlentites(convert_uuencode($encry));
                         }
?>


y

Código: text

<?php
                        if($_POST)
                         {
                        $decry = $_POST['decryp'];
                                echo htmlentities(convert_uudecode($decry));
                         }
?>


y listo

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Acepta con humildad y aprecio que en la vida la muerte es inevitable y amarás ésta, adorando la muerte

Muchas gracias a ambos! Pero me quedo con la respuesta de kid_goth, no conocia esa funcion ya que recien me estoy iniciando. Al pareser esta funcion lo que hace es impedir que se ejecuten codigos html si se escribien, asi tapo la vulnerabilidad y el error que me daba :)
Muchas gracias a todos por ayudar, el problema ya esta resuelto!
Saludos,, Cronos.-