NetVision-Technik

NetVision-Technik (http://www.netvision-technik.de/forum/index.php)
-   Security (http://www.netvision-technik.de/forum/forumdisplay.php?f=32)
-   -   suche Progi zum Testen der Tracker-Sicherheit (http://www.netvision-technik.de/forum/showthread.php?t=4406)

razza 21.11.2009 20:06

suche Progi zum Testen der Tracker-Sicherheit
 
hallo ihr lieben ich habe da mal wieder eine frage ich suche ein progi wo ich schauen kann ob mein tracker dicht ist bzw mir die fehler anzeigt wo ich nochmal drüber arbeiten muss gibt es so ein progi ?? wenn ja hätte ich gerne ein link(pn) da wäre mir sehr geholfen mfg der razza :confused:

Cerberus 21.11.2009 20:11

das Thema hatten wir schon unzählige male ...

1.) etwas, was wirklich zu 100% funktioniert gibt es nicht
2.) Grundlagen der Sicherheit findest Du hier
3.) ein "Progi" wird Dir niemals das denken abnehmen

lies Dir mal die alten Threads durch ...

PS: eines der dollen Tools war mal der Ansicht, das das Forum gravierende Lücken hatte -- in Scripten, die es gar nicht gibt !!!!!!!!!!!!!!!!!!!

razza 21.11.2009 20:16

ich dachte so was gibt es das ist schade für mich! und ihr sucht die fehler alle selber raus ?das ist aber auch eineschöne arbeit :paber danke für die schnelle antwort ! auf was muss ich den am meisten achten ?

Cerberus 21.11.2009 20:20

Da gibts schon Threads ...

auch habe ich mal einen Hack geschrieben, der ohne zusätzlichen Code alle gesendeten Parameter überprüft und absichert ...

Schau mal im Forum ...

DefCon3 21.11.2009 20:32

Wichtig sind halt Benutzter Eingaben zu prüfen die Zugang zur Datenbank haben, die Eingaben müssen geprüft und gefiltert werden.

ein paar beispiele
- User Profil bearbeiten
- Passwort Recover
- Invite Systeme
- Shoutbox
- Wunschlisten für Radio etc
- Login
- sämtliche Suchfelder (Torrents & User)
- PMs

etc etc etc ... die Liste kann ziemlich lang werden, wie Cerb schon sagte gibts ein Paar threads die das Thema ansprechen. Und wie du schon sagtest ist es auch eine schöne Arbeit, vorallem aber ist es eine WICHIGE Arbeit die man nicht vernachlässigen darf!

razza 21.11.2009 20:36

da bin ich doch dann hier richtig aufgehoben ! ich glaube nicht das ich schon alles erkennen kann was fehler sind was net ! bin noch im anfangsstatus was coden angeht

tantetoni2 21.11.2009 21:39

einfach alle $_POST, $_GET, $_COOKIE und $_ENV variablen absichern und schon ist das erledigt

ich hatte schonmal dazu was simples und wirkungsvolles gepostet.

ich habe letzten zwei neue funktionen geschrieben die ich eigendlich nicht posten wollte aber ich habe heute meinen sozialen tag

so das muss alles in die bittorrent.php ganz am anfang vor allem aber nach <? oder <?php und natürlich vor den ganzen includes

PHP-Code:

