Seite 6 von 7 ErsteErste ... 4567 LetzteLetzte
Ergebnis 51 bis 60 von 66

Thema: Warnung: Sicherheitslücken in Addons

  1. #51
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Kannst mir die Datei gerne mal per Email schicken: gremlincomputer [at] gmx.de
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  2. #52
    Erfahrener Benutzer
    Registriert seit
    22.03.2007
    Beiträge
    171
    Hallo,
    @cdp, hast du ICQ? Wenn ja gib mir doch bitte mal deine Nummer per PN, müsste unbedingt mal mit dir quatschen!
    Diese Sicherheitslückengeschichte nimmt doch ein grösseres Ausmass an!!

    LG Laemmi

  3. #53
    Erfahrener Benutzer
    Registriert seit
    08.02.2008
    Beiträge
    157
    Was mich jetzt noch interessieren würde ist wie die manipuierten Spiele in der Datenbank unter vms_buchungen auftauchen. Da müsste ja wenn mit negativem Einsatz oder mit einem Einsatz von 0 entweder eine Positive Buchung mit dem Verwendungszeck %Einsatz oder eben eine Buchung von 0,00 auftauchen. So sollte man doch nachvollziehen können ob gefakt wurde oder nicht, oder lässt sich der DB Eintrag auch manipulieren?

  4. #54
    Erfahrener Benutzer Avatar von didith1207
    Registriert seit
    17.09.2006
    Beiträge
    1.580
    soweit ich weis kann man die buchungen nicht manipulieren (gott sei dank!)

    ich hab dank mithilfe von laemmi ein paar lücken schließen können hoffe meine slots sind nun alle sicher

  5. #55
    Erfahrener Benutzer Avatar von dragon11
    Registriert seit
    06.07.2006
    Beiträge
    320
    Ich versuche hier mal, das Problem bzw. die Problemlösung allgemeingültig zu beschreiben:
    1. bei den Slots: der Wert, der mit $_POST['wert'] (für Wert steht oft einsatz) ist zu prüfen.
    Wenn der Befehlt $variable = (int)$_POST['wert']; vorhanden ist, seid ihr zunächst insofern auf der sicheren Seite, dass nicht mit negativen Werten gespielt werden kann --> das wäre wirklich fatal, weil sich die user bereichern könnten.

    2. und das ist das was Laemmi am meißten findet, ist die Tatsache, dass man mit Werten spielen kann, die nicht eingetragen sind.
    Dieses Problem behebt man, indem man die zulässigen Einsätze in ein array einliest, was sie schon oft sind und dann eine Abfrage einbaut:
    Beispiel aus safari:
    PHP-Code:
    if ( in_array($_POST["einsatz"],$einsatz) ) {
    $preis $_POST["einsatz"];  
    } else {echo 
    "&result=ist das erlaubt?&";} 
    3. Zechen
    bei den Zechen ist es so, dass weder der Wert gesichert wird durch die (int), noch gefragt wird, ob der Einsatz gültig ist.
    Am Beispiel der Einzelzeche hier die Lösung:
    nach <? userstatus();
    einfügen:
    PHP-Code:
    $zechen mysql_query("SELECT * FROM einzelzeche ORDER BY zeche");
    while(
    $zwert mysql_fetch_array($zechen)) {
    $pattern[] = $zwert['zeche'];

    nach if ($spielen) {
    einfügen:
    PHP-Code:
    if ( in_array($spielen,$pattern) ) { 
    vor print <<<EOT seht ihr
    PHP-Code:
    }

    dazwischen einfügen:
    PHP-Code:
    } else {$zechemeldung "<b><font color=\"red\"><center>Keine faulen Tricks!</b></font></center><br />";} 
    Das war's. Das könnt ihr leicht auch in jeder anderen Zeche einfügen, ihr müßt nur den Tabellennamen austauschen.
    mfg
    dragon11

  6. #56
    Erfahrener Benutzer
    Registriert seit
    22.03.2007
    Beiträge
    171
    Hallo,
    @dragon11, Danke für die Mühe die du dir gemacht hast.

    Eine Lösung für den Safari wäre auch (Danke an Parl und Didith1207) :

    unter:
    $einsatz = intval($_POST["einsatz"]);
    dieses einfügen:
    if ($einsatz != 1000 && $einsatz != 2500 && $einsatz != 5000 && $einsatz != 10000 && $einsatz != 25000 && $einsatz != 50000) die("&result=Fehlerhafter Einsatz&");
    Natürlich die Zahlen an die Einsätze anpassen die ihr bei eurem Safari habt.

    Dies lässt sich analog dann auch für andere Games anwenden, die feste Einsätze haben.

    Bei Games die einen variablen Spieleinsatz haben könnt ihr folgendes verwenden:

    if ($einsatz < 1000 or $einsatz > 100000) {
    die();
    }
    Dabei natürlich wieder die Zahlen an euer Game anpassen.

    Mit diesen 2 Methoden verhindert ihr das irgendwelche Spinner mit falschen Einsätzen an euren Games spielen.

    Ich hab die letzten 2 Tage viele Games getestet und kann euch sagen es sind wirklich einige Games betroffen wo Abzockern Tür und Tor offensteht!

    LG Laemmi

  7. #57
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Bei solchen groben Sachen könnte man sogar noch einen Schritt weitergehen und den Account des Users automatisch sperren mit entsprechendem Hinweistext z.B.

    "[11.10.2008 - 15:35] Faken in der Zeche (Einsatz manipuliert)"

    So mach ich das bei mir weil den Einsatz kann man in der Regel nicht ausversehen manipulieren und so schützt man sich direkt davor.

    PHP-Code:
    $sperrgrund '['.date("d.m.Y - H:i").'] Faken in der Zeche (Einsatz manipuliert)';
    db_query('UPDATE '.$db_prefix.'_kontodaten SET status=3, hinweis="'.$sperrgrund.'" WHERE uid='.$_SESSION['uid'].' LIMIT 1'); 


    Gruß
    cdp
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  8. #58
    Erfahrener Benutzer Avatar von dragon11
    Registriert seit
    06.07.2006
    Beiträge
    320
    @Laemmi, meine gepostete Antwort ist richtig,

    wie ich sagte, müssen die Einsätze in einem array sein.
    Im Moment passiert nix, das ist auch richtig so.
    Die Lösung von gremlin kommt erst rein, wenn es getestet ist.

    Die Lösung die du anbietest ist auch richtig, aber viel zu umständlich, man kann die Einsätze bei vielen Spielen im Admin verändern, wer dann nicht daran denkt, auch in der _game.php zu ändern, wundert sich dann warum er soviele Faker hat.
    mfg
    dragon11

  9. #59
    lol. ja das wäre doof ^^

    wegen dem automatischen sperren.
    wie genau binde ich das ein ?

    Beispiel beim Safari-Slot (den entbugge ich gerade)

    PHP-Code:
    session_start();

    $einsatz intval($_POST["einsatz"]);
    if (
    $einsatz != 25000 && $einsatz != 50000 && $einsatz != 100000 && $einsatz != 250000 && $einsatz != 500000 && $einsatz != 1000000) die("&result=Fehlerhafter Einsatz&"); 
    wäre nett wenn du mir das in dem php-code gleich einbauen könntest
    Status:


    Deine Artikel in meinem LoseShop ? -> PN genügt

  10. #60
    Erfahrener Benutzer Avatar von bulli
    Registriert seit
    06.01.2007
    Beiträge
    234
    Was kann man eigentlich nun mei solchen Addons machen, bei denen man Text eingeben kann und in einer DB gespeichert wird, damit dort keine SQL Injections ein gefügt werden können oder das man keine Daten aus der DB auslesen kann?

Seite 6 von 7 ErsteErste ... 4567 LetzteLetzte

Ähnliche Themen

  1. Warnung vor hoschibear!
    Von RainbowDash im Forum User
    Antworten: 9
    Letzter Beitrag: 18.12.2012, 13:44
  2. Sicherheitslücken
    Von Pauli1990 im Forum Sonstiges
    Antworten: 0
    Letzter Beitrag: 29.11.2010, 00:23
  3. Firefox 3.0.4 schließt neun Sicherheitslücken
    Von Newsbot im Forum Talk, talk, talk...
    Antworten: 0
    Letzter Beitrag: 13.11.2008, 10:38
  4. Neue KTorrent-Version schließt Sicherheitslücken
    Von Newsbot im Forum Talk, talk, talk...
    Antworten: 0
    Letzter Beitrag: 28.10.2008, 12:13
  5. Kritische Sicherheitslücken in Adobe Flash 9
    Von Newsbot im Forum Talk, talk, talk...
    Antworten: 0
    Letzter Beitrag: 16.10.2008, 18:00

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •