Bravo List
Register
Go Back   > Bravo List > Source Code > Archived Trackers > TBDev
Reply
  #1  
Old 29th October 2009, 16:43
irfan's Avatar
irfan irfan is offline
Senior Member
 
Join Date: Jun 2009
United Kingdom
Posts: 67
Default image exploit problem
PHP Code:
<?

function local_user()
{
  return 
$_SERVER["SERVER_ADDR"] == $_SERVER["REMOTE_ADDR"];
}
//$FUNDS = "$2,610.31";

$SITE_ONLINE true;
//$SITE_ONLINE = local_user();
//$SITE_ONLINE = false;

//Directory for subs
$SUBSPATH "subs"# local path to subs dir, chmod 777

$max_torrent_size 1000000;
$announce_interval 60 30;
$signup_timeout 86400 3;
$minvotes 1;
$max_dead_torrent_time 3600;

// Max users on site
$maxusers 75000// LoL Who we kiddin' here?

// Max users on site
$maxusers 5000;
//invites
$invites 3500;

// ONLY USE ONE OF THE FOLLOWING DEPENDING ON YOUR O/S!!!
//$torrent_dir = "C:\xampp\htdocs\torrents";    # FOR WINDOWS ONLY - must be writable for httpd user

# the first one will be displayed on the pages
$announce_urls = array();
$announce_urls[] = "http://tbdev.no-ip.org/announce.php";
$announce_urls[] = "http://tbdev.no-ip.org:82/announce.php";
$announce_urls[] = "http://tbdev.no-ip.org:83/announce.php";

if (
$_SERVER["HTTP_HOST"] == "")                        // Root Based Installs Comment Out if in Sub-Dir
  
$_SERVER["HTTP_HOST"] = $_SERVER["SERVER_NAME"];      // Comment out for Sub-Dir Installs
$BASEURL "http://" $_SERVER["HTTP_HOST"];           // Comment out for Sub-Dir Installs

//$BASEURL = 'http://tbdev.no-ip.org';                       // Uncomment for Sub-Dir Installs - No Ending Slash

// Set this to your site URL... No ending slash!
$DEFAULTBASEURL "http://tbdev.no-ip.org";

//set this to true to make this a tracker that only registered users may use
$MEMBERSONLY true;

//maximum number of peers (seeders+leechers) allowed before torrents starts to be deleted to make room...
//set this to something high if you don't require this feature
$PEERLIMIT 50000;

// Email for sender/return path.
$SITEEMAIL "noreply@leechbytes.com";

$SITENAME "Leechbytes";

$autoclean_interval 900;
$pic_base_url "/pic/";

require_once(
"secrets.php");
require_once(
"cleanup.php");

//Do not modify -- versioning system
//This will help identify code for support issues at tbdev.net
define ('TBVERSION','TBDEV.NET-12-09-05');

/**** validip/getip courtesy of manolete <manolete@myway.com> ****/

// IP Validation
function validip($ip)
{
    if (!empty(
$ip) && $ip == long2ip(ip2long($ip)))
    {
        
// reserved IANA IPv4 addresses
        // http://www.iana.org/assignments/ipv4-address-space
        
$reserved_ips = array (
                array(
'0.0.0.0','2.255.255.255'),
                array(
'10.0.0.0','10.255.255.255'),
                array(
'127.0.0.0','127.255.255.255'),
                array(
'169.254.0.0','169.254.255.255'),
                array(
'172.16.0.0','172.31.255.255'),
                array(
'192.0.2.0','192.0.2.255'),
                array(
'192.168.0.0','192.168.255.255'),
                array(
'255.255.255.0','255.255.255.255')
        );

        foreach (
$reserved_ips as $r)
        {
                
$min ip2long($r[0]);
                
$max ip2long($r[1]);
                if ((
ip2long($ip) >= $min) && (ip2long($ip) <= $max)) return false;
        }
        return 
true;
    }
    else return 
false;
}

// Patched function to detect REAL IP address if it's valid
function getip() {
   if (isset(
$_SERVER)) {
     if (isset(
$_SERVER['HTTP_X_FORWARDED_FOR']) && validip($_SERVER['HTTP_X_FORWARDED_FOR'])) {
       
$ip $_SERVER['HTTP_X_FORWARDED_FOR'];
     } elseif (isset(
$_SERVER['HTTP_CLIENT_IP']) && validip($_SERVER['HTTP_CLIENT_IP'])) {
       
$ip $_SERVER['HTTP_CLIENT_IP'];
     } else {
       
$ip $_SERVER['REMOTE_ADDR'];
     }
   } else {
     if (
getenv('HTTP_X_FORWARDED_FOR') && validip(getenv('HTTP_X_FORWARDED_FOR'))) {
       
$ip getenv('HTTP_X_FORWARDED_FOR');
     } elseif (
getenv('HTTP_CLIENT_IP') && validip(getenv('HTTP_CLIENT_IP'))) {
       
$ip getenv('HTTP_CLIENT_IP');
     } else {
       
$ip getenv('REMOTE_ADDR');
     }
   }

   return 
$ip;
 }

