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, 2890 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
Batch & Shell
gelöst Script für Benutzerverwaltung (10)

Frage von ALucaK zum Thema Batch & Shell ...

Batch & Shell
gelöst Script in Powershell (27)

Frage von Everest zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (19)

Frage von Kuemmel zum Thema LAN, WAN, Wireless ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...