Well I dont think attacker can exploit your code if theres that ../forum at the start. Atleast not with url anyway. But attacker could try to fetch information from your server. Heres a situation:
You have passwords saved in your root directory as passwords.txt. Attacker would just have to quess the filepath and name and could get it printed to browser if the file permissions also permits it.
page=../../passwords.txt
$page = "../forum/". $_GET['page'];
/* this now becomes */
$page = "../forum/../../passwords.txt";
And with include it will print the passwords.txt to browser. This would be extremely dangerous if the server itself was badly configured and lets php scripts access system files.
So basicly, never ever put variables coming from outside straight to include. With include you must be extra careful. Best would be that you have an array of permitted pages which to include:
$safepages = array('forum','contact','main');
$page = isset($_GET['page']) ? basename($_GET['page']) : 'main'; // will default to main if not set
if (in_array($page,$safepages)) {
include('incdir/'.$page.'.php');
} else {
include('incdir/main.php');
}
Theres basename function also used so it will strip all ../ and get only the last one.