Meine Homepage

06/02/2012 14:49 StylezZxDmg#16
Quote:
Originally Posted by Dawn-Design View Post
Negatives:
-Das Design
-unnötiges JavaScript

Positiv:
-Gut angepasst

für 3 Wochen ziemlich Gut, aber ich würde JavaScript beim Login und logout weglassen
Ich hab eim Login / Logout gar kein Java script o.O Das hab ich anderst gemacht :) Vielleicht mach ichs weg.

Danke fürs feedback.
06/03/2012 00:30 __BuRn3R#17
Für das bisschen Zeit find ich das echt richtig gut, motiviert mich selber auch php zu lernen :).. Am besten lernst du wie man so wenig Grafiken benutzt, wies nur geht.

Schau dir am besten nochmal alle CSS3 Befehle an, wird dir eine Menge helfen, glaub mir.

Mfg
06/04/2012 10:20 StylezZxDmg#18
Wie meinst du das mit "so wenig grafiken wie möglich"? ich hab doch schon so stark gespaart wies geht o.O
06/04/2012 19:20 Kessla#19
Für 3 Woche Arbeit recht ordentlich!
06/06/2012 15:00 StylezZxDmg#20
So viel positives feedback :)

Freuhe mich auf mehr feedback / kritik, ... :mofo:
06/10/2012 06:51 Amyntor#21
Also ich hab bis jetzt schon 6 XSS-Lücken gefunden. ;)
Lücken sind in der index.php indem man via GET-Funktion den "page" input ändert.
Könntest die Lücken beheben indem du dein Skript anpasst dass es Metazeichen vom user input filtern soll.
06/10/2012 23:06 StylezZxDmg#22
Wie meinst du das? Ich hab alle GETs mit mysql_real_escape_string versehen. Was muss ich machen um das zu beheben?
06/11/2012 19:02 Fratyr#23
Quote:
Originally Posted by StylezZxDmg View Post
Wie meinst du das? Ich hab alle GETs mit mysql_real_escape_string versehen. Was muss ich machen um das zu beheben?
Genau das ist der Fehler wenn man einfach das macht was irgendwelche Leute in einem Forum (oder anderswo) dir raten zu tun und man es nachmacht ohne die Funktionsweise einer Funktion zu kennen. Les dir lieber mal einen Artikel über PHP und Sicherheit + XSS Vorbeugung durch, da hast du wenigstens die Gewissheit das dir nicht irgendjemand sein Halbwissen vermittelt.
06/11/2012 22:24 StylezZxDmg#24
Ich hab mir seiten durchgelesen, um xss, Remote Code Execution, sql-injektion, ... vorzubeugen. Das auf meiner ganzen Homepage zu ändern ist jetz allerdings viel arbeit. Da ich aber sowiso ein neues Projekt beginnen will, werde ich es erst in diesem umsetzen.

hab noch ein paar kleine Fragen, ob das so stimmt:

Remote Code Execution:

PHP Code:
<?php
$allowedPages 
= array('product''contact''imprint');
if (
in_array($_GET['page'], $allowedPages)) {
include(
$_GET['page'] . '.php');
} else {
include(
'startpage.php');
}
?>
XSS:

PHP Code:
<?php
function h($text) {
return 
htmlentities(strip_tags($text), ENT_QUOTES);
}
?>
[...]
<div class="comment">
<h2><?php echo h($_POST['subject']) ?></h2>
<small><?php echo h($_POST['author']) ?></small>
<p>
<?php echo h($_POST['subject']) ?>
</p>
</div>
[...]
Adrian
SQL-Injektion:

PHP Code:
<?php
$sql 
"SELECT FROM
users
WHERE
usename = '"
mysql_real_escape_string($_POST['usename']) . "' AND
password = '" 
mysql_real_escape_string($_POST['password']) . "'";
mysql_query($sql);
?>
06/11/2012 22:39 eBay Advertising#25
Hallo,

Hier mal nen XSS von deiner Homepage.

Download: Siehe Anhang

Screen:


Tag: "onmouseover=prompt(945494) bad="
POST: /index.php?aktion=login&page=%22%20onmouseover%3dpr ompt%28945494%29%20bad%3d%22 HTTP/1.1

