massenhafte scherz anmeldungen
Ulf
- php
Hallo,
Ich möchte nochmal alle bitten die sich mit Sessions auskennen folgenden code zu beurteilen.
Dieser code ist das ergebnis von [pref:t=66196&m=379438].
wir sind jedoch an einer stelle stehen geblieben, wo weder Raik noch ich wussten ob man die scripte so einsetzten kann; Insbesondere wüsste ich gerne ob die Session manipulierbar ist und trotz sicherheits-code massenhafte scherz anmeldungen möglich sind.
------------
index.php:
<?php
SESSION_START();
?>
<FORM METHOD="POST" ACTION="action.php">
<INPUT TYPE="hidden" NAME="sid" VALUE="<?php echo $PHPSESSID; ?>">
<TABLE>
<TR>
<TD>Username</TD>
<TD><INPUT TYPE="text" NAME="usr"></TD>
</TR>
<TR>
<TD>Ect</TD>
<TD><INPUT TYPE="text" NAME="ect"></TD>
</TR>
<TR>
<TD>Sicherheits-Code</TD>
<TD><INPUT TYPE="text" NAME="sc"></TD>
</TR>
<TR>
<TD></TD>
<TD><INPUT TYPE="submit"></TD>
</TR>
</TABLE>
</FORM>
<IMG SRC="bild.php" BORDER="0" ALT="Sicherheits-Code">
--
bild.php:
<?
SESSION_START();
$tx = 9;
$ty = 7;
$MaxX = 70;
$MaxY = 30;
header("Content-type: image/png");
$im = @imagecreate($MaxX,$MaxY);
$white = @ImageColorAllocate($im, 255,255,255);
$red = @ImageColorAllocate($im, 255,0,0);
$green = @ImageColorAllocate($im, 0,255,0);
$gray = @ImageColorAllocate($im, 128,128,128);
$lightgray = @ImageColorAllocate($im, 224,224,224);
$lightblue = @ImageColorAllocate($im, 128,128,255);
@ImageColorTransparent($im, $white); # weiß = transparent
$tcol = explode(",",$tcolor);
$text_color = @ImageColorAllocate($im, $tcol[0], $tcol[1], $tcol[2]);
$bcol = explode(",",$bcolor);
$border_color = @ImageColorAllocate($im, $bcol[0], $bcol[1], $bcol[2]);
$strng='';
for ($i=1; $i<=6;) # Anzahl der Zeichen
{
mt_srand((double)microtime()*1000000);
$char = mt_rand(48,122);
if($char>47 && $char<58 || $char>64 && $char<91 || $char>96 && $char<123)
{
$strng.=chr($char);
$i++;
}
}
$_SESSION['bildsid']=$PHPSESSID;
$_SESSION['secure']=$strng;
@imagefill($im, 0, 0, $lightgray);
@imagerectangle($im, 0, 0, $MaxX-1, $MaxY-1, $border_color);
@imagestring($im, 5, $tx, $ty, $strng, $text_color);
@imagepng($im);
?>
--
action.php:
<?php
SESSION_START();
$secure=$_SESSION['secure'];
$bildsid=$_SESSION['bildsid'];
if($usr=='')$stop=true;
if($ect=='')$stop=true;
if($sid!=$bildsid)$stop=true;
if($sc!=$secure)$stop=true;
if($stop!=true)
{
$qry = "INSERT INTO usrtbl (usr, ect) VALUES('$usr', '$ect')";
print $qry; // :-)
}
else print "na stimmt was nicht :-o<br>";
?>
Hallo Ulf,
hab mal das thema etwas angepasst.
dann gucken da vielleicht mehr leute rein. ;-)
freundl. Grüße aus Berlin, Raik
Hi,
Hätte ich doch lieber heute früh gepostet und nicht heut nacht.
jetzt ist der thread schon wieder so weit unten und es gucken wieder nur 50% rein.
ich würd so gern mal fertig werden ;-)
MfG Ulf
Hallo Ulf,
Hätte ich doch lieber heute früh gepostet und nicht heut nacht.
irrtum, ich guck auch meist die ganzen treads mal durch, wo ich antworten könnte, wenn ich länger nicht mehr reingeguckt hab.
die, die nur am anfang gucken, das sind die, die nur was fragen wollen.
freundl. Grüße aus Berlin, Raik
Moin!
Hätte ich doch lieber heute früh gepostet und nicht heut nacht.
jetzt ist der thread schon wieder so weit unten und es gucken wieder nur 50% rein.
Es guckt vor allem deswegen keiner mehr rein, weil du ein unnötiges Doppelposting aufgemacht hast.
Und ehrlich gesagt habe ich auch nicht wirklich die Lust, mich durch ein derartig schlecht kommentiertes Skriptkonglomerat durchzuwühlen.
Es wurde erwähnt, dass du dich gegen Massenanmeldungen nicht wirklich schützen kannst. Deine Sicherheitscodegeschichte ist auch nur ein marginaler Schutz dagegen. Es ist mit Texterkennung immer noch recht leicht, deinen Sicherheitscode aus dem Bild rauszupfriemeln und in das Formularfeld einzugeben. Im Zweifel wird der Code einfach mit Zufallszahlen gefüllt. Irgendeine wird schon stimmen.
ich würd so gern mal fertig werden ;-)
Wirst du nicht.
- Sven Rautenberg
Hallo,
Es guckt vor allem deswegen keiner mehr rein, weil du ein unnötiges Doppelposting aufgemacht hast.
unnötig?
das ist doch kein doppelposting! ein doppelposting ist für mich einer der das 1. posting erneut postet und das ist unnötig, aber was ich gemacht habe war nur folgendes:
raik und ich haben bis ans ende wirklich bis ans ende den thread aufgebaut und nun wissen wir beide nicht wirklich weiter. und sei mal ehrlich wieviele gucken denn noch ganz unten rein? ich wollte halt nochmal alle fragen ob das script in ordnung ist. es geht mir hierbei ja nur um die sicherheitslücken von sessions und das war nicht das thema.
massenhafte scherzanmeldungen +
sicherheitslücken bei sessions wie es raik korregiert hatte.
Und ehrlich gesagt habe ich auch nicht wirklich die Lust, mich durch ein derartig schlecht kommentiertes Skriptkonglomerat durchzuwühlen.
Danke.
Moin!
Es guckt vor allem deswegen keiner mehr rein, weil du ein unnötiges Doppelposting aufgemacht hast.
unnötig?
Ja.
das ist doch kein doppelposting! ein doppelposting ist für mich einer der das 1. posting erneut postet und das ist unnötig, aber was ich gemacht habe war nur folgendes:
Wenn du in einer Diskussion ein Zwischenergebnis erhalten hast, und dann davon abgespalten ein neues Posting eröffnest, um das Zwischenergebnis weiter zu diskutieren, dann ist das ein Doppelposting. Gleiches Thema (noch nicht fertig ausdiskutiert) in zwei Threads.
Besonders das Archiv freut sich da nicht, weil: Wenn jemand aufgrund der reichhaltigen Stichwörter in dem einen Thread (mutmaßlich dem ersten, weil dort die Problembeschreibung drinsteht) diesen per Suche findet, dann fehlt ihm der zweite Teil, in welchem die Diskussion zu einem Ende geführt wird.
Die Verbindung zwischen beiden Threads müßte manuell hergestellt werden - das ist aber dennoch nicht wirklich das selbe.
raik und ich haben bis ans ende wirklich bis ans ende den thread aufgebaut und nun wissen wir beide nicht wirklich weiter. und sei mal ehrlich wieviele gucken denn noch ganz unten rein? ich wollte halt nochmal alle fragen ob das script in ordnung ist. es geht mir hierbei ja nur um die sicherheitslücken von sessions und das war nicht das thema.
Wieviele unten reingucken? Alle, die hier Fachwissen mitbringen und dir helfen könnten. Vernünftig geführt (und das Führen eines Threads ist immer Aufgabe des Eröffners - er will ja was vom Forum) wäre es kein Problem gewesen, dort in einem neuen Posting, weiter oben im Baum und mit neuer Themenbezeichnung die bisherige Diskussion zusammenzufassen und nach weiteren Ideen zu fragen.
Also im Zweifel ganz weit oben als Antwort auf deine erste Frage. Das fällt auf.
Und solange in deinem Thread neue Antworten hinzukommen, bleibt dieser auch im aktiven, beantwortbaren Bereich dieses Forums. Archiviert wird nach "am längsten keine neue Antwort dazugekommen", nicht nach "steht ganz unten".
massenhafte scherzanmeldungen +
sicherheitslücken bei sessions wie es raik korregiert hatte.Und ehrlich gesagt habe ich auch nicht wirklich die Lust, mich durch ein derartig schlecht kommentiertes Skriptkonglomerat durchzuwühlen.
Danke.
Bitte.
Was ich damit meinte: Du kippst hier zeilenweise Sourcecode ins Forum, ohne die Idee, die dahinter steckt, nochmal in zusammenfassenden Worten zu paraphrasieren. Idealerweise wäre das als Kommentar im Code geschehen (dann liest man sich nämlich einfach die Kommentare durch, und zwischendrin auch den Code), aber auch als Einleitungstext wäre es nicht verkehrt.
Du mußt immer eines bedenken: Die Hilfe hier ist freiwillig und erfolgt nach vollkommen egoistischen Gesichtspunkten. Der eine liebt es, harte Nüsse zu knacken und zieht Fragestellern gerne in endlosen Diskussionen den eigentlichen Wunsch langsam aus der Nase, der andere hat lieber alles so einfach wie möglich und bequemt sich nur bei fachlich anspruchsvollen, aber sprachlich-technisch leicht zugänglichen Problemen zu einer Antwort.
Da die erste Kategorie von Antwortern typischerweise seltener ist, als die zweite Kategorie, spricht nichts dagegen, wenn du als Fragesteller dir einmal die Mühe machst, deine Fragestellung möglichst leich zugänglich zu gestalten, damit sich die Massen von Antwortgebern nicht individuell jeweils die gleiche Mühe machen müssen, um deine Frage zu verstehen.
Parole: Mach anderen das Antworten so leicht, wie möglich!
Es klingt natürlich egoistisch, aber schließlich willst du was vom Forum. Es ist also dein Interesse, die Hürden für eine Hilfe möglichst niedrig zu legen, um viele Antworten zu erhalten. Es ist auch im Sinne des gegenseiten Geben-Nehmen-Verhältnisses wesentlich netter, wenn du eine Antwort nehmen willst und selbst bereit bist, dafür entsprechende Mühe bei der Aufbereitung der Frage zu geben.
- Sven Rautenberg
hi,
also naja, größtenteils verständlich was du schreibst.
Trotzdem bin ich der meinung das unten weniger reingucken als oben
ach was solls, wär ein schöner weihnachtsbeitrag geworden aber ohne ergebnis kann ich leider keinen schreiben
Hi,
[...]
was hast Du eigentlich nicht von dem kapiert, was 'Raik' geschrieben hat (also von dem Wesentlichen, meine ich natuerlich ;-). Die Meinung von 'Sven', dass ein qualifizierter Schutz gegen Mehrfachanmeldungen nicht moeglich ist, wurde doch soz. ex ante bereits beruecksichtigt und entsprechend bearbeitet.
Also keinen schwer verdaulichen Code hier veroeffentlichen sondern soz. eine Ebene hoeher "voellig losgeloest" ueber das, was noch unklar ist, berichten. - Sonst kann der 'Sven' naemlich ganz boese werden. ;-)
Gruss,
Lude
---
"Der neue Server kommt in 2004."