<?php
/***************************************************************************
Proxea  v1.32
hkm <hkm[@]hakim.ws> - 6 Noviembre 2005 www.hakim.ws
Fixed by Xiam <xiamkong[@]yahoo.com.mx>
***************************************************************************/

if (isset($_POST["dcrypt"])) {
$xored $_POST['xored'];
if (
substr($xoredstrlen($xored)-4) == '.xor'){
if ((
$file = @fopen($xored"r+")) !== false) {
$xheader fread($file4);
$string fread($file4);
$header $xheader $string;
#xor los primeros 4 bytes con los segundo 4 bytes
rewind($file);
fwrite($file$header4);
fclose($file);
} else { echo 
"[ERROR] No se pudo abrir el archivo"; }
} else { echo 
"[ERROR] EL archivo tiene que tener extension .xor"; }
}

if (
$_POST["Submit"]=="Download") {

$url stripslashes($_POST['url']);
$type $_POST['type'];
$name $_POST['ren'];

set_time_limit(0);
# el servidor web tiene un tiempo max de ejecucion
# el max_execution_time esta definido en php.ini o usar
# ini_set('max_execution_time', 0);

// Reconocer el patron [a-z]:// en $url (xiam)
preg_match("/([a-z]*):\/\/(.*?)/"$url$proto);

if (isset(
$proto[1]) && ($proto[1] == "http" || $proto[1] == "ftp")) {
if ((
$file = @fopen($url"r")) !== false) {
header("Content-Type: ".($type $type "application/x-download")."");
if (isset(
$_POST["crypt"])) {
header("Content-Disposition: attachment; filename=".($name $name basename($url)).".xor");
$header fread($file4);
$string fread($file4);
$xheader $header $string;
echo 
$xheader;
echo 
$string;
} else {
header("Content-Disposition: attachment; filename=".($name $name basename($url)));
}
while (!
feof($file)) {
echo 
fread($file4096);
}
fclose($file);
} else {
echo 
"No se pudo descargar el archivo";
}
} else {
echo 
"Esa URL no es v&aacute;lida, solo reconozco <b>http</b> y <b>ftp</b>.";
}
} else {
echo 
'
<html><body>
<div align="center"><table border="0" width="95%" id="table42" cellspacing="0" cellpadding="0">
<tr><td align="justify"><table border="0" width="100%" id="table43" cellspacing="0" cellpadding="0">
<tr>
<td><font face="Arial" size="2">Este programa es para hacer request de archivos
remotos cambiado nombre, content type y primeros 4 bytes para sobrepasar algunos IDS y
firewalls. <br>
El tiempo maximo de transferencia es definido en el servidor web y en el php.ini.</font>
</td></tr><tr><td>&nbsp;</td></tr><tr>
<td><b> <font face="Arial" size="2"> Proxea 1.32(Cambia origen, content type, nombre y primeros 4 bytes)</font></b></td>
</tr><tr><td><hr></td></tr></table></td></tr>
</table></div></td></tr><tr><td bgcolor="#FFFFFF"><div align="center">
<table border="0" width="95%" id="table44" cellspacing="0" cellpadding="0">
<tr><td><form name="form1" method="post" action="proxea13.php" >
<p><font face="Arial"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">URL (http o ftp):</font>
<font face="Verdana, Arial, Helvetica, sans-serif">
<input name="url" type="text" size="50" maxlength="100" maxlenght="150">
<br>
<font size="2">Nuevo Content-Type:</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
<input name="type" type="text" size="15" maxlength="30" maxlenght="130">
</font></font><font face="Verdana, Arial, Helvetica, sans-serif"><br>
<font size="2">Nuevo Filename (EX: zip, jpeg,gif)</font>:&nbsp;&nbsp;&nbsp;&nbsp;</font><font face="Arial"><font face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font><font face="Arial"><font face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></font></font><font face="Verdana, Arial, Helvetica, sans-serif">
<input name="ren" type="text" size="15" maxlength="15" text="ZIP" 
maxlenght="150">
</font></p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="checkbox" name="crypt" value="crypt">
XORea la cabecera del file (genera .xor) 
</font><font face="Verdana, Arial, Helvetica, sans-serif">
<input type="submit" name="Submit" value="Download">
</font></p>
<p>
<font face="Verdana, Arial, Helvetica, sans-serif">
<label></label>
<label>File .xor:
<input type="file" name="xored">
</label>
<input name="dcrypt" type="submit" value="dcrypt"/>
</font></p>
</form>
</html>'
;}
?>