"{$nodeId}.DarkWeb.fr" ,"repo" => "private" ,"url"=> "https://{$nodeId}.DarkWeb.fr/private/" ,"title" => "Géré ce noeud" ,"path" => "/var/node/{$nodeId}/www-node/private" ,'passwd' => "/var/www/darkweb.fr/auth/htpasswd" ,'htaccess' => "/var/node/{$nodeId}/www-node/private/.htaccess" ,'htaccess_form' => "/var/node/{$nodeId}/www-node/private/.htaccess" ,'authFormProvider' => preg_match( "/.*AuthFormProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( "/var/bakuba/ajoffice/www/private/.htaccess" ),$found ) ? str_replace( array( '"','\r', '\n' ) ,'' ,$found[1] ) : null ,'authName' => preg_match( "/.*AuthName (.*)\r/" ,file_get_contents( "/var/bakuba/ajoffice/www/private/.htaccess" ),$found ) ? str_replace( array( '"','\r', '\n' ) ,'' ,$found[1] ) : null ); $dirsRepoSsh=@scandir( "/diskSsh0/repos-subversion" ); if ( is_array( $dirsRepoSsh ) ) foreach( $dirsRepoSsh as $repos ) { if ( $repos == "." || $repos == ".." ) continue; $repositorys[]= array( "domain" => "hidden.{$nodeId}.darkweb.fr" ,"repo" => $repos ,"path" => "/diskSsh0/repos-subversion/$repos" ,'passwd' => "/diskSsh0/repos-subversion/$repos/.passwd" ,'htaccess' => "/diskSsh0/repos-subversion/$repos/.htaccess" ,'htaccess_form' => "/diskSsh0/repos-subversion/$repos/.htaccess_form" ,'htaccess_basic' => "/diskSsh0/repos-subversion/$repos/.htaccess_basic" ,'authFormProvider' => is_file( "/diskSsh0/repos-subversion/$repos/.htaccess_form" ) && preg_match( "/.*AuthFormProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( "/diskSsh0/repos-subversion/$repos/.htaccess_form" ),$found ) ? str_replace('"','',$found[1] ) : null ,'authBasicProvider' => is_file( "/diskSsh0/repos-subversion/$repos/.htaccess_basic" ) && preg_match( "/.*AuthBasicProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( "/diskSsh0/repos-subversion/$repos/.htaccess_basic" ),$found ) ? str_replace('"','',$found[1] ) : null ,'authName' => is_file( "/diskSsh0/repos-subversion/$repos/.htaccess" ) && preg_match( "/.*AuthName (.*)/" ,file_get_contents( "/diskSsh0/repos-subversion/$repos/.htaccess" ),$found ) ? str_replace('"','',$found[1] ) : null ); } foreach( scandir( "/var/svn" ) as $domain ) { if ( $domain == "." || $domain == ".." ) continue; if ( $domain == "darkweb.fr" && is_dir("/var/node/{$nodeId}/svn") ) foreach( scandir( "/var/node/{$nodeId}/svn" ) as $repos ) { if ( $repos == "." || $repos == ".." ) continue; foreach( scandir( "/var/node/{$nodeId}/svn/{$repos}" ) as $reposOfSubDomain ) { if ( $reposOfSubDomain == "." || $reposOfSubDomain == ".." ) continue; if ( is_dir( "/var/node/{$nodeId}/svn/{$repos}/$reposOfSubDomain/db" ) ) { $repository=array( // "domain" => $repos=='darkaisse-svn' ? "$repos.$domain" : "$reposOfSubDomain.$repos.$domain" "domain" => "{$nodeId}.{$domain}" ,"repo" => "{$repos}/{$reposOfSubDomain}/svn" ,"path" => "/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}" ,"v_domain" => "{$nodeId}.{$domain}" ,"v_repos" => $repos ,"v_reposOfSubDomain" => $reposOfSubDomain ); if ( is_file( "/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.passwd" ) ) $repository['passwd']="/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.passwd"; if ( is_file( "/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.htaccess" ) ) { $repository['htaccess']="/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.htaccess"; $found=array(); if ( preg_match( "/.*AuthName (.*)/" ,file_get_contents( $repository['htaccess'] ),$found ) ) $repository['authName']=str_replace('"','',$found[1] ); } if ( is_file( "/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.htaccess_form" ) ) { $repository['htaccess_form']="/var/svn/$domain/$repos/$reposOfSubDomain/.htaccess_form"; $found=array(); if ( preg_match( "/.*AuthFormProvider [\"]?dwfrPassFile[\"]? (.*)/" ,@file_get_contents( $repository['htaccess_form'] ),$found ) ) $repository['authFormProvider']=str_replace('"','',$found[1] ); } if ( is_file( "/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.htaccess_basic" ) ) { $repository['htaccess_basic']="/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.htaccess_basic"; $found=array(); if ( preg_match( "/.*AuthBasicProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( $repository['htaccess_basic'] ),$found ) ) $repository['authBasicProvider']=str_replace('"','',$found[1] ); } $repositorys[]=$repository; } } } if ( $domain == "darkweb.fr" && $nodeId!="TOQqeE6CWEWDumM4AUBkCC02F5Oou0TktIAL01I4wA3" ) continue; if ( $domain == "darkweb.fr" ) $domain="{$nodeId}.DarkWeb.fr"; if ( is_dir( "/var/svn/$domain" ) ) foreach( scandir( "/var/svn/$domain" ) as $repos ) { if ( $repos == "." || $repos == ".." ) continue; if ( is_dir( "/var/svn/$domain/$repos/db" ) ) { $repository=array( "domain" => $domain ,"repo" => $repos ,"path" => "/var/svn/$domain/$repos" ,"v_domain" => $domain ,"v_repos" => $repos ); if ( is_file( "/var/svn/$domain/$repos/.passwd" ) ) $repository['passwd']="/var/svn/$domain/$repos/.passwd"; if ( is_file( "/var/svn/$domain/$repos/.htaccess" ) ) { $repository['htaccess']="/var/svn/$domain/$repos/.htaccess"; $found=array(); if ( preg_match( "/.*AuthName (.*)/" ,file_get_contents( $repository['htaccess'] ),$found ) ) $repository['authName']=str_replace('"','',$found[1] ); } if ( is_file( "/var/svn/$domain/$repos/.htaccess_form" ) ) { $repository['htaccess_form']="/var/svn/$domain/$repos/.htaccess_form"; $found=array(); if ( preg_match( "/.*AuthFormProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( $repository['htaccess_form'] ),$found ) ) $repository['authFormProvider']=str_replace('"','',$found[1] ); } if ( is_file( "/var/svn/$domain/$repos/.htaccess_basic" ) ) { $repository['htaccess_basic']="/var/svn/$domain/$repos/.htaccess_basic"; $found=array(); if ( preg_match( "/.*AuthBasicProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( $repository['htaccess_basic'] ),$found ) ) $repository['authBasicProvider']=str_replace('"','',$found[1] ); } $repositorys[]=$repository; } } } return $repositorys; } // \darkauth\db\Repositorys::NodeScanSvn( $searchUser ,$allRepositorys ); function NodeScanSvn( string $searchUser ,array $allRepositorys ) : array { $formRepositorys = array(); $basicRepositorys = array(); if ( in_array( $searchUser ,array( 'alexandra' ,'chapuis' ) ) ) { $formRepositorys=$allRepositorys; $basicRepositorys=$allRepositorys; /* foreach( $allRepositorys as $repository ) { if ( in_array( $repository[ 'path' ] , array( '/diskSsh0/repos-subversion/Films' ,'/diskSsh0/repos-subversion/Musiques' ,'/diskSsh0/repos-subversion/Series' ,'/diskSsh0/repos-subversion/Windows-app' ,'/diskSsh0/repos-subversion/Windows-app-iso' ,'/diskSsh0/repos-subversion/Windows-iso' ,'/diskSsh0/repos-subversion/Windows-jeux' ,'/diskSsh0/repos-subversion/Windows-jeux-iso' ,'/var/svn/darkweb.fr/company/EI-Jeannot-Alexandra' ,'/var/svn/darkweb.fr/company/EI-Chapuis-Nicolas' ,'/var/svn/darkweb.fr/user/JeannotAlexandra' ,'/var/svn/darkweb.fr/user/ChapuisNicolas' ,'/var/svn/ajoffice.fr/EI-Guillaume-Sylvain' ,'/var/svn/arcelec.fr/Mr-Teneba-Olivier' ,'/var/svn/el-bahja.fr/EI-Debabeche-Fouad' ,'/var/svn/el-bahja.fr/EI-Debabeche-Abdel-Kader' ) ) ) { $formRepositorys[]=$repository; $basicRepositorys[]=$repository; } } //*/ } else { $authFormProviders = array(); $authBasicProviders = array(); //$userPassword = null; foreach( $allRepositorys as $repository ) { if ( isset( $repository['passwd'] ) && \darkauth\db\Users::searchUserInPasswd( $repository['passwd'] ,$searchUser ) ) { //if ( is_null( $userPassword ) ) $userPassword = searchUserPassInPasswd( $repository['passwd'] ,$searchUser ); if ( isset( $repository['authFormProvider'] ) ) { foreach( explode( ' ' ,$repository['authFormProvider'] ) as $authFormProvider ) if ( ! in_array( $authFormProvider ,$authFormProviders ) ) { $authFormProviders[]=$authFormProvider; //echo "Form:".$repository['v_repos']." cause ".$authFormProvider."
".\PHP_EOL; } } if ( isset( $repository['authFormProvider'] ) ) { foreach( explode( ' ' ,$repository['authFormProvider'] ) as $authFormProvider ) if ( ! in_array( $authFormProvider ,$authBasicProviders ) ) { $authBasicProviders[]=$authFormProvider; //echo $repository['v_repos']." cause ".$authFormProvider."
".\PHP_EOL; } } } //else // echo "no found[$searchUser] in ".$repository['path']."
\n"; } foreach( $allRepositorys as $repository ) { if ( isset( $repository['authFormProvider'] ) ) { foreach( $authFormProviders as $authFormProvider ) { if ( in_array( $authFormProvider ,explode(' ', $repository['authFormProvider'] ) ) ) { $formRepositorys[]=$repository; //echo $repository['v_repos']." cause ".$authFormProvider."
".\PHP_EOL; break; } } }//else // echo "NO PROVIDER:".$repository['path']." cause ".$authFormProvider."
".\PHP_EOL; if ( isset( $repository['authBasicProvider'] ) ) { foreach( $authBasicProviders as $authBasicProvider ) { if ( in_array( $authBasicProvider ,explode(' ', $repository['authBasicProvider'] ) ) ) { //$repository['userLOG1'] = $searchUser; //$repository['userPASS'] = $userPassword; $basicRepositorys[]=$repository; //echo $repository['v_repos']." cause ".$authBasicProvider."
".\PHP_EOL; break; } } } } } return array( $formRepositorys ,$basicRepositorys ); } // \darkauth\db\Repositorys::siteWebScanAllSvn( $searchUser ,$allRepositorys ); function siteWebScanAllSvn( ) : array { $repositorys = array(); $found=array(); $domain="ajoffice.fr"; $repositorys[]= array( "domain" => "$domain" ,"repo" => "private" ,"url"=> "https://www.ajoffice.fr/private/" ,"title" => "Zone de la cheffe." ,"path" => "/var/bakuba/ajoffice/www/private" ,'passwd' => "/var/www/darkweb.fr/auth/htpasswd" ,'htaccess' => "/var/bakuba/ajoffice/www/private/.htaccess" ,'htaccess_form' => "/var/bakuba/ajoffice/www/private/.htaccess" ,'authFormProvider' => preg_match( "/.*AuthFormProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( "/var/bakuba/ajoffice/www/private/.htaccess" ),$found ) ? str_replace( array( '"','\r', '\n' ) ,'' ,$found[1] ) : null ,'authName' => preg_match( "/.*AuthName (.*)\r/" ,file_get_contents( "/var/bakuba/ajoffice/www/private/.htaccess" ),$found ) ? str_replace( array( '"','\r', '\n' ) ,'' ,$found[1] ) : null ); foreach( scandir( "/var/svn/$domain" ) as $repos ) { if ( $repos == "." || $repos == ".." ) continue; if ( is_dir( "/var/svn/$domain/$repos/db" ) ) { $repository=array( "domain" => $domain ,"repo" => $repos ,"path" => "/var/svn/$domain/$repos" ,"v_domain" => $domain ,"v_repos" => $repos ); if ( is_file( "/var/svn/$domain/$repos/.passwd" ) ) $repository['passwd']="/var/svn/$domain/$repos/.passwd"; if ( is_file( "/var/svn/$domain/$repos/.htaccess" ) ) { $repository['htaccess']="/var/svn/$domain/$repos/.htaccess"; $found=array(); if ( preg_match( "/.*AuthName [\"]?(.*)[\"]?/" ,file_get_contents( $repository['htaccess'] ),$found ) ) $repository['authName']=str_replace(array( '"','\r', '\n' ),'',$found[1] ); } if ( is_file( "/var/svn/$domain/$repos/.htaccess_form" ) ) { $repository['htaccess_form']="/var/svn/$domain/$repos/.htaccess_form"; $found=array(); if ( preg_match( "/.*AuthFormProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( $repository['htaccess_form'] ),$found ) ) $repository['authFormProvider']=str_replace(array( '"','\r', '\n' ),'',$found[1] ); } //echo "For :".$repository["authName"]."
".\PHP_EOL; $repository["url"]="https://"."www.".$repository["domain"]."/svn-clients/".$repository["repo"]."/form/"; $repository["title"]=$repository["repo"]; $repositorys[]=$repository; } } return $repositorys; } // \darkauth\db\Repositorys::siteWebScanSvn( $searchUser ,$allRepositorys ); public static function siteWebScanSvn( string $searchUser ,array $allRepositorys ) : array { $repositorys = array(); if ( in_array( $searchUser ,array( 'alexandra' ,'chapuis' ) ) ) { $authProviders = null; foreach( $allRepositorys as $repository ) { if ( in_array( $repository[ 'path' ] , array( "/var/bakuba/ajoffice/www/private" ) ) ) $repositorys[]=$repository; } } else { $authProviders = array(); foreach( $allRepositorys as $repository ) { if ( isset( $repository['passwd'] ) && searchUserInPasswd( $repository['passwd'] ,$searchUser ) ) { if ( isset( $repository['authFormProvider'] ) ) { foreach( explode( ' ' ,$repository['authFormProvider'] ) as $authFormProvider ) if ( ! in_array( $authFormProvider ,$authProviders ) ) { $authProviders[]=$authFormProvider; //echo $repository['v_repos']." cause ".$authFormProvider."
".\PHP_EOL; } } } //else // echo "no found[$searchUser] in ".$repository['path']."
\n"; } } foreach( $allRepositorys as $repository ) { if ( isset( $repository['authFormProvider'] ) ) { if ( is_null( $authProviders ) ) $repositorys[]=$repository; else foreach( $authProviders as $authFormProvider ) { if ( in_array( $authFormProvider ,explode(' ', $repository['authFormProvider'] ) ) ) { $repositorys[]=$repository; //echo $repository['v_repos']." cause ".$authFormProvider."
".\PHP_EOL; break; } } } } return $repositorys; } }