function validate_var($val)
{
  if(isset(
$val))
  { 
    if(
is_numeric($val))
    {
        if(
is_float($val))    return floatval($val);
        elseif(
is_int($val))  return intval($val);
        else                  return 
floatval($val);
    }
    elseif(
is_bool($val))
    {
        if(
$val == || $val === true)      return true;
        elseif(
$val == || $val === false) return false;
        else return 
0;
    }
    elseif(
is_string($val))  return htmlspecialchars($val);
    elseif(
is_null($val))    return null;
    else  return 
$val;
  }
  else  return;


dadrunter diese

PHP-Code:

function secure_vars()
{
  if(isset(
$_POST))
  {
    foreach (
$_POST as $var => $val)
    { 
      
$_POST[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_GET))
  {
    foreach (
$_GET as $var => $val)
    { 
      
$_GET[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_ENV))
  {
    foreach (
$_ENV as $var => $val
    { 
      
$_ENV[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_COOKIE))
  {
    foreach (
$_COOKIE as $var => $val
    { 
      
$_COOKIE[$var] = validate_var($val); 
    } 
  }


und gleich dadrunter das

PHP-Code:

secure_vars(); 

so werden alle variablen die durch user eingaben manipuliert werden können gesichert und ihr spart es euch jedes mal jede einzelne variable abzusichern das machen die funktion

razza 21.11.2009 21:44

super sache danke !!

NaIch 21.11.2009 22:02

wenn ich das einbaue dann kann mich nicht mehr einloggen , geht immer wieder auf die login.php .
der anfabg sieht bei mir mit einbau ao aus:

PHP-Code:

<?php

/*
// +--------------------------------------------------------------------------+
// | Project:    NVTracker - NetVision BitTorrent Tracker                     |
// +--------------------------------------------------------------------------+
// | This file is part of NVTracker. NVTracker is based on BTSource,          |
// | originally by RedBeard of TorrentBits, extensively modified by           |
// | Gartenzwerg.                                                             |
// |                                                                          |
// | NVTracker is free software; you can redistribute it and/or modify        |
// | it under the terms of the GNU General Public License as published by     |
// | the Free Software Foundation; either version 2 of the License, or        |
// | (at your option) any later version.                                      |
// |                                                                          |
// | NVTracker is distributed in the hope that it will be useful,             |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of           |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            |
// | GNU General Public License for more details.                             |
// |                                                                          |
// | You should have received a copy of the GNU General Public License        |
// | along with NVTracker; if not, write to the Free Software Foundation,     |
// | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA            |
// +--------------------------------------------------------------------------+
// | Obige Zeilen dürfen nicht entfernt werden!    Do not remove above lines! |
// +--------------------------------------------------------------------------+
*/
function validate_var($val)
{
  if(isset(
$val))
  { 
    if(
is_numeric($val))
    {
        if(
is_float($val))    return floatval($val);
        elseif(
is_int($val))  return intval($val);
        else return;
    }
    elseif(
is_bool($val))
    {
        if(
$val == || $val === true)      return true;
        elseif(
$val == || $val === false) return false;
        else return;
    }
    elseif(
is_string($val))   return htmlspecialchars($val);
    elseif(
is_null($val))     return null;
    else  return 
$val;
  }
  else  return;  
}  
function 
secure_vars()
{
  if(isset(
$_POST))
  {
    foreach (
$_POST as $var => $val)
    { 
      
$_POST[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_GET))
  {
    foreach (
$_GET as $var => $val)
    { 
      
$_GET[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_ENV))
  {
    foreach (
$_ENV as $var => $val
    { 
      
$_ENV[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_COOKIE))
  {
    foreach (
$_COOKIE as $var => $val
    { 
      
$_COOKIE[$var] = validate_var($val); 
    } 
  }
}  
secure_vars();
function 
local_user()
{
    global 
$HTTP_SERVER_VARS;

    return 
$HTTP_SERVER_VARS["SERVER_ADDR"] == $HTTP_SERVER_VARS["REMOTE_ADDR"];

$agent $_SERVER['HTTP_USER_AGENT'];

if(
preg_match("/Chrome/i",$agent)) 
{
?>

<script type="text/javascript">
message="Du benutzt den Google Chrome von Google! Dieser ist auf dieser Seite wegen hohen Sicherheitsmängeln und Informations-Sammelwut gesperrt. Wir empfehlen den Browser Firefox zum Surfen!!!";
alert(unescape(message));
window.location.href='http://xxxxxxxxxxxxxxxxxx';
</script>

<?

header("Location: http://www.google.de");  // falls Javascript deaktiviert ärgern wir mal ihn ein bisschen und leiten ihn auf seinen Ursprung zurück
}
if (!file_exists("include/secrets.php") || !file_exists("include/config.php"))
    die("<html><head><title>FEHLER</title></head><body><p>Der Tracker wurde noch nicht konfiguriert.</p>
        <p><a href=\"inst/install.php\">Zum Installationsscript</a></p>

</body></html>");

require_once("include/secrets.php");
require_once("include/config.php");
require_once("include/cleanup.php");
require_once("include/shoutcast.php");
require_once('include/ctracker.php');
require_once('include/sicherheits.php');
$maxloginattempts = 4;


tantetoni2 21.11.2009 22:11

ja dann haste wohl irgendwo ein fehler drin, bei mir läuft das sein monaten ohne probs, kann an deiner takelogin.php liegen

NaIch 21.11.2009 22:14

nach was muss den dann suchen ?????

PHP-Code:

<?
/*
// +--------------------------------------------------------------------------+
// | Project:    NVTracker - NetVision BitTorrent Tracker                     |
// +--------------------------------------------------------------------------+
// | This file is part of NVTracker. NVTracker is based on BTSource,          |
// | originally by RedBeard of TorrentBits, extensively modified by           |
// | Gartenzwerg.                                                             |
// |                                                                          |
// | NVTracker is free software; you can redistribute it and/or modify        |
// | it under the terms of the GNU General Public License as published by     |
// | the Free Software Foundation; either version 2 of the License, or        |
// | (at your option) any later version.                                      |
// |                                                                          |
// | NVTracker is distributed in the hope that it will be useful,             |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of           |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            |
// | GNU General Public License for more details.                             |
// |                                                                          |
// | You should have received a copy of the GNU General Public License        |
// | along with NVTracker; if not, write to the Free Software Foundation,     |
// | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA            |
// +--------------------------------------------------------------------------+
// | Obige Zeilen dürfen nicht entfernt werden!    Do not remove above lines! |
// +--------------------------------------------------------------------------+
 */

require_once("include/bittorrent.php");

hit_start();

if (!mkglobal("username:password"))
    die("Hier ist was faul...");

dbconn();

hit_count();
failedloginscheck ();

function bark($text = "Benutzername oder Passwort ungültig")
{
  stderr("Login fehlgeschlagen!", $text);
}

session_start();

$res = mysql_query("SELECT * FROM users WHERE username = " . sqlesc($username) . " AND status = 'confirmed'");
$row = mysql_fetch_assoc($res);

if (!$row)
    failedlogins();

if ($row["passhash"] != md5($row["secret"] . $password . $row["secret"]))
    failedlogins();
if ($row["enabled"] == "no")
    bark("Dieser Account wurde deaktiviert.");

logincookie($row["id"], $row["passhash"]);

$ip = getip();

$_SESSION["userdata"] = $row;
$_SESSION["userdata"]["ip"] = $ip;

mysql_query("UPDATE users SET last_access='" . date("Y-m-d H:i:s") . "', ip='$ip' WHERE id=" . $row["id"]); // or die(mysql_error());
$url = $GLOBALS["DEFAULTBASEURL"] . "/index.php";
switch($row["go_after_login"])
{
  case 1 : $url = $GLOBALS["DEFAULTBASEURL"] . "/userdetails.php?id=" . $row["id"];
           break;
  case 2 : $url = $GLOBALS["DEFAULTBASEURL"] . "/user-controlpanel.php";
           break;
  case 3 : $url = $GLOBALS["DEFAULTBASEURL"] . "/mytorrents.php";
           break;
  case 4 : $url = $GLOBALS["DEFAULTBASEURL"] . "/browse.php";
           break;
  case 5 : $url = $GLOBALS["DEFAULTBASEURL"] . "/index.php";
           break;
}
if (!empty($_POST["returnto"]))
    header("Location: ".$BASEURL.$_POST["returnto"]);
else
    //    header("Location: $BASEURL/my.php?".SID);
    header("Location: ".$url);

hit_end();

?>


tantetoni2 21.11.2009 22:34

ups sorry war ne alte ferhlerhafte funktion aus ner älteren php bin hier gerade am hin und her switchen weil ich was überarbeite und ne alte funktion gesucht habe da bin hab ich mich wohl verklickt sorry, habs oben nochmal die aktuelle reingepackt sollte jetzt gehen

NaIch 21.11.2009 22:39

Firma sagt brav danke, funzt soweit jetzt

Solstice 21.11.2009 22:43

Ich würd ma gern was nachfragen bzw. mokieren.

PHP-Code:

function validate_var($val

  if(isset(
$val)) 
  {  
    if(
is_numeric($val)) 
    { 
// Wenn es eine Zahl ist wozu dann noch absichern? 
//  Is doch so schon sicher (Zahl bleibt Zahl lol).
        
if(is_float($val))    return floatval($val); 
        elseif(
is_int($val))  return intval($val); 
        else                  return 
floatval($val); 
    } 
    elseif(
is_bool($val)) 
    { 
// Wenn es ein boolscher wert ist braucht man den doch auch 
// nicht mehr extra definieren, Boolsche werte sind sicher...
        
if($val == || $val === true)      return true
        elseif(
$val == || $val === false) return false
        else return 
0
    } 
    elseif(
is_string($val))  return htmlspecialchars($val); 
    elseif(
is_null($val))    return null
    else  return 
$val
  } 
  else  return; 


In den ommentaren mokier ich mal... seh da keinen sinn drin ausser unnötigem Code...

tantetoni2 21.11.2009 23:36

du kannst es natürlich auch so machen

PHP-Code:

function validate_var($val

  if(isset(
$val)) 
  {  
    if(
is_numeric($val))      return floatval($val); 
    elseif(
is_bool($val))     return $val 
    elseif(
is_string($val))   return htmlspecialchars($val); 
    elseif(
is_null($val))     return null
    else                      return 
$val;
  } 
  else  return; 



Zero111 21.11.2009 23:43

ich würde aber nicht empfehlen dass direkt in der bt.php zu schmeißen

habs mal gemacht... das blöde ist in bereichen wo html code erlaubt ist (zb News) werden die html Befehle umgewandelt und werden nicht angezeigt..

von daher würde ich den aufruf der Funktion in den phps machen wo es auch auch gebraucht wird ;)

tantetoni2 21.11.2009 23:46

das ist doch ganz einfach da wo html angezeigt werden soll bzw erlaubt ist einfach den db string mit htmlspecialchars_decode($row['body']); ausgeben schon ist alles wieder richtig

Zero111 21.11.2009 23:48

hmm mal testen :D

NaIch 22.11.2009 00:36

bei mir funzt doch nicht so, einige user können mit ihrem passwort nicht mehr rein und bei mir und einigen spielen auf einmal torrents im clienten dull , verbinden nicht mehr error ungültiger info hash .....

tantetoni2 22.11.2009 01:35

hmm das ist komisch

Zero111 22.11.2009 01:54

bei mir wars auch so.. die announce ging nemmer

ich denke weil auch die parameter die vom clienten kommen 'abgesichert' wurden und dabei zersäbelt wurden^^

P4N1C 22.11.2009 02:14

Jop,
da hats i-was zerschossen.
Also hängt das wahrscheinlich indirekt mitm Script zusammen.

razza 22.11.2009 03:23

jo funzt !!

tantetoni2 22.11.2009 08:54

das kann natürlich sein, ich nutze ja die php announce nicht haben ja den xbt laufen, in den fall müsste man die funktion in den php aufrufen wo man sie nutzen will. hab mal noch ein paar parameter hinzu gefügt

wenn $P === true $_POST wird abgesichert,
wenn $G === true $_GET wird abgesichert,
wenn $E === true $_ENV wird abgesichert,
wenn $C === true $_COOKIE wird abgesichert

beispiel
so wird nur $_POST und $_GET abgesichert
PHP-Code:

secure_vars(truetrue,false,false

PHP-Code:

function secure_vars($P true$G true$E true$C true)
{
  if(isset(
$_POST) && $P === true)
  {
    foreach (
$_POST as $var => $val)
    { 
      
$_POST[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_GET) && $G === true)
  {
    foreach (
$_GET as $var => $val)
    { 
      
$_GET[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_ENV) && $E === true)
  {
    foreach (
$_ENV as $var => $val
    { 
      
$_ENV[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_COOKIE) && $C === true)
  {
    foreach (
$_COOKIE as $var => $val
    { 
      
$_COOKIE[$var] = validate_var($val); 
    } 
  }




--======================================--
--==
Beitrag erstellt: 09:54 um 09:47 ==--
--==
geantwortet auf Beitrag vom ==--
--== automatische Beitragszusammenführung ==--
--======================================--


tantetoni2 schrieb nach 7 Minuten und 5 Sekunden:

so und hier nochmal was um array rekursiev abzusichern da post wars auch array sein können

PHP-Code:

// rekursieve absicherung von array

function validate_array($arr)
{
  if(isset(
$arr) && is_array($arr))
  {
    foreach (
$arr as $var => $val)
    { 
      if(
is_array($val))$arr[$var] = validate_array($val);
      else 
$arr[$var] = validate_var($val); 
    } 
  }
  return 
$arr;


PHP-Code:

function secure_vars($P true$G true$E true$C true)
{
  if(isset(
$_POST) && $P === true)
  {
    foreach (
$_POST as $var => $val)
    { 
      if(
is_array($val)) $_POST[$var] = validate_array($val);
      else 
$_POST[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_GET) && $G === true)
  {
    foreach (
$_GET as $var => $val)
    { 
      
$_GET[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_ENV) && $E === true)
  {
    foreach (
$_ENV as $var => $val
    { 
      
$_ENV[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_COOKIE) && $C === true)
  {
    foreach (
$_COOKIE as $var => $val
    { 
      
$_COOKIE[$var] = validate_var($val); 
    } 
  }



NaIch 22.11.2009 15:21

leider nein , wenn :

PHP-Code:

<?php

/*
// +--------------------------------------------------------------------------+
// | Project:    NVTracker - NetVision BitTorrent Tracker                     |
// +--------------------------------------------------------------------------+
// | This file is part of NVTracker. NVTracker is based on BTSource,          |
// | originally by RedBeard of TorrentBits, extensively modified by           |
// | Gartenzwerg.                                                             |
// |                                                                          |
// | NVTracker is free software; you can redistribute it and/or modify        |
// | it under the terms of the GNU General Public License as published by     |
// | the Free Software Foundation; either version 2 of the License, or        |
// | (at your option) any later version.                                      |
// |                                                                          |
// | NVTracker is distributed in the hope that it will be useful,             |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of           |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            |
// | GNU General Public License for more details.                             |
// |                                                                          |
// | You should have received a copy of the GNU General Public License        |
// | along with NVTracker; if not, write to the Free Software Foundation,     |
// | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA            |
// +--------------------------------------------------------------------------+
// | Obige Zeilen dürfen nicht entfernt werden!    Do not remove above lines! |
// +--------------------------------------------------------------------------+
*/
// rekursieve absicherung von array

function validate_array($arr)
{
  if(isset(
$arr) && is_array($arr))
  {
    foreach (
$arr as $var => $val)
    { 
      if(
is_array($val))$arr[$var] = validate_array($val);
      else 
$arr[$var] = validate_var($val); 
    } 
  }
  return 
$arr;
}  
function 
secure_vars($P true$G true$E true$C true)
{
  if(isset(
$_POST) && $P === true)
  {
    foreach (
$_POST as $var => $val)
    { 
      if(
is_array($val)) $_POST[$var] = validate_array($val);
      else 
$_POST[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_GET) && $G === true)
  {
    foreach (
$_GET as $var => $val)
    { 
      
$_GET[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_ENV) && $E === true)
  {
    foreach (
$_ENV as $var => $val
    { 
      
$_ENV[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_COOKIE) && $C === true)
  {
    foreach (
$_COOKIE as $var => $val
    { 
      
$_COOKIE[$var] = validate_var($val); 
    } 
  }
}  
secure_vars(truetrue,false,false)
function 
local_user()
{
    global 
$HTTP_SERVER_VARS;

    return 
$HTTP_SERVER_VARS["SERVER_ADDR"] == $HTTP_SERVER_VARS["REMOTE_ADDR"];

$agent $_SERVER['HTTP_USER_AGENT'];

if(
preg_match("/Chrome/i",$agent)) 
{
?>

<script type="text/javascript">
message="Du benutzt den Google Chrome von Google! Dieser ist auf dieser Seite wegen hohen Sicherheitsmängeln und Informations-Sammelwut gesperrt. Wir empfehlen den Browser Firefox zum Surfen!!!";
alert(unescape(message));
window.location.href='http://xxxxxxxxxxxxxxxxxx';
</script>

<?

header("Location: http://www.google.de");  // falls Javascript deaktiviert ärgern wir mal ihn ein bisschen und leiten ihn auf seinen Ursprung zurück
}
if (!file_exists("include/secrets.php") || !file_exists("include/config.php"))
    die("<html><head><title>FEHLER</title></head><body><p>Der Tracker wurde noch nicht konfiguriert.</p>
        <p><a href=\"inst/install.php\">Zum Installationsscript</a></p>

</body></html>");

require_once("include/secrets.php");
require_once("include/config.php");
require_once("include/cleanup.php");
require_once("include/shoutcast.php");
require_once('include/ctracker.php');
require_once('include/sicherheits.php');
$maxloginattempts = 4;

dann weisse seite

moment jetzt funzt soweit mal sehen was komt nächsten minuten,
hatte bei :

PHP-Code:

secure_vars(truetrue,false,false

; nicht dran


funzt so nicht richtig den die cleanup wenn ausführe macht sofort weisse seite

tantetoni2 22.11.2009 15:39

dann machs einfach nur in den php rein wo was abgesichert werden soll in der cleanup.php ist das ja sinnlos, aber trotzdem komisch das es da nicht funzt weil da ja keine der globalen vars genutz werden oder haste einfach die funktion validate_var vergessen mit reinzupacken

PHP-Code:

function validate_var($val

  if(isset(
$val)) 
  {  
    if(
is_numeric($val))      return floatval($val); 
    elseif(
is_bool($val))     return $val 
    elseif(
is_string($val))   return htmlspecialchars($val); 
    elseif(
is_null($val))     return null
    else                      return 
$val;
  } 
  else  return; 



razza 22.11.2009 15:43

kennt einer das tool Acunetix Web Vulnerability Scanner ?

Solstice 23.11.2009 09:11

Ja is ebendas genannte Tool das da Sicherheitslücken anzeigt in Scripten die gar nicht existieren.

Müll auf gut deutsch...

hat bei meiner seite alle fehler angezeigt die nicht existieren und eine extra offengelassene Lücke von mir hat es nicht entdeckt...

Schrott, müll, fake , Abschaum :big_lol:

razza 23.11.2009 14:00

da weiß ich ja bescheid ! grins

NaIch 24.11.2009 03:42

habe es jetzt so in der bit

PHP-Code:

<?php

/*
// +--------------------------------------------------------------------------+
// | Project:    NVTracker - NetVision BitTorrent Tracker                     |
// +--------------------------------------------------------------------------+
// | This file is part of NVTracker. NVTracker is based on BTSource,          |
// | originally by RedBeard of TorrentBits, extensively modified by           |
// | Gartenzwerg.                                                             |
// |                                                                          |
// | NVTracker is free software; you can redistribute it and/or modify        |
// | it under the terms of the GNU General Public License as published by     |
// | the Free Software Foundation; either version 2 of the License, or        |
// | (at your option) any later version.                                      |
// |                                                                          |
// | NVTracker is distributed in the hope that it will be useful,             |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of           |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            |
// | GNU General Public License for more details.                             |
// |                                                                          |
// | You should have received a copy of the GNU General Public License        |
// | along with NVTracker; if not, write to the Free Software Foundation,     |
// | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA            |
// +--------------------------------------------------------------------------+
// | Obige Zeilen dürfen nicht entfernt werden!    Do not remove above lines! |
// +--------------------------------------------------------------------------+
*/
// rekursieve absicherung von array

function validate_array($arr)
{
  if(isset(
$arr) && is_array($arr))
  {
    foreach (
$arr as $var => $val)
    { 
      if(
is_array($val))$arr[$var] = validate_array($val);
      else 
$arr[$var] = validate_var($val); 
    } 
  }
  return 
$arr;
}  
function 
secure_vars($P true$G true$E true$C true)
{
  if(isset(
$_POST) && $P === true)
  {
    foreach (
$_POST as $var => $val)
    { 
      if(
is_array($val)) $_POST[$var] = validate_array($val);
      else 
$_POST[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_GET) && $G === true)
  {
    foreach (
$_GET as $var => $val)
    { 
      
$_GET[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_ENV) && $E === true)
  {
    foreach (
$_ENV as $var => $val
    { 
      
$_ENV[$var] = validate_var($val); 
    } 
  }
  if(isset(
$_COOKIE) && $C === true)
  {
    foreach (
$_COOKIE as $var => $val
    { 
      
$_COOKIE[$var] = validate_var($val); 
    } 
  }
}  
function 
validate_var($val

  if(isset(
$val)) 
  {  
    if(
is_numeric($val))      return floatval($val); 
    elseif(
is_bool($val))     return $val 
    elseif(
is_string($val))   return htmlspecialchars($val); 
    elseif(
is_null($val))     return null
    else                      return 
$val;
  } 
  else  return; 
}  
secure_vars(truetrue,false,false);
function 
local_user()
{
    global 
$HTTP_SERVER_VARS;

    return 
$HTTP_SERVER_VARS["SERVER_ADDR"] == $HTTP_SERVER_VARS["REMOTE_ADDR"];

$agent $_SERVER['HTTP_USER_AGENT'];

im moment noch alle ok bis auf das wenn jetzt manuellen cleanup ausführe kommt doppelt also so :

PHP-Code:

2009-11-24    04:37:52    Cleanup done    Cleanup erfolgreich abgeschlossen -- nächste Cleanup '2009-11-24 05:07:52'
2009-11-24    04:37:52        Von UserNamewurde ein manueller Cleanup durchgeführt nächster Cleanup '2009-11-24 05:07:52'
2009-11-24    04:37:38    Cleanup done    Cleanup erfolgreich abgeschlossen -- nächste Cleanup '2009-11-24 05:07:38'
2009-11-24    04:37:38        Von UserNamewurde ein manueller Cleanup durchgeführt nächster Cleanup '2009-11-24 05:07:38' 

und jetzt gerade werden alle torrents rot mit meldung zwischen 23-27 :

PHP-Code:

FehlerUngueltiger Wert fuer info_hash (27 - %C...........9BYo9.....%3B%
......%
26amp%3.....A

punkte sind normal zahlen und zeichen

Bluesteel 24.11.2009 06:25

einfach neu vom tracker runterladen und schon sollte es funzen habe das auch drin und keine probs

αζρλα zΞя0 24.11.2009 11:55

Zitat:

Zitat von Solstice (Beitrag 46375)
Ja is ebendas genannte Tool das da Sicherheitslücken anzeigt in Scripten die gar nicht existieren.

Müll auf gut deutsch...

hat bei meiner seite alle fehler angezeigt die nicht existieren und eine extra offengelassene Lücke von mir hat es nicht entdeckt...

Schrott, müll, fake , Abschaum :big_lol:

nee war es nicht.
das tool was cerb meinte heißt "[URLX="http://www.grendel-scan.com/"]Grendel Scan[/URLX]"

Solstice 24.11.2009 13:58

O Sorry... na gut...

auf jedenfall is das acunetix immer noch mist...


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 Uhr.

Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.