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, 2882 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
PowerShell-Script zum Prüfen ob Datei(en) existieren (2)

Frage von Bonsai0815 zum Thema Batch & Shell ...

Linux Tools
CentOS 7 Script beim Start und Shutdown (8)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Linux Tools ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

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

Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

SAN, NAS, DAS
+100tb Storagelösung (11)

Frage von Data-Fabi zum Thema SAN, NAS, DAS ...