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, 2868 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Batch & Shell
Script zum Auflösen einer Ordnerstruktur und zurück gesucht (12)

Frage von websolutions zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...