Sponsor-Board.de

Normale Version: Hilfe bei Webseiten Sicherheit
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Klar kannst du machen, schick es uns einfach per Mail an [email protected]
Habe Sie dir gemailt
Sicherheitslücken können größten Teils nur durch folgende Variablen entstehen:
- POST
- GET
- REQUEST

Bei Verwendung dieser Variablen immer folgendes sicherstellen:

Datenbankabfragen:
mysql_real_escape_string zwingend verwenden. Thematik SQL Injections

Require / Include:
Falsch:

PHP-Code:
require('php/' $_GET['seite'] . '.inc.php'); 


Richtig:

PHP-Code:
$whitelist = array ('aboutus','impressum''news');
if (isset (
$_GET['seite']) && in_array($_GET['seite'], $whitelist) {
    require(
'php/' $_GET['seite'] . '.inc.php');
} else {
    require(
'php/default.inc.php');


Boolische Werte:

PHP-Code:
$foo false;
if (isset(
$_GET['foo']) && $_GET['foo'] === 'true') {
    
$foo true;


Ich denke mal, dass waren die größten Fehlerquellen.

Passwörter wären selbstverständlich zu hashen (Google "PHP SHA1")
Uploads wären zu Überprüfen (Google "PHP Detect Mime Type")

Sicherlich bist du in der Lage dies selbst zu checken, wenn du es selbst entwickelt hast. In diesem Fall wirst du denke ich auch niemanden finden der deine komplette Webseite untersucht. Zumindest nicht ohne angemessene Entlohnung.

Gegen bezalung würde ichs mir anschauen ;-)

Wie hoch soll diese bezahlung sein ?

Fredix schrieb:
Wie hoch soll diese bezahlung sein ?


Du hast mich falsch verstanden. Ich wollte zum Ausdruck bringen, dass das eine Sache ist, mit der man sich auseinandersetzen sollte.

Ansonsten wäre es besser wenn man soetwas gleich in Auftrag gibt.

Wenn man ein anständiges Code Review macht, und jede Logik verstehen will, dauert das fast genauso lange, als würde man die Logik selber schreiben.

Wie umfangreich ist denn dein Projekt? Wenn es dir auf Sicherheit ankommt denke ich mal größer.

Ist lediglich ein kleines Projekt mit wenig Script.
Ich will lediglich das bei dem script nichts passiert was den usern oder meiner Datenbank schadet
Was ist das für ein kleines Script? Erweiterung für ein CMS? Was macht es?
Man kann sein Auto mit allen tuningsmaßnamen eintragen, die autos anderer user ansehen und die details sehen sowie liken
Na dass kann ja dann noch gerade so hier im Forum gepostet werden Wink
Dann kann man sich dass ganze auch mal anschauen.
user.php

PHP-Code:
<?php
include 'heartbeat.php';

$user $_GET["user"];

$abfrage "SELECT * FROM login WHERE username = '$user'";
$ergebnis mysql_query($abfrage)or die(mysql_error());
while(
$row mysql_fetch_object($ergebnis))
   {
   echo 
"<center><p><img src='/beta/upload/$row->bild1' width='600' height='400' /></p><br>";
   echo 
"<a href='http://n3xd.eu/beta/bild.php?bild=$row->bild2&user=$user'><img src='http://n3xd.eu/beta/upload/$row->bild2' width='150' height='125' /></a><a href='http://n3xd.eu/beta/bild.php?bild=$row->bild3&user=$user'><img src='http://n3xd.eu/beta/upload/$row->bild3' width='150' height='125' /></a><a href='http://n3xd.eu/beta/bild.php?bild=$row->bild4&user=$user'><img src='http://n3xd.eu/beta/upload/$row->bild4' width='150' height='125' /></a><a href='http://n3xd.eu/beta/bild.php?bild=$row->bild5&user=$user'><img src='http://n3xd.eu/beta/upload/$row->bild5' width='150' height='125' /></a><br>";
   echo 
"<a href='http://n3xd.eu/beta/bewertung.php?user=$user'>Like!</a><br>";
   echo 
"<table border='0'><tr><td>Username </td><td>$row->username</td></tr><tr><td>Marke </td><td>$row->marke</td></tr><tr><td>Modell </td><td>$row->modell</td></tr><tr><td>PS </td><td>$row->ps</td></tr><tr><td>Baujahr </td><td>$row->bj</td></tr><tr><td>Farbe </td><td>$row->color</td></tr><tr><td>Felgen </td><td>$row->felgen</td></tr><tr><td>Fahrwerk </td><td>$row->fahrwerk</td></tr><tr><td>Interieur </td><td>$row->interieur</td></tr><tr><td>Exterieur </td><td>$row->ext</td></tr><tr><td>Beschreibung des Users</td><td>$row->disc</td></tr></table>";
$counter mysql_num_rows(mysql_query("SELECT * FROM bewertung WHERE username='$user'"));
echo 
"$counter </center>";
   }

?>

eintragen.php

PHP-Code:
<?php
include 'heartbeat.php';

$username $_POST["username"];
$passwort $_POST["passwort"];
$passwort2 $_POST["passwort2"];
$email $_POST["email"];
$marke $_POST["marke"];
$modell $_POST["modell"];
$bj $_POST["bj"];
$ps $_POST["ps"];
$hubraum $_POST["hubraum"];
$color $_POST["color"];
$fahrwerk $_POST["fahrwerk"];
$felgen $_POST["felgen"];
$interieur $_POST["interieur"];
$ext $_POST["ext"];
$disc $_POST["disc"];


if(
$passwort != $passwort2 OR empty($username) OR empty($passwort) OR empty($email) OR empty($marke) OR empty($modell) OR empty($bj) OR empty($disc))
    {
    echo 
"Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"eintragen.html\">Zurück</a>";
    exit;
    }
$passwort md5($passwort);

$result mysql_query("SELECT id FROM login WHERE username LIKE '$username'");
$menge mysql_num_rows($result);

if(
$menge == 0)
    {
$eintrag "INSERT INTO login
(username, passwort, email, marke, modell, bj, ps, hubraum, color, fahrwerk, felgen, interieur, ext, disc)
VALUES
('
$username', '$passwort', '$email', '$marke', '$modell', '$bj', '$ps', '$hubraum', '$color','$fahrwerk', '$felgen', '$interieur', '$ext', '$disc')";

$eintragen mysql_query($eintrag)or die(mysql_error());

$datei $_FILES['datei']['name']; 
$dateityp GetImageSize($_FILES['datei']['tmp_name']);
if(
$dateityp[2] != 0)
   {

   if(
$_FILES['datei']['size'] <  1024000000)
      {
      
move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".$_FILES['datei']['name']);
    
$eintrag "UPDATE login Set bild1 = '$datei' WHERE username = '$username'";
    
$eintragen mysql_query($eintrag);
      }

   else
      {
         echo 
"Das Bild darf nicht größer als 100 kb sein ";
      }

    }

else
    {
    echo 
"Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }

$datei2 $_FILES['datei2']['name']; 
$dateityp GetImageSize($_FILES['datei2']['tmp_name']);
if(
$dateityp[2] != 0)
   {

   if(
$_FILES['datei2']['size'] <  1024000000)
      {
      
move_uploaded_file($_FILES['datei2']['tmp_name'], "upload/".$_FILES['datei2']['name']);
    
$eintrag "UPDATE login Set bild2 = '$datei2' WHERE username = '$username'";
    
$eintragen mysql_query($eintrag);
      }

   else
      {
         echo 
"Das Bild darf nicht größer als 100 kb sein ";
      }

    }

else
    {
    echo 
"Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }

$datei3 $_FILES['datei3']['name']; 
$dateityp GetImageSize($_FILES['datei3']['tmp_name']);
if(
$dateityp[2] != 0)
   {

   if(
$_FILES['datei3']['size'] <  1024000000)
      {
      
move_uploaded_file($_FILES['datei3']['tmp_name'], "upload/".$_FILES['datei3']['name']);
    
$eintrag "UPDATE login Set bild3 = '$datei3' WHERE username = '$username'";
    
$eintragen mysql_query($eintrag);
      }

   else
      {
         echo 
"Das Bild darf nicht größer als 100 kb sein ";
      }

    }

else
    {
    echo 
"Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }


$datei4 $_FILES['datei4']['name']; 
$dateityp GetImageSize($_FILES['datei4']['tmp_name']);
if(
$dateityp[2] != 0)
   {

   if(
$_FILES['datei4']['size'] <  1024000000)
      {
      
move_uploaded_file($_FILES['datei4']['tmp_name'], "upload/".$_FILES['datei4']['name']);
    
$eintrag "UPDATE login Set bild4 = '$datei4' WHERE username = '$username'";
    
$eintragen mysql_query($eintrag);
      }

   else
      {
         echo 
"Das Bild darf nicht größer als 100 kb sein ";
      }

    }

else
    {
    echo 
"Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }

$datei5 $_FILES['datei5']['name']; 
$dateityp GetImageSize($_FILES['datei5']['tmp_name']);
if(
$dateityp[2] != 0)
   {

   if(
$_FILES['datei5']['size'] <  1024000000)
      {
      
move_uploaded_file($_FILES['datei5']['tmp_name'], "upload/".$_FILES['datei5']['name']);
    
$eintrag "UPDATE login Set bild5 = '$datei5' WHERE username = '$username'";
    
$eintragen mysql_query($eintrag);
      }

   else
      {
         echo 
"Das Bild darf nicht größer als 100 kb sein ";
      }

    }

else
    {
    echo 
"Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }


    if(
$eintragen == true)
        {
        echo 
"Benutzername <b>$username</b> wurde erstellt. <a href=\"login.html\">Login</a>";
        }
    else
        {
        echo 
"Fehler beim Speichern des Benutzernames. <a href=\"eintragen.html\">Zurück</a>";
        }


    }

else
    {
    echo 
"Benutzername schon vorhanden. <a href=\"eintragen.html\">Zurück</a>";
    }

?>

marke.php

PHP-Code:
<?php
include 'heartbeat.php';

$markeb $_GET["b"];

$abfrage "SELECT * FROM login WHERE marke = '$markeb'";
$ergebnis mysql_query($abfrage)or die(mysql_error());
while(
$row mysql_fetch_object($ergebnis))
   {
   echo 
"<center><a href='http://n3xd.eu/beta/user.php?user=$row->username'><img src='http://n3xd.eu/beta/upload/$row->bild1' width='500' height='300' /></a></center>";
   }

?>

bewertung.php

PHP-Code:
<?php
include 'heartbeat.php';

$ip=getenv("REMOTE_ADDR");
$user $_GET["user"];

$test mysql_query("SELECT * FROM bewertung WHERE ip='$ip' AND username='$user'");    
if(
mysql_num_rows($test) != 1) {
 
mysql_query("INSERT INTO bewertung SET ip='$ip', username='$user'");
echo 
"Sie haben für den User $user geliked";
} else {
echo 
"Sie haben bereits geliked"
}

?>


So das wars alles

Seiten: 1 2 3 4
Referenz-URLs