Currently Browsing: PHP

Validación PHP vs Javascript

PHP, Programación - 3 de June de 2007 | 2:04 am | 4 Comentarios

Algunos prefieren Javascript otros prefieren PHP, los usuarios que tienen sentido común sabrán que esta ultima es indispensable en nuestros sistemas.Si…. es una tarea tediosa, yo cuando empiezo hacerla en alguna página es lo que mas me molesta(también soy flojo para crear clase xD ni conozco alguna).

Todo esto lo digo por que en hola-tu.com ahora que esta fuera de servicio parecería que no saben de esto, quizás por que son del Tec de Monterrey , quizás por otra razón, no lo sé(es muy probable la primera).

Les puedo asegurar que al menos el 30% de los mensajes que se envían desde este servicio, no se hacen a través de la página, y es que es tan fácil programar o encontrar una herramienta que lo haga, que ya no es necesario teclear hola-tu.com en tu navegador.

Se me hizo curioso algo, no entiendo para que hacen tanta validación Javascript e incluso PHP si al final la página que envía el mensaje no necesita ni siquiera una sesión, mas que una cookie que siempre es la misma en todos los casos y si no, Javascript te lo saltas mediante algunas herramientas de firefox.

Yo hice un sencillo Bot Msn, que se la pasa conectado y envía sms mediante hola-tu.com solamente para amigos del Tec, también les pase a otros una funcion en PHP que lo hacia. Lo malo de esto es que según los dueños de hola-tu pagan por cada mensaje, y muchos de ellos ni siquiera se envían desde la página. Por lo que su modelo de negocio/publicidad se viene para abajo.

Yo me pregunto ¿Lo sabrán? ¿Se darán cuenta que existen tools que bombardean celulares hechas en Visual Basic? y que no es necesario entrar a la página para enviar los mensajes.

Es un proyecto joven lo sé, pero cuando algo funciona en grande, necesitamos hacer cosas que estén a su altura. Quizás no sea fácil, pero al menos no debería estar al alcance de cualquiera.

Multi-threading en PHP y otra Botnet

PHP, Programación - 13 de May de 2007 | 10:46 pm | 11 Comentarios

Hace como 1 semana vi un ejemplo, o mas bien un intento para ¿Simular? hilos en PHP. Me parecio interesante y es por eso que se los comparto a todos ustedes.

Lo primero que debemos de saber es que obviamente PHP no tiene una implementación para los threads, entonces lo que se hace es una truco para simularlo haciendo uso de la función proc_open.

La clase la pueden encontrar aquí y el ejemplo de una implementación seria asi.

include ("Thread.php");
$t2 = Thread::create("t2.php");
$t3 = Thread::create("t3.php");
$t4 = Thread::create("t4.php");
$t5 = Thread::create("t5.php");
while ($t2->isActive() || $t3->isActive() || $t4->isActive() || $t5->isActive()) {
echo $t2->listen();
echo $t3->listen();
echo $t4->listen();
echo $t5->listen();
}
$t2->close();
$t3->close();
$t4->close();
$t5->close();
echo "Main thread done\n";

No quiero hacer mucho énfasis en la clase, si quieren ver su implementación y como utilizarla vayan al link original. Prefiero echarle mi imaginación y tratarle de sacar provecho…. ¿Para que se podría utilizar esta clase?

Botnet de php scripts: Obviamente siempre me voy por el lado malo de las cosas(pero no tan severo como otros xD), hace poco observaba que en un foro de h4x0rs alguien mostraba un script en PHP para hacer una petición a una página y llamaba a los usuarios a subirlo a una gran cantidad de servidores para después ser llamados y efectuar un ataque DOS. Se me hizo interesante, el único problema que veia era como llamar a todos los scripts al mismo tiempo, o al menos en un tiempo razonable. Si se utilizara este “truco” podrían hacerse muchas cosas Interesantes.

Mi idea es que el script principal mande llamar a otros cuatro o cinco script mas…..y estos a otros cuatro o cinco script mas……… asi unas cinco veces mas (WTF!). Gráficamente seria algo asi.

Botnet PHP scripts

Quizás la imagen ya le quito la poca seriedad que tenia este articulo, pero en fin espero que me haya podido explicar(.. y es lo que pude hacer).

