Bien les paso algunas fotos y la presentación, donde no esta muchas cosas que mostre de codigo en php ya que no estraban en los slays, pero si algunas cosas importantes.




Asado en lo de Padilla, y Yamila cocinando naaaa jajajaja

Saludos






$filename = $_GET['file'];
// addition by Jorg Weske
$file_extension = strtolower(substr(strrchr($filename,"."),1));
if ( ! file_exists( $filename ) )
{
echo "not file";
exit;
};
switch( $file_extension )
{
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
?>


include("conectar.php");



$index="http://".$_SERVER['SERVER_NAME']."/index.php";
$filename = basename($_GET['file']);
$ruta="descargas/".$filename;
// addition by Jorg Weske
$file_extension = strtolower(substr(strrchr($filename,"."),1));
#------------Bloque Seguridad ------------------
if(preg_match('/(php|asp|ini|inc|bak)/',$file_extension)){
header("Location:".$index);
}
elseif( $filename == "" )
{
header("Location:".$index);
}
elseif( ! file_exists( $ruta ) )
{
header("Location:".$index);
};
#-----------Fin Bloque Seguridad--------------
switch($file_extension )
{
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"".$filename."\";" );#nombre del archivo en la descarga
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($ruta));
readfile("$ruta");
?>
#!/usr/bin/perl
use LWP::Simple;
use utf8 ;
no utf8 ;
$pag="http://www.weather.com/weather/today/Corrientes+Argentina+ARCS0025";
$ua = LWP::UserAgent->new(agent => 'Mozilla/5.0 (X11; U; Linux x86_64; es; rv:1.9.1.8) Gecko/20100218 Firefox/3.0.3 (like Firefox/3.5.8)');
$ua->default_header('Accept-Language' => "es-ar,es;q=0.8,en-us;q=0.5,en;q=0.3");#acceptar lenguage español
$ua->timeout(7);
#$ua->env_proxy;
$response = $ua->get($pag);
$pedido= $response->content;
#$pedido =~m/<p align=center><b>HOY(.*?)<\/b><\/p>/s;
#$dia=$1;
#--------------------------Tomo fecha actualizacion de datos--------------------------------------------s#
#
$pedido =~m/<p class="ccWeatherTimeStamp">Updated:\s*(.*?)Local Time<\/p>/s;#tomo la actulizacion de los datos
$update=$1;
$update=~s/\n//gi;$update=~s/\t//gi;#limpio los \n y los \t
#----------Cambio los meses a Español------------
$update=~s/Jan/Enero/gi;
$update=~s/Feb/Febreol/gi;
$update=~s/Mar/Marzol/gi;
$update=~s/Apr/Abril/gi;
$update=~s/May/Mayo/gi;
$update=~s/June/Junio/gi;
$update=~s/July/Julio/gi;
$update=~s/Aug/Agosto/gi;
$update=~s/Sept/Septiembre/gi;
$update=~s/Oct/Octubre/gi;
$update=~s/Nov/Noviembre/gi;
$update=~s/Dec/Diciembre/gi;
#-----------------Fin CAmbio Meses---------------------
#--------tomo la temperatura-----------
$pedido =~m/<div class="ccTemp">(\d+)° F<\/div>/s;
$temp=$1;
$centigrados=($temp - 32) * 5/9;#paso de F a C
$centigrados = sprintf("%.1f", $centigrados);#truncoo el numero
#-------------tomo el estado---------------
$pedido =~m/<div class="ccdata"><p>(.*?)<\/p><\/div>/s;
$estado=$1;
#--------------------------creo el archivoi--------------------------------------------s#
($sec,$min,$hour)= localtime(time);
open (AR,">"."temp.txt") || die "No puede crear el archivo error: $!";
print AR "Hola Francisco, BUEN DIA!!\n";
print AR "Son las $hour horas, con $min minutos, y $sec segundos.\n";
print AR "Estado Del Tiempo. -- Corrientes Argentina --.\n";
print AR "Ultima Actualizacion del Pronostico ".$update.".\n";
print AR "En este momento, la temperatura es de: ".$centigrados." Centigrados.\n";
print AR "con un estado del tiempo ".$estado."\n";
close(AR);
system('festival --language spanish --tts temp.txt');
#tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt
Esto creara una carpeta llamada lampp, en el directorio /opt. Por lo tanto todos los archivos, binarios, conflagraciones, bases de datos, etc estarán en el /opt/lampp.
Podemos ir posicionandonos en ella e ir familiarizandonos,
#cd /opt/lampp; ls -la
La conflagración del Lampp por ahora la vamos a dejar como default, para poder hacer inyecciones copadas sobre MySQL. Lo que si vamos a cambiar es el DocumentRoot
de apache, que es la raíz lógica de donde apache empieza a leer los documentos, para ellos tenemos que editar el archivo httpd.conf de Apache
#cd /opt/lampp/etc
Realizamos un backups antes de realizar cambios en archivos de configuraciones de cualquier tipo.
#cp httpd.conf httpd.conf.backup
#nano httpd.conf
Yo uso nano uds podrian usar VI o el que quisieran, buscamos la linea donde dice
DocumentRoot "/opt/lampp/htdocs"
Y cambiamos a una carpeta en nuestro home, osea en mi caso
DocumentRoot "/home/magnobalt/www"
Una vez hecho esto guardamos, abrimos otra shell, como usuario comun y creamos la carpeta www en nuestro home
$mkdir /home/magnobalt/www
Listo con esto tenemos configurado para que apache venga a leer a esta carpeta y busque los archivos para ejecutar en el servidor. Aquí es donde vamos a colocar nuestro archivos html, js, php, css, etc.
Para alzar los servicios de lampp hacemos lo siguiente como r00t.
#/opt/lampp/lampp start
Starting XAMPP for Linux 1.7.2...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting FTP ..
XAMPP for Linux started.
Con esa informacion significa que todos los servicios estan corriendo sin problemas, en caso de que haya problema les avisara con una leyenda, pero si no tocaron nada todo correra perfectamente.
Para poder empezar podemos ir a nuestro navegador y escribir http://localhost o http://127.0.0.1, lo cual es la ip de loopback, osea que ingresamos a nuestra propia maquina,
como nos tenemos ningun archivo index,html, index.php etc, todavia en nuestro DocumentRoot en mi caso /home/magnobalt/www, seguramente mostrara seguramente un error 403 Fordiben.
Para poder ingresar al PhpMyAdmin colocamos en el browser http://localhost/phpmyadmin, se daran cuenta que entra directamente, eso es por que al instalar lampp, la contraseña del usuario root en mysql esta en blanco, Obivamente esto no deberia quedar asi, se tendria que colocar una, pero aqui obviaremos.
Primer SQL Injection:
Lo que primero vamos a realizar es un bypass a un login, esta inyeccion es la mas facil de entender, ¿Bypass WTF!!?. El termino Bypass significa saltarse algun tipo
de seguridad, por ejemplo, si un programador me coloca en una funcion que una variable no acepte numeros enteros, y yo de alguna forma logro que la aplicacion
tome numeros enteros, estoy bypaseando (saltando) la seguridad del programador. :)
Lo que haremos es crear un Panel de Administrador, donde pedira usuario y contraseña, pero antes que nada para esto nesesitamos crear una Base de Datos, y una tabla
llamada Usuarios. Para ellos usaremos el PhpMyadmin.
En la imagen se puede observar como estamos creando una tabla llamada usuarios con los compos, id, usuario, password, nombre y correo. EL campo id es nuestra clave y es incremental.
En SQL seria de esta forma: CREATE TABLE `hacking`.`usuarios` (
`id` INT( 2 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`usuario` VARCHAR( 20 ) NOT NULL ,
`password` VARCHAR( 20 ) NOT NULL ,
`nombre` VARCHAR( 35 ) NOT NULL ,
`correo` VARCHAR( 50 ) NOT NULL
) ENGINE = MYISAM ;
Ahora que tenemos la tabla, vamos a crear los archivos php, como el panel siempre esta en una carpeta
llamada, admin, administrador, administrator etc. Vamos a crear una carpeta llamada admin en nuestro DocumentRoot que va hacer donde vamos a guardar los archivos del Login, lo cual quedaria /home/magnobalt/www/admin
Los archivos que vamos a nesesitar van hacer index.php, login.php y estilo.css
index.php
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Hacking Nea</title>
<link rel="STYLESHEET" type="text/css" href="../estilo.css">
<body>
<div id="contenedor">
<div id="encabezado">
</div>
<!--fin de encabezado-->
<div id="menu">
</div>
<div id="areatexto">
<div id="cuadrodialogo">
<h1><b>Sistema de Logueo ZamBonet</b></h1>
<form action="login.php" method="post">
<br>Nombre:
<br>
<input type="text" name="nombre" maxlength="8">
<br>
<br>
Contrasena:
<br>
<input type="password" name="pass" maxlength="80">
<br>
<input type="submit" value="Enviar">
</form>
</div>
</div>
<!--fin areatexto-->
<div id="pie">
<!--fin pie-->
</div>
<!--fin contenedor-->
</body>
</html>
<?php
$hostname = "localhost";
$database = "hacking";
$username = "root";
$password = "";
$conexion = mysql_connect($hostname, $username, $password) or die ('Error conexion'.mysql_error());
$usuario=$_POST['nombre'];
$password=$_POST['pass'];
mysql_select_db($database,$conexion);
$sql="SELECT * FROM usuarios WHERE usuario='$usuario' AND password='$password'";
echo "Esta es la Consulta: ".$sql;
echo "<br>";echo "<br>";
$login=mysql_query($sql,$conexion) or die ('Error en la consulta'. mysql_error());
$row=mysql_fetch_array($login);
if(isset($row) && !empty($row)){ //verifico que la variable $row tenga informacion
echo "<br>";
echo "<h1><b>ACCESO PERMITIDO<b></h1>";
echo "<br>";
echo "Estos son tus datos";
echo "<br>";echo "<br>";
echo "Usuario: ".$row['usuario'];
echo "<br>";
echo "Password: ".$row['password'];
echo "<br>";
echo "Email: ".$row['correo'];
}
else
{
echo "<h1><b>ERRORRRRRR PAYASO <b></h1>";
}
?>
$usuario=$_POST['nombre'];
$password=$_POST['pass'];
$sql="SELECT * FROM usuarios WHERE usuario='$usuario' AND password='$password'";
SELECT * FROM usuarios WHERE usuario='admin' AND password='123456'


$usuario=$_POST['nombre'];
$password=$_POST['pass'];
$usuario= addslashes($usuario);
$password= addslashes($password);
$sql="SELECT * FROM usuarios WHERE usuario='$usuario' AND password='$password'";