function 
dbconn($autoclean false)
{
    global 
$mysql_host$mysql_user$mysql_pass$mysql_db;

    if (!@
mysql_connect($mysql_host$mysql_user$mysql_pass))
    {
      switch (
mysql_errno())
      {
        case 
1040:
        case 
2002:
            if (
$_SERVER[REQUEST_METHOD] == "GET")
                die(
"<html><head><meta http-equiv=refresh content=\"5 $_SERVER[REQUEST_URI]\"></head><body><table border=0 width=100% height=100%><tr><td><h3 align=center>The server load is very high at the moment. Retrying, please wait...</h3></td></tr></table></body></html>");
            else
                die(
"Too many users. Please press the Refresh button in your browser to retry.");
        default:
            die(
"[" mysql_errno() . "] dbconn: mysql_connect: " mysql_error());
      }
    }
    
mysql_select_db($mysql_db)
        or die(
'dbconn: mysql_select_db: ' mysql_error());

    
userlogin();

    if (
$autoclean)
        
register_shutdown_function("autoclean");
}


function 
userlogin() {
    global 
$SITE_ONLINE;
    unset(
$GLOBALS["CURUSER"]);

    
$ip getip();
    
$nip ip2long($ip);
    
$res mysql_query("SELECT * FROM bans WHERE $nip >= first AND $nip <= last") or sqlerr(__FILE____LINE__);
    if (
mysql_num_rows($res) > 0)
    {
      
header("HTTP/1.0 403 Forbidden");
      print(
"<html><body><h1>403 Forbidden</h1>Unauthorized IP address.</body></html>\n");
      die;
    }

    if (!
$SITE_ONLINE || empty($_COOKIE["uid"]) || empty($_COOKIE["pass"]))
        return;
    
$id $_COOKIE["uid"];
    if (!
$id || strlen($_COOKIE["pass"]) != 32)
        return;
    
$res mysql_query("SELECT * FROM users WHERE id = $id AND enabled='yes' AND status = 'confirmed'");// or die(mysql_error());
    
$row mysql_fetch_array($res);
    if (!
$row)
        return;
    
$sec hash_pad($row["secret"]);
    if (
$_COOKIE["pass"] !== $row["passhash"])
        return;
    
mysql_query("UPDATE users SET last_access='" get_date_time() . "', ip=".sqlesc($ip)." WHERE id=" $row["id"]);// or die(mysql_error());
    
$row['ip'] = $ip;
    
$GLOBALS["CURUSER"] = $row;
}

function 
autoclean() {
    global 
$autoclean_interval;

    
$now time();
    
$docleanup 0;

    
$res mysql_query("SELECT value_u FROM avps WHERE arg = 'lastcleantime'");
    
$row mysql_fetch_array($res);
    if (!
$row) {
        
mysql_query("INSERT INTO avps (arg, value_u) VALUES ('lastcleantime',$now)");
        return;
    }
    
$ts $row[0];
    if (
$ts $autoclean_interval $now)
        return;
    
mysql_query("UPDATE avps SET value_u=$now WHERE arg='lastcleantime' AND value_u = $ts");
    if (!
mysql_affected_rows())
        return;

    
docleanup();
}

function 
unesc($x) {
    if (
get_magic_quotes_gpc())
        return 
stripslashes($x);
    return 
$x;
}

function 
mksize($bytes)
{
    if (
$bytes 1000 1024)
        return 
number_format($bytes 10242) . " kB";
    elseif (
$bytes 1000 1048576)
        return 
number_format($bytes 10485762) . " MB";
    elseif (
$bytes 1000 1073741824)
        return 
number_format($bytes 10737418242) . " GB";
    else
        return 
number_format($bytes 10995116277762) . " TB";
}

function 
mksizeint($bytes)
{
    
$bytes max(0$bytes);
    if (
$bytes 1000)
        return 
floor($bytes) . " B";
    elseif (
$bytes 1000 1024)
        return 
floor($bytes 1024) . " kB";
    elseif (
$bytes 1000 1048576)
        return 
floor($bytes 1048576) . " MB";
    elseif (
$bytes 1000 1073741824)
        return 
floor($bytes 1073741824) . " GB";
    else
        return 
floor($bytes 1099511627776) . " TB";
}

function 
deadtime() {
    global 
$announce_interval;
    return 
time() - floor($announce_interval 1.3);
}

function 
mkprettytime($s) {
    if (
$s 0)
        
$s 0;
    
$t = array();
    foreach (array(
"60:sec","60:min","24:hour","0:day") as $x) {
        
$y explode(":"$x);
        if (
$y[0] > 1) {
            
$v $s $y[0];
            
$s floor($s $y[0]);
        }
        else
            
$v $s;
        
$t[$y[1]] = $v;
    }

    if (
$t["day"])
        return 
$t["day"] . "d " sprintf("%02d:%02d:%02d"$t["hour"], $t["min"], $t["sec"]);
    if (
$t["hour"])
        return 
sprintf("%d:%02d:%02d"$t["hour"], $t["min"], $t["sec"]);
//    if ($t["min"])
        
return sprintf("%d:%02d"$t["min"], $t["sec"]);
//    return $t["sec"] . " secs";
}

function 
mkglobal($vars) {
    if (!
is_array($vars))
        
$vars explode(":"$vars);
    foreach (
$vars as $v) {
        if (isset(
$_GET[$v]))
            
$GLOBALS[$v] = unesc($_GET[$v]);
        elseif (isset(
$_POST[$v]))
            
$GLOBALS[$v] = unesc($_POST[$v]);
        else
            return 
0;
    }
    return 
1;
}

function 
tr($x,$y,$noesc=0) {
    if (
$noesc)
        
$a $y;
    else {
        
$a htmlspecialchars($y);
        
$a str_replace("\n""<br />\n"$a);
    }
    print(
"<tr><td class=\"heading\" valign=\"top\" align=\"right\">$x</td><td valign=\"top\" align=left>$a</td></tr>\n");
}