Das ganze ist über 12 versch. Varianten möglich.
06/11/2012 22:43 StylezZxDmg#26
Danke, dass ihr mir solch große Fehler aufzeigt. Jezt nochmal zu meinem Vorherigen post. Kann man so solche sachen sichern oder wie macht man das anm besten?
06/11/2012 22:54 NotEnoughForYou#27
Quote:
Originally Posted by StylezZxDmg View Post
Ich hab mir seiten durchgelesen, um xss, Remote Code Execution, sql-injektion, ... vorzubeugen. Das auf meiner ganzen Homepage zu ändern ist jetz allerdings viel arbeit. Da ich aber sowiso ein neues Projekt beginnen will, werde ich es erst in diesem umsetzen.

hab noch ein paar kleine Fragen, ob das so stimmt:

Remote Code Execution:

PHP Code:
<?php
$allowedPages 
= array('product''contact''imprint');
if (
in_array($_GET['page'], $allowedPages)) {
include(
$_GET['page'] . '.php');
} else {
include(
'startpage.php');
}
?>
XSS:

PHP Code:
<?php
function h($text) {
return 
htmlentities(strip_tags($text), ENT_QUOTES);
}
?>
[...]
<div class="comment">
<h2><?php echo h($_POST['subject']) ?></h2>
<small><?php echo h($_POST['author']) ?></small>
<p>
<?php echo h($_POST['subject']) ?>
</p>
</div>
[...]
Adrian
SQL-Injektion:

PHP Code:
<?php
$sql 
"SELECT FROM
users
WHERE
usename = '"
mysql_real_escape_string($_POST['usename']) . "' AND
password = '" 
mysql_real_escape_string($_POST['password']) . "'";
mysql_query($sql);
?>

Remote Code Execution
Eine "Whitelist" ist bei ein paar Seiten vlt. noch annehmbar, sobald es aber ein komplexeres System mit vielen Seiten wird, ist das eher umständlich. Lieber prüfen, ob die angebliche Datei auch in deinem Ordner vorhanden ist und mit regulären Ausdrücken prüfen

XSS
Reicht eigentlich, wobei man auch hier noch mit regulären ausdrücken arbeiten könnte.

Sqli
siehe XSS
06/11/2012 23:04 StylezZxDmg#28
also einfach mit "file_exists" überprüfen ob die datei vorhanden ist und das reicht dann?
Wenn ich jetz aber eine "whitelist" einbinde, ist das ja eigentlich auch nicht all zu viel arbeit oder?

und immer schön

"stripslashes"
"mysql_real_escape_string"
"htmlspecialchars"

verwenden um gegen sqli vorzugehen oder?
06/12/2012 00:12 Fratyr#29
Quote:
Originally Posted by StylezZxDmg View Post
also einfach mit "file_exists" überprüfen ob die datei vorhanden ist und das reicht dann?
Wenn ich jetz aber eine "whitelist" einbinde, ist das ja eigentlich auch nicht all zu viel arbeit oder?

und immer schön

"stripslashes"
"mysql_real_escape_string"
"htmlspecialchars"

verwenden um gegen sqli vorzugehen oder?
Nein. Was würde passieren wenn deine Seiten in einem Verzeichniss namens "pages" liegen, ein böser Nutzer aber in deinen GET Parameter ../someFile.php schreibt? PHP sucht nun nichtmehr im "pages" Verzeichniss sondern im Verzeichniss darüber. Durch ./ und ../ kann der böse Hacker nun also alle Dateien die er möchte in deinen Content einbinden wie er will, von daher reicht es nicht aus nur zu prüfen ob eine Datei existiert, du musst auch prüfen ob in deinem GET Parameter nicht solche - wie in meinem Beispiel - unerwünschte Zeichen stehen.
06/12/2012 07:34 StylezZxDmg#30
ok, meine index.php liegt im hauptverzeichnis und die ganzen seite sind sowiso schon in einem "pages" ordner. Das ganze wird dann mit index.php?page=inxex, index.php?page=profil,... aufgerufen. Ich das gut wenn man das so macht?