La verdad no se si alguien lo haya hecho de otra manera, y también es el único ejemplo que se me ocurriría hacer con estos “Threads en PHP”, ya que el proceso siempre es el mismo cuando navegas, petición, visualización, parada… petición, visualización, parada… y lo que no se lo dejamos a AJAX.

Las 20 aplicaciones PHP mas vulnerables

Hacking, PHP - 28 de April de 2007 | 4:30 am | 1 Comentario

Ed Finkler, publico en su blog y gracias a los datos de National Vulnerability Database, las 2o aplicaciones mas vulneradas desde hace 1 año.

php-top20-april-entries.png Podemos ver en los primeros lugares a WordPress, no ha sido un buen año para este sistema, como g30rg3 y su post sobre los meses y meses de bugs en wordpress , todo esto surgió desde la salida de la versión 2.0 que no lleva mucho tiempo, pero desde el inicio del 2007 WordPress le ha ido muy mal en muy pocos meses.

Solo falta seguir esperando y aunque prácticamente ya se solucionaron los principales, hay multitud de plugins que tienen muchos fallos que comprometen al sistema(es lo malo de tener un sistema tan accesible).

Link: http://blog.funkatron.com/

Bots en Twitter

Hacking, PHP, Programación, Servicios - 25 de April de 2007 | 4:23 am | 5 Comentarios

Otra funcionalidad que hemos encontrado en twitter, es hacer cuentas para que funcionen como bots, dependiendo de que quieras hacer.

Ejemplo 1:

Logs en tu página

Imagina que necesitas hacer log, alguien se esta conectando muchas veces a tu sitio, andan queriendo hacer XSS o probando SQL INYECTION, quieres chekar los últimos referers que entran a tu sitio, o simplemente para que veas quien esta visitando tu sitio en ese preciso momento, todo esto(y lo que te imagines) lo podrías chekar en tiempo real gracias a twitter y su sistema de notificaciones instantáneos.

¿Qué necesitas? Solamente crear una cuenta especialmente para tus logs en twitter, y poner esta función en php en tu página, modificandolo dependiendo de que quieras que te notifique, agregar esa cuenta a tu verdadera cuenta de twitter, y recibir los avisos por gtalk o muchas otras aplicaciones que ya existen.

<?php

function postToTwitter($username,$password,$message){

$host = "http://twitter.com/statuses/update.xml?status=";

$host.=urlencode(stripslashes(urldecode($message)));

$ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $host);

    curl_setopt($ch, CURLOPT_VERBOSE, 1);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");

    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);

    curl_setopt($ch, CURLOPT_POST, 1);

$result = curl_exec ($ch);

    $resultArray = curl_getinfo($ch);

    curl_close($ch);

if($resultArray['http_code'] == "200"){

       // OK :-) 

    } else {

        //BAD :-( 

    }

}

