SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 18.02.2008, 15:33:56
gysi gysi ist offline
Anfänger
 
Registriert seit: Feb 2008
Beiträge: 10
$_POST faken

Hallo,
Ich habe ein eigenes kleines Onlinespiel programmiert.
Ich habe Grund zur Annahme das es Jemanden gelungen ist die $_POST variable zu imitieren und somit quasi zu cheaten.
Meine Frage also, ist es möglich so etwas zu machen?

Hier der Code um den es geht

Code:
echo '<tr><form method="Post">';
echo "<td><img src='http://$host$uri/images/Einheiten/".$einheit->NAME.".jpg' width=45 height=45></td>";
echo '<td>'.$einheit->NAME.'</td><td>'.$einheit->GESUNDHEIT.'</td><td>'.$einheit->STAERKE.'</td><td>'.$anzahl.'</td>';
echo '<td><input type="text" name="anzahl" style="width:50px" size="8" maxlength="8" /></td> ';
echo '<input type="hidden" name="ideinheit" value="'.$einheit->IDEINHEIT.'" />';
echo '<input type="hidden" name="goldkosten" value="'.$einheit->GOLDKOSTEN.'" />';
echo '<input type="hidden" name="holzkosten" value="'.$einheit->HOLZKOSTEN.'" />';
echo '<td><input type="submit" class="button" name="bauen" value="Erstellen" /> <br />('.$einheit->GOLDKOSTEN.' Gold, '.$einheit->HOLZKOSTEN.' Holz)</td>';
echo '</form></tr>';
es geht um die beiden hiddeninputs in denen die Gold und Holzkosten im Post übergeben werden um dann nach dem Abschicken des Post's die Kosten für die Anzahl der Einheiten zu errechnen.

Wenn Jemand den post faken könnte dann müsste er lediglich die Goldkosten und Holzkosten auf 0 setzen und schon kann er umsonst soviele Einheiten bauen wie er möchte.
Mit Zitat antworten
  #2  
Alt 18.02.2008, 16:14:23
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: $_POST faken

Hi!

der Scriptausschnitt hilft jetzt nicht gerade weiter, kann man sich das mal live ansehen?
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #3  
Alt 18.02.2008, 19:17:56
gysi gysi ist offline
Anfänger
 
Registriert seit: Feb 2008
Beiträge: 10
AW: $_POST faken

ja bei http://gysi.yourgalaxy.de/wgame

Da hat es Jemand geschafft sich Einheiten zu erstellen obwohl er es mit dem normalen Gold was er durch seine Goldmine bekommt normalerweise niemals geschafft hätte. Außerdem hat er bei Gebäude eine Kaserne lvl 20 erstellt obwohl sie nur bis 10 geht. Ich kann mir das nicht anders erklären als das er die POST Variable irgendwie gefakt hat und ich wüsste gerne was ich dagegen machen kann

Geändert von gysi (18.02.2008 um 19:21:10 Uhr)
Mit Zitat antworten
  #4  
Alt 18.02.2008, 20:52:27
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
AW: $_POST faken

Klar kann man POST Parameter senden, wie man lustig ist. POST ist kein Sicherungsmechanismus. Solche Werte muss man serverseitig abtesten.
__________________
Wat der Bauer nich kennt, dit frisster nich.
Mit Zitat antworten
  #5  
Alt 18.02.2008, 21:14:19
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: $_POST faken

Hi,

ich habe mir die Seite mal angesehen und ich bin mir fast sicher, dass der User Deine Oracle-Statements gehackt hat. Stichwort: SQL-Injektion
Du musst also Deine SQL-Statements schützen (escapen) und auch die von Außen kommenden Variablen ($_POST, $_GET...) schützen, z.B. mit htmlspecialchars.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #6  
Alt 18.02.2008, 21:45:17
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: $_POST faken

ach und addslashes könnte Dir da auch helfen.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #7  
Alt 18.02.2008, 22:37:10
gysi gysi ist offline
Anfänger
 
Registriert seit: Feb 2008
Beiträge: 10
AW: $_POST faken

addslashes brauche ich meines wissens nicht weil ich bei PHP die funktion angestellt habe das alle Anführungszeichen automatisch mit einem Blackslash außer Funktion gesetzt wird. Und htmlspecialchars habe ich auch benutzt.

Hmm dann muss ich die Inputboxes dann wohl reduzieren und weitere Abfragen machen so das er es nicht mehr faken kann.

Aber mich würde jetz schon doch noch interessieren wie man das anstellt mit dem POST senden =D


ps: Danke für euere Hilfe

Geändert von gysi (18.02.2008 um 22:39:16 Uhr)
Mit Zitat antworten
  #8  
Alt 18.02.2008, 23:51:36
gysi gysi ist offline
Anfänger
 
Registriert seit: Feb 2008
Beiträge: 10
AW: $_POST faken

Ich hatte den Benutzer der den Bug ausgenutzt hat mal angeschrieben und er meinte er hat es mit einer SQL Injection realisiert, aber wo bitte auf der Seite kann man noch solch eine Injection machen?
Mit Zitat antworten
  #9  
Alt 19.02.2008, 00:44:35
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: $_POST faken

Zitat:
Zitat von gysi Beitrag anzeigen
...weil ich bei PHP die funktion angestellt habe das alle Anführungszeichen automatisch mit einem Blackslash außer Funktion gesetzt wird.
Aja... :-)

Zitat:
Zitat von gysi Beitrag anzeigen
...aber wo bitte auf der Seite kann man noch solch eine Injection machen?
Zum Beispiel beim Login...
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #10  
Alt 19.02.2008, 01:23:06
gysi gysi ist offline
Anfänger
 
Registriert seit: Feb 2008
Beiträge: 10
AW: $_POST faken

So ich hab jetz überall wo SQL statements mit der POST / GET Variable ausgeführt wurden den String mit htmlspecialchars umgewandelt. Ich hoffe es sind jetz keine SQL Injections mehr möglich.

Kennst du vielleicht eine Seite wo auf das Thema PHP / Datenbank -> Sicherheit näher eingegangen wird?

Geändert von gysi (19.02.2008 um 01:27:31 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:41:10 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt