[PHP] Verkenner

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een script wat de mappen en bestanden laat zien:
*snip* Beveilig je site eerst even voor je ernaar linkt. ;)
Nu zie je Boven in dit staan.
directory = arnold/avatars/
Dit is gewoon text ik zou graag arnold en avatars als aanklikbare links willen hebben naar hun locatie.
de broncode van het php script is dit.


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
clearstatcache();

//vars
$host     = "http://".$_SERVER["HTTP_HOST"]."/";
$root     = $_SERVER["DOCUMENT_ROOT"];
$filename = "list.php";
$dir      = (isset($_GET['open'])) ? $root."/".$open."/" : $root."/";
$dir2      = (isset($_GET['open'])) ? "".$open."/" : "/";
$map      = (isset($_GET['open'])) ? $_GET['open']."/" : NULL;
$array    = array();
//print
echo "directory = ".$dir2."<br>";
if ($open != ''){
echo "<br><img src=up.png> <A HREF=\"javascript:history.go(-1)\"> [Niveau Hoger]</A><br><br>";
}
//opedir:
$handle=opendir($dir);
while (false!==($file = readdir($handle))) {
    if ($file != "." && $file != "..") {
        if($file != $filename){
           if(is_dir($dir.$file)){
             $array['dir'][]= "<tr><td><img src=dir.png></td><td> <a href='".$host.$filename."?open=$map".$file."'>".$file."</a> </td><td></td><td> created ".date("d-m-Y H:i", filemtime($dir.$file))."</td></tr>";
           }
           elseif(is_file($dir.$file)){
             $array['file'][]= "<tr><td><img src=file.png></td><td> <a href=\"".$host.$map.$file."\">".$file."</a> </td><td> ".filesize($dir.$file)."kb </td><td> created ".date("d-m-Y H:i", filemtime($dir.$file))."</td></tr>";
           }
        }
    }
}
closedir($handle);
if(!empty($array['dir'])){
  for($i=0;$i<count($array['dir']);$i++){
     sort($array['dir']);
     echo $array['dir'][$i];
  }
}
if(!empty($array['file'])){
  for($i=0;$i<count($array['file']);$i++){
     sort($array['file']);
     echo $array['file'][$i];
  }
}
?>



nu heb ik een script gezien waarme het volgend mij mogelijk is om het pad in stukken te hakken.
Maar weet even niet hoe ik verder moet, wie kan me helpen.
Het script is:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

//Eerst de ip ophalen van de bezoeker.

$ip = ($REMOTE_ADDR);

//Dan de punt filteren

$ipx = explode('.',$ip);

//Dan array koppelen 

$stripip = ("$ipx[0]$ipx[1]$ipx[2]$ipx[3]");

//Omzetten naar een id nummer?

$id = ($stripip);

//Dan resultaat laten zien

echo $id;

?>

[ Voor 22% gewijzigd door NMe op 04-04-2006 17:09 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Heb je voor de lol al eens gekeken in de manual? Wat snap je daar dan precies niet aan? Lees asjeblieft Programming FAQ - De "quickstart" even door, want er ontbreekt nogal wat info in je topic. ;)

Trouwens, zou je [code]- of [code=taal]-tags willen gebruiken als je code post? Dat is net even wat duidelijker dan [quote]. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • ThE_En4CeR
  • Registratie: Februari 2002
  • Laatst online: 19-06 11:10
[mierenneukmodus]
Je moet ff kb bij je filesize code veranderen in B(ytes). Dacht al: SH*T WAT EEN GROTE PLAATJES... :P
[/mierenneukmodus]

Acties:
  • 0 Henk 'm!

  • DaFireball
  • Registratie: Januari 2006
  • Laatst online: 13-09-2022
Wat jij zoekt is gewoon een gouwe ouwe breadcrumb..

Zoek maar eens op google: http://www.google.com/sea...l=nl&q=php+breadcrumb&lr=

succes!

Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
verder is je script zo lek als een vergiet:

check dit:
http://www.jouwdomein.net/list.php?open=arnold/avatars/../../

[ Voor 17% gewijzigd door NMe op 04-04-2006 17:10 ]

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

  • sariel
  • Registratie: Mei 2004
  • Laatst online: 22-05-2024
Eeuhm.....brak++ script is dat.....op deze manier laat je *IEDEREEN* je hele directorystructuur bekijken....

voorbeeld: staat hierboven al

[ Voor 20% gewijzigd door NMe op 04-04-2006 17:11 ]

Copy.com


Acties:
  • 0 Henk 'm!

  • djexplo
  • Registratie: Oktober 2000
  • Laatst online: 07-07 15:40
Je moet je code beveiligen!!!!, kijk maar eens hierboven door jouw'n script kan je momenteel elk bestand downloaden wat op je server staat!.
Je moet detecteren of er puntjes in de open variablen staan....

[ Voor 17% gewijzigd door NMe op 04-04-2006 17:11 ]

'if it looks like a duck, walks like a duck and quacks like a duck it's probably a duck'


Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
djexplo schreef op dinsdag 04 april 2006 @ 16:52:
Je moet je code beveiligen!!!!, kijk maar eens hierboven door jouw'n script kan je momenteel elk bestand downloaden wat op je server staat!.
Je moet detecteren of er puntjes in de open variablen staan....
nou niet overdrijven, php files kan je geen code van zien, en hij heet nog wat .htaccess files, maar over het algmeen vind ik dit wel een leuke dame:
Het is hier geen geen HK. Het punt van die slechte beveiliging is al gemaakt; geen reden om dan maar meteen bloot te gaan linken in een techforum. ;)

[ Voor 21% gewijzigd door NMe op 04-04-2006 17:14 ]

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

  • djexplo
  • Registratie: Oktober 2000
  • Laatst online: 07-07 15:40
BasieP schreef op dinsdag 04 april 2006 @ 16:57:
[...]

nou niet overdrijven, php files kan je geen code van zien, en hij heet nog wat .htaccess files, maar over het algmeen vind ik dit wel een leuke dame:
hier ook dus
Je hebt een backslash te veel in die url gezet ;) . Je hebt gelijk dat je de php-code niet kan zien, maar elke ander file dus wel. Maar het zou me niet verbazen dat iemand met de hier boven gepostecode + de bestanden waar je wel bij kan binnen een half uurtje alles kan downloaden...

[ Voor 6% gewijzigd door NMe op 04-04-2006 17:06 ]

'if it looks like a duck, walks like a duck and quacks like a duck it's probably a duck'


Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
djexplo schreef op dinsdag 04 april 2006 @ 17:01:
[...]
Je hebt een backslash te veel in die url gezet ;) . Je hebt gelijk dat je de php-code niet kan zien, maar elke ander file dus wel. Maar het zou me niet verbazen dat iemand met de hier boven gepostecode + de bestanden waar je wel bij kan binnen een half uurtje alles kan downloaden...
hij doet het ook als je er nog 10 slashes (geen backslashes dus) bij zet ;) niks 'fout' dus
en idd, je hoeft geen genie te zijn om wat te kunnen doen ;)

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

  • mistercash
  • Registratie: Juli 2004
  • Laatst online: 30-10-2024
Haha idd een slashje teveel.
Zou toch maar vlug zorgen dat je ergens bepaald welke mappen hij mag openen.
Dan ben je toch al iets veiliger

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Even de url's verwijderd. Dit alles nodigt "hackers" nogal uit. ;) Het punt van beveiliging is nu ook wel duidelijk vermoed ik, nu verder graag ontopic. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 07-09 11:44

Bergen

Spellingscontroleur

Verwijderd schreef op dinsdag 04 april 2006 @ 16:39:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

//Eerst de ip ophalen van de bezoeker.

$ip = ($REMOTE_ADDR);

//Dan de punt filteren

$ipx = explode('.',$ip);

//Dan array koppelen 

$stripip = ("$ipx[0]$ipx[1]$ipx[2]$ipx[3]");

//Omzetten naar een id nummer?

$id = ($stripip);

//Dan resultaat laten zien

echo $id;

?>
Maak je script zo lang mogelijk! :D Waarom niet gewoon:
PHP:
1
echo preg_replace("/\./", "", $_SERVER[REMOTE_ADDR]);
:?

Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
Bergen schreef op dinsdag 04 april 2006 @ 17:18:
[...]
Maak je script zo lang mogelijk! :D Waarom niet gewoon:
PHP:
1
echo preg_replace("/\./", "", $_SERVER[REMOTE_ADDR]);
:?
dan wel even zo he:
PHP:
1
$_SERVER['REMOTE_ADDR']
:)

vooral deze regel is nuttig:
PHP:
1
$id = ($stripip);

[ Voor 25% gewijzigd door BasieP op 04-04-2006 17:20 ]

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 07-09 11:44

Bergen

Spellingscontroleur

BasieP schreef op dinsdag 04 april 2006 @ 17:19:
[...]

dan wel even zo he:
PHP:
1
$_SERVER['REMOTE_ADDR']
:)
Maakt niet uit, werkt beide. :)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Bergen schreef op dinsdag 04 april 2006 @ 17:23:
[...]
Maakt niet uit, werkt beide. :)
Niet met error_reporting op E_ALL, waarmee je dus wel hoort te devven. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Voor regel 13:
PHP:
1
2
3
4
5
6
7
8
9
10
$dir2 = explode('/',$dir2);

for($i = 0; $i < count($dir2); $i++) {
    $dir2[$i] = '<a href="list.php?open=';
    for ($j = 0; $j < $i; $j++) {
        $dir2[$i] .= $dir2[$j] . '/';
    }
    $dir2[$i] .= '">'.$dir[2].'</a>';
}
$dir2 = implode(' / ',$dir2);

[ Voor 25% gewijzigd door Skaah op 04-04-2006 17:26 ]


Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 07-09 11:44

Bergen

Spellingscontroleur

-NMe- schreef op dinsdag 04 april 2006 @ 17:24:
[...]

Niet met error_reporting op E_ALL, waarmee je dus wel hoort te devven. ;)
Dat moet ik me dan maar eens aanleren. Ik dacht dat 't juist beter was als 't zonder aanhalingstekens werd geschreven, omdat REMOTE_ADDR eigenlijk een identifier was en geen string. Denkfout dus?

[edit]
Hmm ik zie het al, hij probeer REMOTE_ADDR als constante te parsen en die kan hij natuurlijk niet vinden. Duidelijk, tnx. :)

[ Voor 17% gewijzigd door Bergen op 04-04-2006 17:37 ]

Pagina: 1