Analizador de archivos v0.000001...
Posted on 12:08 by Xianur0
Es decir una tool para el estudio de la esteganografia (basica), es decir, mediante un array asociado y sus respectivos valores hexadecimal (urlencode) se buscan el tipo de archivo, inicio y final. Con la finalidad de detectar posibles archivos o datos ocultos en un archivo cargado.
<html>
<head>
<title>Analizador de archivos v0.000001 By Xianur0</title>
</head>
<body>
<center>
<!-- %62%79%20%58%69%61%6E%75%72%30 -->
<h1>Analizador de archivos v0.000001 By Xianur0</h1>
<form action="?" method="post" enctype="multipart/form-data">
<b>Archivo: </b>
<br>
<input name="archivo" type="file">
<br>
<input type="submit" value="Enviar">
</form>
<?php
if(!isset($HTTP_POST_FILES['archivo']['tmp_name'])) exit;
function ascii2hex($ascii) {
$hex = '';
for ($i = 0; $i < strlen($ascii); $i++) {
$byte = strtoupper(dechex(ord($ascii{$i})));
$byte = str_repeat('0', 2 - strlen($byte)).$byte;
$hex.= "%".$byte;
}
return $hex;
}
// Este es el array donde se especifica el tipo de archivo segun la cabecera inicial
// y se da el final del archivo, aqui puede ir agregando sus tipos de archivos con su
// respectiva cabecera y final (usen un editor hexadecimal para encontrar estos valores en el
// tipo de archivo que quieren).
$estructuras = array("jpeg"=>array("inicio" => "%FF%D8%FF%E0%10%4A%46%49%46", "final" => "%FF%D9"),);
$nombre_archivo = $HTTP_POST_FILES['archivo']['tmp_name'];
$gestor = fopen($nombre_archivo, "rb");
$contenido = fread($gestor, filesize($nombre_archivo));
fclose($gestor);
$archivohex = ascii2hex($contenido);
$largoarchivo = strlen($archivohex);
foreach($estructuras as $tipo => $array) {
$inicio = strpos($archivohex,$estructuras[$tipo]['final']);
$final = $inicio+strlen($estructuras[$tipo]['final']);
$resto = substr($archivohex,$final);
$regex = "/^".$estructuras[$tipo]['inicio']."/";
if(preg_match($regex,$archivohex)) {
$encontrado = 1;
print "<b>Tipo de archivo: </b>".$tipo."<br>";
print "<b>Largo del ".$tipo." en hex: </b>".$largoarchivo."<br>";
print "<b>Ubicacion final del ".$tipo." en hexadecimal: </b>".$inicio."-".$final."<br>";
print "<b>Ubicacion del ".$tipo." en hexadecimal: </b>0-".$final."<br>";
if($final != $largoarchivo) {
print "<b>Datos ocultos: </b><a href=\"data:text/html;utf-8,".$resto."\">Descargar binario</a>";
} else print "<b>No datos ocultos :)</b>";
}
if($encontrado != 1) print "<b>No se pudo reconocer el tipo de archivo :(</b>";
}
?>
<!-- %62%79%20%58%69%61%6E%75%72%30 -->
<br><br><br><br><br><a href="http://xianur0.blogspot.com/">By Xianur0</a>
</center>
</body>
</html>
Nota: Cuando da el link para descargar el archivo oculto, den click derecho -> guardar enlace como, de otro modo el navegador mostrara el contenido ahi mismo xD...
0 comentarios:
Publicar un comentario