Bienvenidos a mi blog personal aqui encontran temas de Programacion y Seguridad informatica tambien algunas cuantas tonterias xd

Actualizar estado de facebook con PHP y Curl

Jueves, Diciembre 24th, 2009
<?PHP
/*******************************
*	Facebook Status Updater
*	Christian Flickinger
*	http://nexdot.net/blog
*	April 20, 2007
*******************************/

$status = 'YOUR_STATUS';
$first_name = 'YOUR_FIRST_NAME';
$login_email = 'YOUR_LOGIN_EMAIL';
$login_pass = 'YOUR_PASSWORD';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://login.facebook.com/login.php?m&amp;next=http%3A%2F%2Fm.facebook.com%2Fhome.php');
curl_setopt($ch, CURLOPT_POSTFIELDS,'email='.urlencode($login_email).'&pass='.urlencode($login_pass).'&login=Login');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
curl_exec($ch);

curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_URL, 'http://m.facebook.com/home.php');
$page = curl_exec($ch);

curl_setopt($ch, CURLOPT_POST, 1);
preg_match('/name="post_form_id" value="(.*)" \/>'.ucfirst($first_name).'/', $page, $form_id);
curl_setopt($ch, CURLOPT_POSTFIELDS,'post_form_id='.$form_id[1].'&status='.urlencode($status).'&update=Update');
curl_setopt($ch, CURLOPT_URL, 'http://m.facebook.com/home.php');
curl_exec($ch);
?>

Crear hack dll en C

Jueves, Noviembre 5th, 2009

Bueno aca les enseñare a crear un hack para buscaminas de windows xp en una dll para inyectarsela =)


#include "dll.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

//Definimos las variables
DWORD ThreadID;
int *mina1  = (int*)0x01005194;    //Offset de las minas.
int *mina2  = (int*)0x01005330;    //0ffset de las minas.
int *mina3  = (int*)0x010056A4;    //Offset de las minas.

DWORD WINAPI cambiarminas(LPVOID lParam) {
 int x = 0;
 while(x < 10)
 {
 if(x == 9)
 {
 x = 0;
 }
 x++;
 *mina1 = 1;
 *mina2 = 1;
 *mina3 = 1;
 }
 ExitThread(0);
}

//DllMain
BOOL APIENTRY DllMain(HINSTANCE hDll, DWORD callReason, LPVOID lpReserved) {
 if(callReason == DLL_PROCESS_ATTACH) {
 MessageBox(0, "dll inyectada correctamente! ", "www.sdmdiego.com", MB_ICONEXCLAMATION | MB_OK);
 CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&cambiarminas, 0, 0, &ThreadID);
 }

 return 1;
}

ahora solo le inyectamos la dll al buscaminas con mi inyector que lo pueden descargar desde aqui

Mostrar tus Tweets en tu web

Miércoles, Octubre 28th, 2009

Gracias a este JS  http://twitter.com/javascripts/blogger.js

podemos poner nuestro ultimo tweet o los que queramos con el siguiente codigo

<div id="twitter_update_list">
<script src="http://twitter.com/javascripts/blogger.js" type="text/javascript"></script>

<script src="http://twitter.com/statuses/user_timeline/TU_USUARIO.json?callback=twitterCallback2&count=3" type type = "text/javascript"></script>
</div>
TU_USUARIO es tu usuario de twitter y
count=3 son los tweets que quieres mostrar

Como hacer un watermark con PHP

Martes, Octubre 27th, 2009

Bueno ahora les enseñare como ponerle marcas de agua (WaterMark) a sus fotografias desde PHP.

Necesitamos : 1 Foto y 1 archivo PNG con su watermark

yo usare los siguientes materiales:

Foto

WaterMark

El Codigo php que hara la magia es:

<?php
$foto = "foto.jpg"; // Nuestra foto a la que le pondremos el watermark
$image = imagecreatefromstring(file_get_contents($foto));

$w = imagesx($image); // Obtenemos el ancho de la imagen
$h = imagesy($image); // Obtenemos la altura de la imagen

$watermark = imagecreatefrompng('watermark.png'); // nuestro watermark
$ww = imagesx($watermark); // Obtenemos el ancho del watermark
$wh = imagesy($watermark); // Obtenemos la altura del watermark

imagecopy($image, $watermark, $w-$ww, $h-$wh, 0, 0, $ww, $wh); // Copiamos el watermark a la imagen y la colocamos en la esquina inferior derecha

header('Content-type: image/jpeg'); // Hacemos que el header sea una imagen
imagejpeg($image); // Mostramos imagen + watermark
?>

Y el Resultado seria esto: (click para ver en tamaño real)

Tweets desde PHP

Martes, Octubre 27th, 2009

Usando una libreria Open Source llamada PHP Twitter les mostrare como mandar un Tweet desde php =)

<?php
include "twitter.php";
$twi_user = new Twitter("usuario","contraseña");
$tweet = "Hola - Tweet desde PHP";
$twi_user->updateStatus($tweet);
?>

asi de simple claro que pueden implementar un formularion para mandar mediante POST los Tweets eso ya es parte de su Creatividad

La Libreria la puedes descargr de Aqui

Evitar Inyeciones SQL en MySQL

Martes, Octubre 27th, 2009

Les enseñare como evitar inyeciones sql es sus scripts PHP

veamos un ejemplo de consulta a MySQL mediante PHP

<?php
/*
Sdndiego.com SQL Injection
*/
// ----- CONFIG -------
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$dbname = 'injection';
// --------------------
$user = $_GET['id'];
if(empty($user)){
$user = 1;
}
$db = mysql_connect($host, $dbuser, $dbpass);
mysql_select_db($dbname,$db);
$sql = mysql_query("SELECT * FROM `users` WHERE id=".$user) or die (mysql_error());
$users = @mysql_fetch_row($sql);
echo "<h2><center><u>MySQL Injection TEST<br>Sdmdiego.com</u><br><br>";
echo "<font color='#FF0000'>user_id: </font>".$users[0]."<br>";
echo "<font color='#FF0000'>username: </font>".$users[1]."<br>";
echo "<font color='#FF0000'>country: </font>".$users[3]."<br>";
mysql_close($db);
?>

Atencion:

[…]
$user = $_GET['id'];
[…]
$sql = mysql_query("SELECT * FROM `users` WHERE id=".$user)or die (mysql_error());
[…]

Como podemos ver La variable $user no se modifica correctamente antes de ser utilizada en la
consulta, por lo que por esa variable podemos inyectar nuestro código
SQL malicioso.

index.php?id=1 and 1=1 …

y obtener datos de las tablas de la base de datos lo cual ningun webmaster quiere… para evitar dicha vulnerabilidad hagamos lo siguiente

Si el dato que esperamos en una variable es numérico, lo más rápido y sencillo
es hacer esto:

[…]
$user = (int)$_GET['id'];
[…]

lo que hace es que si se introduce otro dato que no sea un numero no mostrara nada.

usando str_replace:

[…]
$user = $_GET['id'];
$user = str_replace("select","123456789",$user);
[…]

Si en la variable $user se encuentra la palabra “select”, lo sustituirá por
“123456789”, así el atacante no podrá realizar la consulta correctamente.
Podemos poner más expresiones regulares que detecten otras palabras
reservadas del lenguaje SQL.

Inspirado en el paper de un amigo {Ka0x}

Mostrar ip al vistante con PHP

Martes, Octubre 27th, 2009

Este simple codigo mostrara al visitante su IP

<?
$ip = $_SERVER['REMOTE_ADDR'];
echo $ip;
?>