postToTwitter("cuentatwitter","elpwd","te estan juakeando banea esta

ip:".$_SERVER['REMOTE_ADDR']);

?>

¿Qué quieres hacer? verificar si te andan “hackiando” xDDD, creo que es útil hacer un script como protección, ya que la notificación es instantánea y si alguien intenta hacer algo malo te darías cuenta en el instante, pero no solo sirve para eso, podrían hacerse muchas cosas… si te imaginas una, deja tu comentario.

Ejemplo 2:

Botnet

¿Que pasaría si pudieras programar un bot, al que le pudieras enviar ordenes directamente desde tu celular?, o si vas mas allá, una botnet o red de bots, a los que les dieras ordenes directamente y desde cualquier lugar vía sms.

Gracias a twitter es posible hacer algo asi, ya que los updates los puedes hacer desde tu celular, entonces y dependiendo para que quieres utilizar tus bots, podrías por ejemplo hacer un DOS desde tu celular xD !DOS michoacano.com.mx ¿chido no?, un amigo lo hizo, y es mas fácil manejarlos desde twitter que desde IRC.

______________________________

Son los ejemplos más claros que se me ocurrieron, tratando de encontrarle otro uso a twitter y explotando su funcionalidad al máximo. Me gustaría que comentaran y dieran ideas de que mas se podría hacer con este servicio, utilizándolo para otros fines.

Links

Twitter API:

groups.google.com/group/twitter-development-talk/web/api-documentation

 Mi cuenta de logs(solo referers externos): http://twitter.com/Michoacanologs 

Trucos htaccess

PHP, Programación - 24 de February de 2007 | 7:00 am | Sin comentarios

Me acabo de encontrar con esta página donde hay muchos trucos y configuraciones para htaccess y Apache. Algunos ya me los sabia pero otros son muy interesantes y ni sabia que se podía hacer con .htaccess.

Algunos Ejemplos:

Enlace | http://www.askapache.com/2006/htaccess/htaccesselite-ultimate-htaccess-article.html

How to: Mostrar en un SQL INJECTION las tablas de la BD

Hacking, PHP, Programación - 25 de January de 2007 | 7:33 pm | 5 Comentarios

Sinceramente no sé , y tampoco creo que se pueda(tampoco me he puesto a buscar, prefiero averiguar), al menos en Mysql. Existe algo llamado SHOW TABLES, pero no es propiamente una consulta, por lo que en una UNION no se puede utilizar.

Hay otra forma de saber el nombre de las tablas, haciendo consultas a la base de datos information_schema, pero en un script, no se esta conectado a esa base de datos, si no a la que se esta ocupando. No se si se puedan hacer una consulta con datos de 2 BD en Mysql, al parecer en otros DBMS si.

En Postgresql si se puede mostrar las tablas de la base de datos, estando conectados a ella, ya que la información del shema esta en cada bd, por lo que un sistema con Sql Injection, utilizando Postgresql puede ser muy peligroso. Solo es hacer una unión y acomodar un poco la siguiente consulta.

SELECT table_name FROM information_schema.TABLES
WHERE table_schema = 'public';

¿Alguien sabe como y podría ilustrarnos a todos?

Como calcular Pi en php

Blogosfera, Matemáticas, PHP - 25 de January de 2007 | 2:19 am | 3 Comentarios

Me gusta hablar de PI, anieto2k publico una manera de calcular con PHP decimales de PI.

function bcpi($precision=30, $accuracy=21){
bcscale($precision);
$n = 1;
$bcatan1 = 0;
$bcatan2 = 0;
while($n < $accuracy){
//atan functions
$bcatan1 = bcadd($bcatan1, bcmul(bcdiv(pow(-1, $n+1), $n * 2 - 1),
bcpow(0.2, $n * 2 -1)));
$bcatan2 = bcadd($bcatan2, bcmul(bcdiv(pow(-1, $n+1), $n * 2 - 1),
bcpow(bcdiv(1,239), $n * 2 -1)));
++$n;
}
return bcmul(4,bcsub(bcmul(4, $bcatan1),$bcatan2));
}

El método es el mas sencillo y no es muy óptimo que digamos(quizás después publique uno :-D ), pero si lo que quieres es tener muchos decimales de PI, este es el mejor algoritmo para tener 1, 000, 000 dígitos de PI y en una sola linea(si soy inteligente).

$pi=file_get_contents("http://3.1415926535897932384626433832795028
84197169399375105820974944592.com/index1.html");

No mas había que incluir la Página con un millón de decimales de π.

Generar IDs alfanuméricos

PHP - 8 de January de 2007 | 9:13 pm | 2 Comentarios

Hace poco tenia un problema, necesitaba generar IDs únicas al estilo YOUTUBE

http://www.youtube.com/watch?v=DfnuDkVkhko

Son ids muy bonitos, y si se preguntan el por que hacer eso, pues para evitar que alguien recorra la BD o Megabyte si descubre un bug, no te hackie 10 000 tagboards de manera automática xDDDD.
No encontré algo realmente solido(digo me puedo poner a inventar pero nel…). Sin embargo resolví mi problema fácilmente uniendo mi id y con un hash por MD5 con la unión de una cadena(que solo yo me la se) y el id, garantizando ids que no se pueden recorrer a menos que sepan “esa cadena”.

Hacerlo es fácil, pero si alguien quiere saber a detalle pues deje comentario. Y si alguien tiene algo que genere ids al estilo youtube y sobre todo ÚNICOS no dude en dejarme su información.

También encontré este algoritmo pero sabe ….

¿Función para evitar XSS?

Hacking, PHP - 5 de January de 2007 | 3:57 am | 2 Comentarios

http://snipplr.com/view/1848/php–sacar-xss/

[Actualización] ——–
Makoki02.Com dice:
no seria mas facil
Makoki02.Com dice:
htmlentities
juLio dice:
si
juLio dice:
xDDDDDDDD
juLio dice:
Por eso lo puse entre ¿? además yo no la hice la vi por ahi

Página 2 de 212