useful script, read it's comments
1 parent 1bbdd7d commit 5276b363d2a433183ee1fdfdc1b5e8f1f8fc0992
root authored on 21 May 2020
Showing 1 changed file
View
69
graph-explorer-sites-list-compare.php 0 → 100755
#!/usr/bin/php
<?php
error_reporting(0);
 
/***
* Small script to create graph from multiple users JSON's taken from MS Graph Explorer
* (Search for a SharePoint site by keyword) keyword = %00
***/
 
$folder = "/mnt/hgfs/PentestOS/pentests/2020/-redacted-/MS_Graph/";
 
$mainArray = array();
 
$rootDir = getDirContents($folder, '/\.json$/');
foreach($rootDir as $h => $i){ // remove begining of vdb path (keeps clean)
$rootDir[$h] = str_replace("sites_null_", "", str_replace(".json", "", str_replace($folder, "", $i)));
//echo "Reading: ".$rootDir[$h]."\n";
 
$jsonFile = file_get_contents($i);
$jsonContents = json_decode($jsonFile, true);
 
foreach($jsonContents as $j){
foreach($j as $k){
//echo " ".$k['name']." -> ".$k['webUrl']."\n";
$shortname[$k['name']] = $k['webUrl'];
$rarw[$k['name']][] = $rootDir[$h];
}
//print_r($j);
}
}
echo "Files: ".sizeof($rootDir)."\n";
 
foreach($shortname as $short => $long){
$lenToShow = 120;
if(strlen($long)<$lenToShow)
$long = str_pad($long, $lenToShow, "-");
echo substr($long, 0, $lenToShow)." -> ";
//print_r($rarw[$short]);
foreach($rarw[$short] as $shortname => $username){
echo $username." ";
 
}
echo "\n";
}
 
 
 
 
 
 
 
function getDirContents($dir, $filter = '', &$results = array()) {
$files = scandir($dir);
 
foreach($files as $key => $value){
$path = realpath($dir.DIRECTORY_SEPARATOR.$value);
 
if(!is_dir($path)) {
if(empty($filter) || preg_match($filter, $path)) $results[] = $path;
} elseif($value != "." && $value != "..") {
getDirContents($path, $filter, $results);
}
}
 
return $results;
}
 
?>
Buy Me A Coffee