Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Sicherheitsprobleme mit einem Script

Frage Entwicklung PHP

Mitglied: MISTAX

MISTAX (Level 1) - Jetzt verbinden

19.08.2008, aktualisiert 15:13 Uhr, 2877 Aufrufe, 4 Kommentare

Mir wurde von meinem Hoster mitgeteilt, dass folgendes Script Sicherheitsprobleme verursacht; so wirklich richtig mag ich mir aber noch nicht ausmalen, was hier passieren kann:

Die php enthält das Gerüst der Seite, der Inhalt wird per GET-Variable im Link hineingeladen:

01.
main.php?choice=inhalt_der_seite

Wird dann so verarbeitet:

01.
<?php 
02.
/*Feststellen der aufgerufenen Seite*
03.
 $seite.= $choice.".php"
04.
 
05.
include($seite); 
06.
?>
Dadurch wird die im Verzeichnis vorhandene inhalt_der_seite.php eingebunden...


Da ich noch relativer PHP-Anfänger bin, der vermutlich mehr an Möglichkeiten, denn an Risiken denkt, wäre ich für Hilfe dankbar, ob mein Ansatz von vornherein dämlich ist, oder ich vielleicht nur noch ein paar Sachen ändern muss...


Noch eine Randfrage: Wäre es mit diesem Code möglich, dass ein Angreifer Dateien auf meinen Space lädt?


Vielen Dank für jede Hilfe!
Mitglied: SlainteMhath
19.08.2008 um 14:55 Uhr
Hi,

in deinem Code beispiel ist es möglich eine php Datei aus einer beliebigen Lokation zu inkludieren. D.h. die Datei kann auch auf einem anderen Webserver liegen!

Der Angreifer kann dadurch auf sämtliche Variablen, Verzeichnisse und SQL Server zugreifen auf die dein Script zugreifen kann.

Grundsätzlich gilt: jegliche eingaben die der user macht bzw. beinflussen kann müsse n vor verwendung im Programmcode grundsätzlich auf plausibilität geprüft werden!

Noch eine Randfrage: Wäre es mit diesem Code möglich, dass ein Angreifer Dateien auf meinen
Space lädt?
Ja, und noch vieles mehr!

lg,
Slainte
Bitte warten ..
Mitglied: MISTAX
19.08.2008 um 15:10 Uhr
Hmm... das klingt nach viel Spass...

Danke für die schnelle Antwort; wenn ich so drüber nachdenke auch durchaus logisch und nachvollziehbar...

D.h. so müsste es aber dann ohne Sicherheitsrisiken gehen, oder?

01.
<?php 
02.
/*Definieren welche Inhalte es gibt*
03.
$inhalt = array("inhalt1", "inhalt2", "inhalt3"); 
04.
 
05.
/*Prüfen ob Eingabe mit Inhalt übereinstimmt*
06.
     foreach($inhalt as $sel_inhalt
07.
08.
      if ( $choice == $sel_inhalt)  
09.
10.
          $seite.= $choice.".php"
11.
12.
13.
 
14.
/*Inhalt anzeigen*
15.
include($seite); 
16.
?>
Bitte warten ..
Mitglied: SlainteMhath
19.08.2008 um 15:12 Uhr
Jau, genau so wirds gemacht
Bitte warten ..
Mitglied: MISTAX
19.08.2008 um 15:13 Uhr
Danke dir vielmals! Schönen Nachmittag noch!
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(6)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...