function 
validfilename($name) {
    return 
preg_match('/^[^\0-\x1f:\\\\\/?*\xff#<>|]+$/si'$name);
}

function 
validemail($email) {
    return 
preg_match('/^[\w.-]+@([\w.-]+\.)+[a-z]{2,6}$/is'$email);
}

function 
sqlesc($x) {
    return 
"'".mysql_real_escape_string($x)."'";
}

function 
sqlwildcardesc($x) {
    return 
str_replace(array("%","_"), array("\\%","\\_"), mysql_real_escape_string($x));
}

function 
urlparse($m) {
    
$t $m[0];
    if (
preg_match(',^\w+://,'$t))
        return 
"<a href=\"$t\">$t</a>";
    return 
"<a href=\"http://$t\">$t</a>";
}

function 
parsedescr($d$html) {
    if (!
$html)
    {
      
$d htmlspecialchars($d);
      
$d str_replace("\n""\n<br>"$d);
    }
    return 
$d;
}

function 
stdhead($title ""$msgalert true) {
    global 
$CURUSER$SITE_ONLINE$FUNDS$SITENAME$pic_base_url;

  if (!
$SITE_ONLINE)
    die(
"Site is down for maintenance, please check back again later... thanks<br>");

    
header("Content-Type: text/html; charset=iso-8859-1");
    
//header("Pragma: No-cache");
    
if ($title == "")
        
$title $SITENAME .(isset($_GET['tbv'])?" (".TBVERSION.")":'');
    else
        
$title $SITENAME .(isset($_GET['tbv'])?" (".TBVERSION.")":''). " :: " htmlspecialchars($title);
  if (
$CURUSER)
  {
    
$ss_a = @mysql_fetch_array(@mysql_query("select uri from stylesheets where id=" $CURUSER["stylesheet"]));
    if (
$ss_a$ss_uri $ss_a["uri"];
  }
  if (!
$ss_uri)
  {
    (
$r mysql_query("SELECT uri FROM stylesheets WHERE id=1")) or die(mysql_error());
    (
$a mysql_fetch_array($r)) or die(mysql_error());
    
$ss_uri $a["uri"];
  }
  if (
$msgalert && $CURUSER)
  {
    
$res mysql_query("SELECT COUNT(*) FROM messages WHERE receiver=" $CURUSER["id"] . " && unread='yes'") or die("OopppsY!");
    
$arr mysql_fetch_row($res);
    
$unread $arr[0];
  }
?>
<html><head>
<title><?= $title ?></title>
<link rel="stylesheet" href="<?=$ss_uri?>" type="text/css">
<script type="text/javascript" src="ncode_imageresizer.js"></script>
<script type="text/javascript">
<!--
NcodeImageResizer.MODE = 'newwindow';
NcodeImageResizer.MAXWIDTH = 480;
NcodeImageResizer.MAXHEIGHT = 0;

NcodeImageResizer.Msg1 = 'Click this bar to view the full image.';
NcodeImageResizer.Msg2 = 'This image has been resized. Click this bar to view the full image.';
NcodeImageResizer.Msg3 = 'This image has been resized. Click this bar to view the full image.';
NcodeImageResizer.Msg4 = 'Click this bar to view the small image.';
//-->
</script>
</head>
<body>

<table width=100% cellspacing=0 cellpadding=0 style='background: transparent'>
<tr>
<td class=clear width=49%>
<!--
<table border=0 cellspacing=0 cellpadding=0 style='background: transparent'>
<tr>

<td class=clear>
<img src="<?=$pic_base_url?>star20.gif" style='margin-right: 10px'>
</td>
<td class=clear>
<font color=white><b>Current funds: <?=$FUNDS?></b></font>
</td>
</tr>
</table>
-->

</td>
<td class=clear>
<div align=center>
<img src="<?=$pic_base_url?>logo.gif" align=center>
</div>
</td>
<td class=clear width=49% align=right>
<a href=donate.php><img src="https://www.paypal.com/en_US/i/btn/x-click-but04.gif" border="0" alt="Make a donation" style='margin-top: 5px'></a>
</td>
</tr></table>
<!-- /////// some vars for the statusbar;o) //////// --><? if ($CURUSER) { ?><?$datum getdate();$datum[hours] = sprintf("%02.0f"$datum[hours]);$datum[minutes] = sprintf("%02.0f"$datum[minutes]);$uped mksize($CURUSER['uploaded']);$downed mksize($CURUSER['downloaded']);if ($CURUSER["downloaded"] > 0){$ratio $CURUSER['uploaded'] / $CURUSER['downloaded'];$ratio number_format($ratio3);$color get_ratio_color($ratio);if ($color)  $ratio "<font color=$color>$ratio</font>";}elseif ($CURUSER["uploaded"] > 0)     $ratio "Inf.";else$ratio "---";if ($CURUSER['donor'] == "yes"$medaldon "<img src=pic/star.gif alt=donor title=donor>";if ($CURUSER['warned'] == "yes"$warn "<img src=pic/warned.gif alt=warned title=warned>";
//// check for messages //////////////////
$res1 mysql_query("SELECT COUNT(*) FROM messages WHERE receiver=" $CURUSER["id"] . " AND location IN ('in', 'both')") or print(mysql_error());
$arr1 mysql_fetch_row($res1);
$messages $arr1[0];
$res1 mysql_query("SELECT COUNT(*) FROM messages WHERE receiver=" $CURUSER["id"] . " AND location IN ('in', 'both') AND unread='yes'") or print(mysql_error());
$arr1 mysql_fetch_row($res1);
$unread $arr1[0];
$res1 mysql_query("SELECT COUNT(*) FROM messages WHERE sender=" $CURUSER["id"] . " AND location IN ('out', 'both')") or print(mysql_error());
$arr1 mysql_fetch_row($res1);
$outmessages $arr1[0];
$res1 mysql_query("SELECT COUNT(*) FROM messages WHERE receiver=" $CURUSER["id"] . " && unread='yes'") or die("OopppsY!");
$arr1 mysql_fetch_row($res1);
$unread $arr1[0];
if (
$unread)
$inboxpic "<img height=14px style=border:none alt=inbox title='inbox (new messages)' src=pic/pn_inboxnew.gif>";
else
$inboxpic "<img height=14px style=border:none alt=inbox title='inbox (no new messages)' src=pic/pn_inbox.gif>";
//// check active torrents ///////////////////////
$res2 mysql_query("SELECT COUNT(*) FROM peers WHERE userid=" $CURUSER["id"] . " AND seeder='yes'") or print(mysql_error());
$row mysql_fetch_row($res2);
$activeseed $row[0];
$res2 mysql_query("SELECT COUNT(*) FROM peers WHERE userid=" $CURUSER["id"] . " AND seeder='no'") or print(mysql_error());
$row mysql_fetch_row($res2);
$activeleech $row[0];
//// end
?>
<!-- //////// start the statusbar ///////////// -->
<table cellpadding="4" cellspacing="1" border="0" style="width:100%">  <tr>   <td ><table style="width:100%" cellspacing="0" cellpadding="0" border="0">    <tr>     <td class="bottom" align="left"><span class="smallfont">Welcome back, <b><a href="userdetails.php?id=<?=$CURUSER['id']?>"><?=$CURUSER['username']?></a></b><?=$medaldon?><?=$warn?>&nbsp; [<a href="logout.php">logout</a>] <a href="invite.php">[Invite Someone <?php echo htmlspecialchars($CURUSER['invites']);?> Invitations left]</a><br/>     <font color=1900D1>Ratio:</font> <?=$ratio?>&nbsp;&nbsp;<font color=green>Uploaded:</font> <font color=black><?=$uped?></font>&nbsp;&nbsp;<font color=darkred>Downloaded:</font> <font color=black><?=$downed?></font>&nbsp;&nbsp;<font color=1900D1>Active Torrents:&nbsp;</font></span> <img alt="Torrents seeding"
title="Torrents seeding" src="pic/arrowup.gif">&nbsp;<font color=black><span class="smallfont"><?=$activeseed?></span></font>&nbsp;&nbsp;<img alt="Torrents leeching" title="Torrents leeching" src="pic/arrowdown.gif">&nbsp;<font color=black><span class="smallfont"><?=$activeleech?></span></font></td>     <td class="bottom" align="right"><span class="smallfont">The time is now: <?echo "$datum[hours]:$datum[minutes]";
?><br/>
<?
if ($messages)
{
print(
"<span class=smallfont><a href=inbox.php>$inboxpic</a> $messages ($unread New)</span>");
if (
$outmessages)
print(
"<span class=smallfont>&nbsp;&nbsp;<a href=inbox.php?out=1><img height=14px style=border:none alt=sentbox title=sentbox src=pic/pn_sentbox.gif></a> $outmessages</span>");
else
print(
"<span class=smallfont>&nbsp;&nbsp;<a href=inbox.php?out=1><img height=14px style=border:none alt=sentbox title=sentbox src=pic/pn_sentbox.gif></a> 0</span>");}
else
{
print(
"<span class=smallfont><a href=inbox.php><img height=14px style=border:none alt=inbox title=inbox src=pic/pn_inbox.gif></a> 0</span>");
if (
$outmessages)
print(
"<span class=smallfont>&nbsp;&nbsp;<a href=inbox.php?out=1><img height=14px style=border:none alt=sentbox title=sentbox src=pic/pn_sentbox.gif></a> $outmessages</span>");
else
print(
"<span class=smallfont>&nbsp;&nbsp;<a href=inbox.php?out=1><img height=14px style=border:none alt=sentbox title=sentbox src=pic/pn_sentbox.gif></a> 0</span>");
}
print(
"&nbsp;<a href=friends.php><img style=border:none alt=Buddylist title=Buddylist src=pic/buddylist.gif></a>");
?>
</span></td>
</tr></table></table>
<p>
<?
}
?>
<!-- /////////// here we go, with the menu //////////// -->
<?php

$w 
"width=100%";
//if ($_SERVER["REMOTE_ADDR"] == $_SERVER["SERVER_ADDR"]) $w = "width=984";

?>
<table class=mainouter <?=$w?> border="1" cellspacing="0" cellpadding="10">
<?php

$w 
"width=100%";
//if ($_SERVER["REMOTE_ADDR"] == $_SERVER["SERVER_ADDR"]) $w = "width=984";

?>
<table class=mainouter <?=$w?> border="1" cellspacing="0" cellpadding="10">

<!------------- MENU ------------------------------------------------------------------------>

<? $fn substr($_SERVER['PHP_SELF'], strrpos($_SERVER['PHP_SELF'], "/") + 1); ?>
<tr><td class=outer align=center>
<table class=main width=700 cellspacing="0" cellpadding="5" border="0">
<tr>

<td align="center" class="navigation"><a href=index.php>Home</a></td>
<td align="center" class="navigation"><a href=browse.php>Browse</a></td>
<td align="center" class="navigation"><a href=search.php>Search</a></td>
<td align="center" class="navigation"><a href=upload.php>Upload</a></td>
<? if (!$CURUSER) { ?>
<td align="center" class="navigation">
<a href=login.php>Login</a> / <a href=signup.php>Signup</a>
</td>
<? } else { ?>
<td align="center" class="navigation"><a href=my.php>Profile</a></td>
<? ?>
<td align="center" class="navigation"><a href=chat.php>Chat</a></td>
<td align="center" class="navigation"><a href=forums.php>Forums</a></td>
<td align="center" class="navigation"><a href=misc/dox.php>DOX</a></td>
<td align="center" class="navigation"><a href=topten.php>Top 10</a></td>
<td align="center" class="navigation"><a href=log.php>Log</a></td>
<td align="center" class="navigation"><a href=rules.php>Rules</a></td>
<td align="center" class="navigation"><a href=faq.php>FAQ</a></td>
<td align="center" class="navigation"><a href=links.php>Links</a></td>
<td align="center" class="navigation"><a href=staff.php>Staff</a></td>
</tr>
</table>
</td>
</tr>
<tr><td align=center class=outer style="padding-top: 20px; padding-bottom: 20px">
<?

if ($unread)
{
  print(
"<p><table border=0 cellspacing=0 cellpadding=10 bgcolor=red><tr><td style='padding: 10px; background: red'>\n");
  print(
"<b><a href=inbox.php><font color=white>You have $unread new message" . ($unread "s" "") . "!</font></a></b>");
  print(
"</td></tr></table></p>\n");
}

// stdhead

function stdfoot() {

}

function 
genbark($x,$y) {
    
stdhead($y);
    print(
"<h2>" htmlspecialchars($y) . "</h2>\n");
    print(
"<p>" htmlspecialchars($x) . "</p>\n");
    
stdfoot();
    exit();
}

function 
mksecret($len 20) {
    
$ret "";
    for (
$i 0$i $len$i++)
        
$ret .= chr(mt_rand(0255));
    return 
$ret;
}

function 
httperr($code 404) {
    
header("HTTP/1.0 404 Not found");
    print(
"<h1>Not Found</h1>\n");
    print(
"<p>Sorry pal :(</p>\n");
    exit();
}

function 
gmtime()
{
    return 
strtotime(get_date_time());
}

/*
function logincookie($id, $password, $secret, $updatedb = 1, $expires = 0x7fffffff) {
    $md5 = md5($secret . $password . $secret);
    setcookie("uid", $id, $expires, "/");
    setcookie("pass", $md5, $expires, "/");

    if ($updatedb)
        mysql_query("UPDATE users SET last_login = NOW() WHERE id = $id");
}
*/

function logincookie($id$passhash$expires 0x7fffffff)
{
    if (
$expires != 0x7fffffff)
    {
      
$expires time() + 900;
    }
    
setcookie("uid"$id$expires"/");
    
setcookie("pass"$passhash$expires"/");
 
// if ($updatedb)
      
mysql_query("UPDATE users SET last_login = NOW() WHERE id = $id");
}


function 
logoutcookie() {
    
setcookie("uid"""0x7fffffff"/");
    
setcookie("pass"""0x7fffffff"/");
}

function 
loggedinorreturn() {
    global 
$CURUSER;
    if (!
$CURUSER) {
        
header("Location: $BASEURL/login.php?returnto=" urlencode($_SERVER["REQUEST_URI"]));
        exit();
    }
}

function 
deletetorrent($id) {
    global 
$torrent_dir;
    
mysql_query("DELETE FROM torrents WHERE id = $id");
    foreach(
explode(".","peers.files.comments.ratings") as $x)
        
mysql_query("DELETE FROM $x WHERE torrent = $id");
    
unlink("$torrent_dir/$id.torrent");
}

function 
pager($rpp$count$href$opts = array()) {
    
$pages ceil($count $rpp);

    if (!
$opts["lastpagedefault"])
        
$pagedefault 0;
    else {
        
$pagedefault floor(($count 1) / $rpp);
        if (
$pagedefault 0)
            
$pagedefault 0;
    }

    if (isset(
$_GET["page"])) {
        
$page $_GET["page"];
        if (
$page 0)
            
$page $pagedefault;
    }
    else
        
$page $pagedefault;

    
$pager "";

    
$mp $pages 1;
    
$as "<b>&lt;&lt;&nbsp;Prev</b>";
    if (
$page >= 1) {
        
$pager .= "<a href=\"{$href}page=" . ($page 1) . "\">";
        
$pager .= $as;
        
$pager .= "</a>";
    }
    else
        
$pager .= $as;
    
$pager .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
    
$as "<b>Next&nbsp;&gt;&gt;</b>";
    if (
$page $mp && $mp >= 0) {
        
$pager .= "<a href=\"{$href}page=" . ($page 1) . "\">";
        
$pager .= $as;
        
$pager .= "</a>";
    }
    else
        
$pager .= $as;

    if (
$count) {
        
$pagerarr = array();
        
$dotted 0;
        
$dotspace 3;
        
$dotend $pages $dotspace;
        
$curdotend $page $dotspace;
        
$curdotstart $page $dotspace;
        for (
$i 0$i $pages$i++) {
            if ((
$i >= $dotspace && $i <= $curdotend) || ($i >= $curdotstart && $i $dotend)) {
                if (!
$dotted)
                    
$pagerarr[] = "...";
                
$dotted 1;
                continue;
            }
            
$dotted 0;
            
$start $i $rpp 1;
            
$end $start $rpp 1;
            if (
$end $count)
                
$end $count;
            
$text "$start&nbsp;-&nbsp;$end";
            if (
$i != $page)
                
$pagerarr[] = "<a href=\"{$href}page=$i\"><b>$text</b></a>";
            else
                
$pagerarr[] = "<b>$text</b>";
        }
        
$pagerstr join(" | "$pagerarr);
        
$pagertop "<p align=\"center\">$pager<br />$pagerstr</p>\n";
        
$pagerbottom "<p align=\"center\">$pagerstr<br />$pager</p>\n";
    }
    else {
        
$pagertop "<p align=\"center\">$pager</p>\n";
        
$pagerbottom $pagertop;
    }

    
$start $page $rpp;

    return array(
$pagertop$pagerbottom"LIMIT $start,$rpp");
}

function 
downloaderdata($res) {
    
$rows = array();
    
$ids = array();
    
$peerdata = array();
    while (
$row mysql_fetch_assoc($res)) {
        
$rows[] = $row;
        
$id $row["id"];
        
$ids[] = $id;
        
$peerdata[$id] = array(downloaders => 0seeders => 0comments => 0);
    }

    if (
count($ids)) {
        
$allids implode(","$ids);
        
$res mysql_query("SELECT COUNT(*) AS c, torrent, seeder FROM peers WHERE torrent IN ($allids) GROUP BY torrent, seeder");
        while (
$row mysql_fetch_assoc($res)) {
            if (
$row["seeder"] == "yes")
                
$key "seeders";
            else
                
$key "downloaders";
            
$peerdata[$row["torrent"]][$key] = $row["c"];
        }
        
$res mysql_query("SELECT COUNT(*) AS c, torrent FROM comments WHERE torrent IN ($allids) GROUP BY torrent");
        while (
$row mysql_fetch_assoc($res)) {
            
$peerdata[$row["torrent"]]["comments"] = $row["c"];
        }
    }

    return array(
$rows$peerdata);
}

function 
commenttable($rows)
{
    global 
$CURUSER$pic_base_url;
    
begin_main_frame();
    
begin_frame();
    
$count 0;
    foreach (
$rows as $row)
    {
        print(
"<p class=sub>#" $row["id"] . " by ");
    if (isset(
$row["username"]))
        {
            
$title $row["title"];
            if (
$title == "")
                
$title get_user_class_name($row["class"]);
            else
                
$title htmlspecialchars($title);
        print(
"<a name=comm"$row["id"] .
            
" href=userdetails.php?id=" $row["user"] . "><b>" .
            
htmlspecialchars($row["username"]) . "</b></a>" . ($row["donor"] == "yes" "<img src=\"{$pic_base_url}star.gif\" alt='Donor'>" "") . ($row["warned"] == "yes" "<img src=".
                
"\"{$pic_base_url}warned.gif\" alt=\"Warned\">" "") . " ($title)\n");
        }
        else
           print(
"<a name=\"comm" $row["id"] . "\"><i>(orphaned)</i></a>\n");

        print(
" at " $row["added"] . " GMT" .
            (
$row["user"] == $CURUSER["id"] || get_user_class() >= UC_MODERATOR "- [<a href=comment.php?action=edit&amp;cid=$row[id]>Edit</a>]" "") .
            (
get_user_class() >= UC_MODERATOR "- [<a href=comment.php?action=delete&amp;cid=$row[id]>Delete</a>]" "") .
            (
$row["editedby"] && get_user_class() >= UC_MODERATOR "- [<a href=comment.php?action=vieworiginal&amp;cid=$row[id]>View original</a>]" "") . "</p>\n");
        
$avatar = ($CURUSER["avatars"] == "yes" htmlspecialchars($row["avatar"]) : "");
        if (!
$avatar)
            
$avatar "{$pic_base_url}default_avatar.gif";
        
$text format_comment($row["text"]);
    if (
$row["editedby"])
        
$text .= "<p><font size=1 class=small>Last edited by <a href=userdetails.php?id=$row[editedby]><b>$row[username]</b></a> at $row[editedat] GMT</font></p>\n";
        
begin_table(true);
        print(
"<tr valign=top>\n");
        print(
"<td align=center width=150 style='padding: 0px'><img width=150 src=\"{$avatar}\"></td>\n");
        print(
"<td class=text>$text</td>\n");
        print(
"</tr>\n");
     
end_table();
  }
    
end_frame();
    
end_main_frame();
}

function 
searchfield($s) {
    return 
preg_replace(array('/[^a-z0-9]/si''/^\s*/s''/\s*$/s''/\s+/s'), array(" """""" "), $s);
}

function 
genrelist() {
    
$ret = array();
    
$res mysql_query("SELECT id, name FROM categories ORDER BY name");
    while (
$row mysql_fetch_array($res))
        
$ret[] = $row;
    return 
$ret;
}

function 
linkcolor($num) {
    if (!
$num)
        return 
"red";
//    if ($num == 1)
//        return "yellow";
    
return "green";
}

function 
ratingpic($num) {
    global 
$pic_base_url;
    
$r round($num 2) / 2;
    if (
$r || $r 5)
        return;
    return 
"<img src=\"{$pic_base_url}{$r}.gif\" border=\"0\" alt=\"rating: $num / 5\" />";
}

function 
torrenttable($res$variant "index") {
    global 
$pic_base_url$CURUSER;

    if (
$CURUSER["class"] < UC_VIP)
  {
      
$gigs $CURUSER["uploaded"] / (1024*1024*1024);
      
$ratio = (($CURUSER["downloaded"] > 0) ? ($CURUSER["uploaded"] / $CURUSER["downloaded"]) : 0);
      if (
$ratio 0.5 || $gigs 5$wait 48;
      elseif (
$ratio 0.65 || $gigs 6.5$wait 24;
      elseif (
$ratio 0.8 || $gigs 8$wait 12;
      elseif (
$ratio 0.95 || $gigs 9.5$wait 6;
      else 
$wait 0;
  }
?>
<table border="1" cellspacing=0 cellpadding=5>
<tr>

<td class="colhead" align="center">Type</td>
<td class="colhead" align=left>Name</td>
<!--<td class="heading" align=left>DL</td>-->
<?
    
if ($wait)
    {
        print(
"<td class=\"colhead\" align=\"center\">Wait</td>\n");
    }

    if (
$variant == "mytorrents")
  {
      print(
"<td class=\"colhead\" align=\"center\">Edit</td>\n");
    print(
"<td class=\"colhead\" align=\"center\">Visible</td>\n");
    }

?>
<td class="colhead" align=right>Files</td>
<td class="colhead" align=right>Comm.</td>
<!--<td class="colhead" align="center">Rating</td>-->
<td class="colhead" align="center">Added</td>
<td class="colhead" align="center">TTL</td>
<td class="colhead" align="center">Size</td>
<!--
<td class="colhead" align=right>Views</td>
<td class="colhead" align=right>Hits</td>
-->
<td class="colhead" align="center">Snatched</td>
<td class="colhead" align=right>Seeders</td>
<td class="colhead" align=right>Leechers</td>
<?

    
if ($variant == "index")
        print(
"<td class=\"colhead\" align=center>Upped&nbsp;by</td>\n");

    print(
"</tr>\n");

    while (
$row mysql_fetch_assoc($res)) {
        
$id $row["id"];
        print(
"<tr>\n");

        print(
"<td align=center style='padding: 0px'>");
        if (isset(
$row["cat_name"])) {
            print(
"<a href=\"browse.php?cat=" $row["category"] . "\">");
            if (isset(
$row["cat_pic"]) && $row["cat_pic"] != "")
                print(
"<img border=\"0\" src=\"{$pic_base_url}{$row['cat_pic']}\" alt=\"{$row['cat_name']}\" />");
            else
                print(
$row["cat_name"]);
            print(
"</a>");
        }
        else
            print(
"-");
        print(
"</td>\n");

        
$dispname htmlspecialchars($row["name"]);
        print(
"<td align=left><a href=\"details.php?");
        if (
$variant == "mytorrents")
            print(
"returnto=" urlencode($_SERVER["REQUEST_URI"]) . "&amp;");
        print(
"id=$id");
        if (
$variant == "index")
            print(
"&amp;hit=1");
        print(
"\"><b>$dispname</b></a>\n");

                if (
$wait)
                {
                  
$elapsed floor((gmtime() - strtotime($row["added"])) / 3600);
            if (
$elapsed $wait)
            {
              
$color dechex(floor(127*($wait $elapsed)/48 128)*65536);
              print(
"<td align=center><nobr><a href=\"faq.php#dl8\"><font color=\"$color\">" number_format($wait $elapsed) . " h</font></a></nobr></td>\n");
            }
            else
              print(
"<td align=center><nobr>None</nobr></td>\n");
        }

/*
        if ($row["nfoav"] && get_user_class() >= UC_POWER_USER)
          print("<a href=viewnfo.php?id=$row[id]><img src=\"{$pic_base_url}viewnfo.gif" border=0 alt='View NFO'></a>\n");
        if ($variant == "index")
            print("<a href=\"download.php/$id/" . rawurlencode($row["filename"]) . "\"><img src=\"{$pic_base_url}download.gif\" border=0 alt=Download></a>\n");

        else */ 
if ($variant == "mytorrents")
            print(
"<td align=\"center\"><a href=\"edit.php?returnto=" urlencode($_SERVER["REQUEST_URI"]) . "&amp;id=" $row["id"] . "\">edit</a>\n");
print(
"</td>\n");
        if (
$variant == "mytorrents") {
            print(
"<td align=\"right\">");
            if (
$row["visible"] == "no")
                print(
"<b>no</b>");
            else
                print(
"yes");
            print(
"</td>\n");
        }

        if (
$row["type"] == "single")
            print(
"<td align=\"right\">" $row["numfiles"] . "</td>\n");
        else {
            if (
$variant == "index")
                print(
"<td align=\"right\"><b><a href=\"details.php?id=$id&amp;hit=1&amp;filelist=1\">" $row["numfiles"] . "</a></b></td>\n");
            else
                print(
"<td align=\"right\"><b><a href=\"details.php?id=$id&amp;filelist=1#filelist\">" $row["numfiles"] . "</a></b></td>\n");
        }

        if (!
$row["comments"])
            print(
"<td align=\"right\">" $row["comments"] . "</td>\n");
        else {
            if (
$variant == "index")
                print(
"<td align=\"right\"><b><a href=\"details.php?id=$id&amp;hit=1&amp;tocomm=1\">" $row["comments"] . "</a></b></td>\n");
            else
                print(
"<td align=\"right\"><b><a href=\"details.php?id=$id&amp;page=0#startcomments\">" $row["comments"] . "</a></b></td>\n");
        }

/*
        print("<td align=\"center\">");
        if (!isset($row["rating"]))
            print("---");
        else {
            $rating = round($row["rating"] * 2) / 2;
            $rating = ratingpic($row["rating"]);
            if (!isset($rating))
                print("---");
            else
                print($rating);
        }
        print("</td>\n");
*/
        
print("<td align=center><nobr>" str_replace(" ""<br />"$row["added"]) . "</nobr></td>\n");
        
$ttl = (28*24) - floor((gmtime() - sql_timestamp_to_unix_timestamp($row["added"])) / 3600);
        if (
$ttl == 1$ttl .= "<br>hour"; else $ttl .= "<br>hours";
        print(
"<td align=center>$ttl</td>\n");
        print(
"<td align=center>" str_replace(" ""<br>"mksize($row["size"])) . "</td>\n");
//        print("<td align=\"right\">" . $row["views"] . "</td>\n");
//        print("<td align=\"right\">" . $row["hits"] . "</td>\n");
        
$_s "";
        if (
$row["times_completed"] != 1)
          
$_s "s";
        print(
"<td align=center>" number_format($row["times_completed"]) . "<br>time$_s</td>\n");

        if (
$row["seeders"]) {
            if (
$variant == "index")
            {
               if (
$row["leechers"]) $ratio $row["seeders"] / $row["leechers"]; else $ratio 1;
                print(
"<td align=right><b><a href=details.php?id=$id&amp;hit=1&amp;toseeders=1><font color=" .
                  
get_slr_color($ratio) . ">" $row["seeders"] . "</font></a></b></td>\n");
            }
            else
                print(
"<td align=\"right\"><b><a class=\"" linkcolor($row["seeders"]) . "\" href=\"details.php?id=$id&amp;dllist=1#seeders\">" .
                  
$row["seeders"] . "</a></b></td>\n");
        }
        else
            print(
"<td align=\"right\"><span class=\"" linkcolor($row["seeders"]) . "\">" $row["seeders"] . "</span></td>\n");

        if (
$row["leechers"]) {
            if (
$variant == "index")
                print(
"<td align=right><b><a href=details.php?id=$id&amp;hit=1&amp;todlers=1>" .
                   
number_format($row["leechers"]) . ($peerlink "</a>" "") .
                   
"</b></td>\n");
            else
                print(
"<td align=\"right\"><b><a class=\"" linkcolor($row["leechers"]) . "\" href=\"details.php?id=$id&amp;dllist=1#leechers\">" .
                  
$row["leechers"] . "</a></b></td>\n");
        }
        else
            print(
"<td align=\"right\">0</td>\n");

        if (
$variant == "index")
            print(
"<td align=center>" . (isset($row["username"]) ? ("<a href=userdetails.php?id=" $row["owner"] . "><b>" htmlspecialchars($row["username"]) . "</b></a>") : "<i>(unknown)</i>") . "</td>\n");

        print(
"</tr>\n");
    }

    print(
"</table>\n");

    return 
$rows;
}

function 
hash_pad($hash) {
    return 
str_pad($hash20);
}

function 
hash_where($name$hash) {
    
$shhash preg_replace('/ *$/s'""$hash);
    return 
"($name = " sqlesc($hash) . " OR $name = " sqlesc($shhash) . ")";
}

function 
get_user_icons($arr$big false)
{
    global 
$pic_base_url;
    if (
$big)
    {
        
$donorpic "starbig.gif";
        
$warnedpic "warnedbig.gif";
        
$disabledpic "disabledbig.gif";
        
$style "style='margin-left: 4pt'";
    }
    else
    {
        
$donorpic "star.gif";
        
$warnedpic "warned.gif";
        
$disabledpic "disabled.gif";
        
$style "style=\"margin-left: 2pt\"";
    }
    
$pics $arr["donor"] == "yes" "<img src=\"{$pic_base_url}{$donorpic}\" alt='Donor' border=0 $style>" "";
    if (
$arr["enabled"] == "yes")
        
$pics .= $arr["warned"] == "yes" "<img src=\"{$pic_base_url}{$warnedpic}\" alt=\"Warned\" border=0 $style>" "";
    else
        
$pics .= "<img src=\"{$pic_base_url}{$disabledpic}\" alt=\"Disabled\" border=0 $style>\n";
    return 
$pics;
}

require 
"global.php";

?>

Last edited by irfan; 2nd November 2009 at 01:56.
Reply With Quote
  #2  
Old 30th October 2009, 10:52
STRiK3R STRiK3R is offline
Member
 
Join Date: May 2009
P2P
Posts: 8
Default
change it to your site name
Reply With Quote
  #3  
Old 2nd November 2009, 01:50
irfan's Avatar
irfan irfan is offline
Senior Member
 
Join Date: Jun 2009
United Kingdom
Posts: 67
Default
tried alread i get error where "fucktard line is lol"
Reply With Quote
Reply

Tags
exploit , image , problem

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Image resize problem lovebeer TBDev 7 20th November 2012 13:35
Problem With Torrent Image Upload GauravJ123 xBTiT 3 5th March 2010 01:46
Strange image problem TSSE 5.6 sakray Template Shares 0 4th March 2010 09:32
image scream21m Template Shares 0 16th June 2009 12:00
netmaniack 1.6 problem freeleech and Image link r3y TBDev 4 11th March 2009 22:01



All times are GMT +2. The time now is 22:35. vBulletin skin by ForumMonkeys. Powered by vBulletin® Version 3.8.11 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions Inc.