Beiträge von Peter

    Zitat

    Original von Shorty
    Ich weiss nicht wo du die her hast aber meine im zip ist das nicht , den die ist bearbeitet schau sie dir noch mal genau an?

    tut mir Leid. Ich habe deine Anfrage missverstanden. Hänge mit bitte die acp/login.php an.

    //Edit: Hat sich wohl erledigt ;)

    Datei wurde NICHT bearbeitet!

    füge folgende Zeilen Testweise nach

    PHP
    <?php

    in der customer.php ein:

    Code
    $request = $_REQUEST;
    foreach ($request as $key => $temp) {
      if (isset($_REQUEST[$key])) $$key = $_REQUEST[$key];
    }
    Zitat

    Original von mixit
    Wenn ich die Datei in den acp Ordner lege, und manuell aufrufe, dann wird nach den Logdaten für´s ACP verlangt. Liegt es vielleicht daran ?

    geanu das ist das Problem! Du hast den Fehler gefunden.. ich habe leider keine Zeit das zu verändern... werd schauen, ob ich das vielleciht einmal in einer freien minute hinbekommen

    Zitat

    Original von mixit
    Hmm, mache ich da was falsch ?

    Habe die erste Datei board_off.php genannt (die zum schließen), und die zweite board_on.php

    Dann habe ich beide Dateien ins Rootverzeichnis gelegt, und unter Cronjobs
    http://www.meinedomain.de/wbb/board_off.php angegeben bzw. board_on.php

    Wird auch angelegt und als ausgeführt angezeigt.
    Nur wird das Board weder in den Wartungsmodus noch zurück geschaltet.

    gibt die Datei eine Fehlermeldung, wenn du Sie manuell aufrufst?

    Datei zum Schließen:

    PHP
    require("./global.php");
    $db->unbuffered_query("UPDATE bb".$n."_options SET value='1' WHERE varname='offline'");
    $db->unbuffered_query("UPDATE bb".$n."_options SET value='OFFLINETEXT' WHERE varname='offlinemessage'");
    
    
    $option = new options("lib");
    $option->write();

    Datei zum Öffnen:

    PHP
    require("./global.php");
    $db->unbuffered_query("UPDATE bb".$n."_options SET value='0' WHERE varname='offline'");
    $db->unbuffered_query("UPDATE bb".$n."_options SET value='' WHERE varname='offlinemessage'");
    
    
    $option = new options("lib");
    $option->write();

    Über den Kundenbereich wäre es möglich Passwörter bzw. die Kundendatenbank auszulesen. Durch eine geschickte SQL-Injektion ist dies möglich. Folgender Bugfix behebt diese Sicherheitslücken!

    suchen Sie in der customer.php nach folgender Codestelle:

    und ersetzen Sie diese mit folgender


    suchen Sie weiters folgende Codestelle (2 mal!):

    Code
    $row = $db->query_first("SELECT password FROM bb".$n."_customer WHERE customerid = '".$_POST[customerid]."' AND password = '".$password."'");

    und ersetzen Sie diesen mit folgenden:

    Code
    $row = $db->query_first("SELECT password FROM bb".$n."_customer WHERE customerid = '".intval($_POST['customerid'])."' AND password = '".$password."'");    /* Bugfix 17/09/2006 | possible SQL-Injection */


    suchen sie weiters folgende Codestelle:

    Code
    if($_POST[send] == "submitorder") {
    
    
        $row = $db->query_first("SELECT * FROM bb".$n."_customer_products WHERE id = '".$_POST[productid]."'");
    
    
        $db->query("INSERT INTO bb".$n."_customer_rechnungen (customerid, email, productid, preis, status, time, make_update, installservice, firstname, name, address, zipcode, city, country, company, multilicense, paypal, userid)
         VALUES ('".$_POST[customerid]."','".$_POST[email]."','".$_POST[productid]."','".$_POST[preis]."',0,'".time()."','".$_POST[update]."','".$_POST[install]."','".$_POST[firstname]."','".$_POST[fname]."','".$_POST[address]."','".$_POST[zipcode]."','".$_POST[city]."','".$_POST[country]."','".$_POST[company]."','".$row['multilicense']."','".$_POST['payment']."','".$wbbuserdata['userid']."')");

    und ersetzen Sie diese mit folgender:

    Code
    $row = $db->query_first("SELECT * FROM bb".$n."_customer_products WHERE id = '".intval($_POST['productid'])."'");
    
    
        $db->query("INSERT INTO bb".$n."_customer_rechnungen (customerid, email, productid, preis, status, time, make_update, installservice, firstname, name, address, zipcode, city, country, company, multilicense, paypal, userid)
         VALUES ('".intval($_POST['customerid'])."','".addslashes($_POST['email'])."','".intval($_POST['productid'])."','".intval($_POST['preis'])."',0,'".time()."','".intval($_POST['update'])."','".intval($_POST['install'])."','".addslashes($_POST['firstname'])."','".addslashes($_POST['fname'])."','".addslashes($_POST['address'])."','".addslashes($_POST['zipcode'])."','".addslashes($_POST['city'])."','".addslashes($_POST['country'])."','".addslashes($_POST['company'])."','".addslashes($row['multilicense'])."','".addslashes($_POST['payment'])."','".$wbbuserdata['userid']."')");


    suchen Sie weiters nach folgender Codestelle:

    Code
    $row = $db->query_first("SELECT * FROM bb".$n."_customer_products WHERE id = '".$id."'");

    und ersetzen Sie diese mit folgender:

    Code
    $row = $db->query_first("SELECT * FROM bb".$n."_customer_products WHERE id = '".intval($id)."'"); /* Bugfix 17/09/2006 | possible SQL-Injection */

    suchen Sie weiters nach folgender Codestelle:

    Code
    $row = $db->query_first("SELECT * FROM bb".$n."_customer_products WHERE id = '".$id."'");

    und ersetzen Sie diese mit folgender:

    Code
    $row = $db->query_first("SELECT * FROM bb".$n."_customer_products WHERE id = '".intval($id)."'"); /* Bugfix 17/09/2006 | possible SQL-Injection */

    suchen Sie weiters nach folgender Codestelle:

    Code
    $filedata = $db->query_first("SELECT * FROM bb".$n."_customer_versions WHERE id = '".$id."'");

    und ersetze Sie diese mit folgender:

    Code
    $filedata = $db->query_first("SELECT * FROM bb".$n."_customer_versions WHERE id = '".intval($id)."'"); /* Bugfix 17/09/2006 | possible SQL-Injection */


    Suchen Sie in der Datei products.php nach folgender Codestelle

    Code
    if(isset($_GET['id']))  $id = $_GET['id'];

    und ersetzen Sie diese mit folgender:

    Code
    if(isset($_REQUEST['id']))  $id = intval($_REQUEST['id']); /* Bugfix 17/09/2006 | possible SQL-Injection */