a.id_local, a.te_locais_secundarios, c.sg_local FROM usuarios a, locais c WHERE a.nm_usuario_acesso = '". trim(DeCrypt($key,$iv,$_POST['nm_acesso'],$v_cs_cipher,$v_cs_compress,$strPaddingKey)) ."' AND a.id_local = c.id_local AND a.te_senha = "; //SHA1('". trim(DeCrypt($key,$iv,$_POST['te_senha'],$v_cs_cipher,$v_cs_compress)) ."')"; //GravaTESTES('QRY_USUARIO='.$qry_usuario); // Solução temporária, até total convergência para versões 4.0.2 ou maior de MySQL // Anderson Peterle - Dataprev/ES - 04/09/2006 $v_AUTH_SHA1 = " SHA1('". trim(DeCrypt($key,$iv,$_POST['te_senha'],$v_cs_cipher,$v_cs_compress,$strPaddingKey)) ."')"; $v_AUTH_PASSWORD = "******". trim(DeCrypt($key,$iv,$_POST['te_senha'],$v_cs_cipher,$v_cs_compress,$strPaddingKey)) ."')"; // Para MySQL 4.0.2 ou maior // Anderson Peterle - Dataprev/ES - 04/09/2006 $query = $qry_usuario . $v_AUTH_SHA1; //GravaTESTES('QUERY = '.$query); $result_qry_usuario = mysql_query($query); if (mysql_num_rows($result_qry_usuario)<=0) { // Para MySQL até 4.0 // Anderson Peterle - Dataprev/ES - 04/09/2006 $query = $qry_usuario . $v_AUTH_PASSWORD; $result_qry_usuario = mysql_query($query); } if (mysql_num_rows($result_qry_usuario)>0)
$query = " UPDATE computadores SET te_mem_ram_desc = '" . DeCrypt($key,$iv,$_POST['te_mem_ram_desc'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', qt_mem_ram = '" . DeCrypt($key,$iv,$_POST['qt_mem_ram'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', te_bios_desc = '" . DeCrypt($key,$iv,$_POST['te_bios_desc'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', te_bios_data = '" . DeCrypt($key,$iv,$_POST['te_bios_data'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', te_bios_fabricante = '" . DeCrypt($key,$iv,$_POST['te_bios_fabricante'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', te_placa_mae_desc = '" . DeCrypt($key,$iv,$_POST['te_placa_mae_desc'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', te_placa_mae_fabricante = '" . DeCrypt($key,$iv,$_POST['te_placa_mae_fabricante'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', qt_placa_video_mem = '" . DeCrypt($key,$iv,$_POST['qt_placa_video_mem'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', qt_placa_video_cores = '" . DeCrypt($key,$iv,$_POST['qt_placa_video_cores'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', te_placa_video_desc = '" . DeCrypt($key,$iv,$_POST['te_placa_video_desc'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', te_placa_video_resolucao = '" . DeCrypt($key,$iv,$_POST['te_placa_video_resolucao'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', te_placa_som_desc = '" . DeCrypt($key,$iv,$_POST['te_placa_som_desc'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', te_teclado_desc = '" . DeCrypt($key,$iv,$_POST['te_teclado_desc'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', te_mouse_desc = '" . DeCrypt($key,$iv,$_POST['te_mouse_desc'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', te_modem_desc = '" . DeCrypt($key,$iv,$_POST['te_modem_desc'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "' WHERE te_node_address = '" . $te_node_address . "' and id_so = '" . $arrSO['id_so'] . "'"; //GravaTESTES('Query: '.$query); $result = mysql_query($query); echo '<?xml version="1.0" encoding="iso-8859-1" ?><STATUS>OK</STATUS>'; } else echo '<?xml version="1.0" encoding="iso-8859-1" ?><STATUS>Chave (TE_NODE_ADDRESS + ID_SO) Inválida</STATUS>'; // Função para montagem do texto de componentes acrescentados function TrataAlteracoes($arrTiposComponentes, $arrHardwareSelecionado,$arrDescricoesColunasComputadores) { $strAlteracoes = ''; $arrOperacoes = array('REM','ACR'); $strAlteracoes = '';
function autentica_agente($p_CipherKey, $p_IV, $p_cs_cipher, $p_cs_compress, $p_PaddingKey = '') { /* GravaTESTES('###########################################'); GravaTESTES('Script Chamador: '.$_SERVER['REQUEST_URI']); GravaTESTES('1: '.$_SERVER['HTTP_USER_AGENT']); GravaTESTES('11: '.strtoupper(DeCrypt($p_CipherKey,$p_IV,$_SERVER['HTTP_USER_AGENT'],$p_cs_cipher, $p_cs_compress,$p_PaddingKey))); GravaTESTES('2: '.$_SERVER['PHP_AUTH_USER']); GravaTESTES('22: '.strtoupper(DeCrypt($p_CipherKey,$p_IV,$_SERVER['PHP_AUTH_USER'],$p_cs_cipher, $p_cs_compress,$p_PaddingKey))); GravaTESTES('3: '.$_SERVER['PHP_AUTH_PW']); GravaTESTES('33: '.strtoupper(DeCrypt($p_CipherKey,$p_IV,$_SERVER['PHP_AUTH_PW'],$p_cs_cipher, $p_cs_compress,$p_PaddingKey))); GravaTESTES('###########################################'); */ if (strtoupper(DeCrypt($p_CipherKey, $p_IV, $_SERVER['HTTP_USER_AGENT'], $p_cs_cipher, $p_cs_compress, $p_PaddingKey)) != 'AGENTE_CACIC' || strtoupper(DeCrypt($p_CipherKey, $p_IV, $_SERVER['PHP_AUTH_USER'], $p_cs_cipher, $p_cs_compress, $p_PaddingKey)) != 'USER_CACIC' || strtoupper(DeCrypt($p_CipherKey, $p_IV, $_SERVER['PHP_AUTH_PW'], $p_cs_cipher, $p_cs_compress, $p_PaddingKey)) != 'PW_CACIC') { echo 'Acesso não autorizado.'; exit; } }
if (count($HTTP_GET_VARS)>0) { GravaTESTES('srCACIC_getConfig.Valores GET Recebidos:'); foreach($HTTP_GET_VARS as $i => $v) GravaTESTES('srCACIC_getConfig: GET => '.$i.' => '.$v.' => '.DeCrypt($key,$iv,$v,$v_cs_cipher,$v_cs_compress,$strPaddingKey)); GravaTESTES(''); } */ conecta_bd_cacic(); // Autenticação da Estação Visitada $te_node_address = trim( DeCrypt($key,$iv,$_POST['te_node_address'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey) ); $te_so = trim( DeCrypt($key,$iv,$_POST['te_so'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey) ); $te_palavra_chave = trim( DeCrypt($key,$iv,$_POST['te_palavra_chave'],$v_cs_cipher,$v_cs_compress,$strPaddingKey) ); /* GravaTESTES('srCACIC_getConfig.te_node_address:'.$te_node_address); GravaTESTES('srCACIC_getConfig.te_so:'.$te_so); GravaTESTES('srCACIC_getConfig.te_palavra_chave:'.$te_palavra_chave); */ // ATENÇÃO: Apenas retornará um ARRAY contendo "id_so" e "te_so". $arrSO = inclui_computador_caso_nao_exista( $te_node_address, '', $te_so, '', '', '',
// Essas variáveis conterão os indicadores de criptografia e compactação $v_cs_cipher = (trim($_REQUEST['cs_cipher']) <> ''?trim($_REQUEST['cs_cipher']) : '4'); // Definição do nível de compressão (Default = 1 => mínimo) //$v_compress_level = 1; $v_compress_level = 0; // Mantido em 0(zero) para desabilitar a Compressão/Decompressão // Há necessidade de testes para Análise de Viabilidade Técnica $retorno_xml_header = '<?xml version="1.0" encoding="iso-8859-1" ?>'; $retorno_xml_values = '<STATUS>OK</STATUS><CS_OPERACAO>'.trim($_REQUEST['cs_operacao']).'</CS_OPERACAO>'; if (trim($_REQUEST['cs_operacao']) == 'TestaCrypt') { //echo 'Meio 1...<br>'; $retorno_xml_values .= '<CipheredTextRecepted>'.trim($_REQUEST['te_CipheredText']).'</CipheredTextRecepted>'; //echo 'Meio 2... KEY='.$key.' IV='.$iv.'<br>'; $retorno_xml_values .= '<cs_Cipher>'.$v_cs_cipher.'</cs_Cipher>'; //echo 'Meio 3...<br>'; $retorno_xml_values .= '<IVServer>'.$iv.'</IVServer>'; //echo 'Meio 4...<br>'; $retorno_xml_values .= '<CipherKeyServer>'.$key.'</CipherKeyServer>'; //echo 'Meio 5...<br>'; $v_UnCipheredText = trim(@DeCrypt($key,$iv,$_REQUEST['te_CipheredText'],$v_cs_cipher,$v_cs_compress)); $retorno_xml_values .= '<UnCipheredText>'.$v_UnCipheredText.'</UnCipheredText>'; //echo 'Meio 6...<br>'; } $retorno_xml = $retorno_xml_header . $retorno_xml_values; //echo 'Fim...<br>'; echo $retorno_xml; ?>
if ($strValues <> '') { $queryINS = "INSERT INTO softwares_inventariados_estacoes (te_node_address, id_so, id_software_inventariado) VALUES ".$strValues; $resultINS = mysql_query($queryINS); } } // ===================== // VARIÁVEIS DE AMBIENTE // ===================== $te_variaveis_ambiente = DeCrypt($key,$iv,$_POST['te_variaveis_ambiente'],$v_cs_cipher,$v_cs_compress,$strPaddingKey); while (substr(trim($te_variaveis_ambiente),0,1)=='=') $te_variaveis_ambiente = substr(trim($te_variaveis_ambiente),1); if ($te_variaveis_ambiente <> '') { $queryDEL = "DELETE FROM variaveis_ambiente_estacoes WHERE te_node_address = '".$te_node_address."' AND id_so = '".$arrSO['id_so']."'"; $resultDEL = mysql_query($queryDEL); $v_array_te_variaveis_ambiente = explode('#',$te_variaveis_ambiente); $strTripaHash = ''; $arrHashsNomes = array(); $arrHashsValores = array();
$v_te_serv_updates = $v_dados_rede['te_serv_updates']; $v_te_web_manager_address = $v_dados_rede['v_te_web_manager_address']; $v_te_path_serv_updates = $v_dados_rede['te_path_serv_updates']; $v_nm_usuario_login_serv_updates = $v_dados_rede['nm_usuario_login_serv_updates']; $v_te_senha_login_serv_updates = $v_dados_rede['te_senha_login_serv_updates']; $v_nu_porta_serv_updates = $v_dados_rede['nu_porta_serv_updates']; $te_node_address = DeCrypt($key,$iv,$_POST['te_node_address'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); // Endereço MAC (MAC Address) $id_so_new = DeCrypt($key,$iv,$_POST['id_so'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); // Antigo Identificador de S.O. (Old O.S. ID) $te_so = DeCrypt($key,$iv,$_POST['te_so'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); // Novo Identificador de S.O. (New O.S. Id) $te_nome_computador = DeCrypt($key,$iv,$_POST['te_nome_computador'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); // Nome do Computador (Computer Name) $te_workgroup = DeCrypt($key,$iv,$_POST['te_workgroup'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); // Nome do Grupo de Trabalho (WorkGroup Name) $te_versao_cacic = DeCrypt($key,$iv,$_POST['te_versao_cacic'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); // Versão do Agente Principal (Version of Principal Agent) $te_versao_gercols = DeCrypt($key,$iv,$_POST['te_versao_gercols'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); // Versão do Agente Gerente de Coletas Ger_Cols (Version of PickUp Manager) $te_palavra_chave = DeCrypt($key,$iv,$_POST['te_palavra_chave'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); // Palavra-Chave para Acesso ao Agente Principal (Keyword to Access to Principal Agent) $te_tripa_perfis = DeCrypt($key,$iv,$_POST['te_tripa_perfis'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); // Lista com Resultados de Sistemas Monitorados Pesquisados na Estação (Results of Search of Station´s Monitored Systems) /* Todas as vezes em que é feita a recuperação das configurações por um agente, é incluído o computador deste agente no BD, caso ainda não esteja inserido. */ // ATENÇÃO: Retornará um ARRAY contendo "id_so" e "te_so". $arrSO = inclui_computador_caso_nao_exista( $te_node_address, $id_so_new, $te_so, $id_ip_rede, $v_id_ip_estacao, $te_nome_computador, $te_workgroup); /* Atualizo a data/hora da última vez em que o agente foi executado. */ /* Atualizo as versões dos agentes principais. */
} $boolAgenteLinux = (trim(DeCrypt($key,$iv,$_POST['AgenteLinux'],$v_cs_cipher,$v_cs_compress,$strPaddingKey)) <> ''?true:false); autentica_agente($key,$iv,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $v_dados_rede = getDadosRede(); $te_node_address = DeCrypt($key,$iv,$_POST['te_node_address'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $id_so_new = DeCrypt($key,$iv,$_POST['id_so'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $te_so = DeCrypt($key,$iv,$_POST['te_so'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $id_ip_rede = DeCrypt($key,$iv,$_POST['id_ip_rede'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $te_ip = DeCrypt($key,$iv,$_POST['te_ip'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $te_nome_computador = DeCrypt($key,$iv,$_POST['te_nome_computador'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $te_workgroup = DeCrypt($key,$iv,$_POST['te_workgroup'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $id_usuario = DeCrypt($key,$iv,$_POST['id_usuario'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); /* Todas as vezes em que é feita a recuperação das configurações por um agente, é incluído o computador deste agente no BD, caso ainda não esteja inserido. */ if ($te_node_address <> '') { $arrSO = inclui_computador_caso_nao_exista( $te_node_address, $id_so_new, $te_so, $id_ip_rede, $te_ip, $te_nome_computador, $te_workgroup); }
$te_node_address = DeCrypt($key, $iv, $_POST['te_node_address'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); $id_so_new = DeCrypt($key, $iv, $_POST['id_so'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); $te_so = DeCrypt($key, $iv, $_POST['te_so'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); $te_nome_computador = DeCrypt($key, $iv, $_POST['te_nome_computador'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); $te_ip = DeCrypt($key, $iv, $_POST['te_ip'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); $te_nome_host = DeCrypt($key, $iv, $_POST['te_nome_host'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); $id_ip_rede = DeCrypt($key, $iv, $_POST['id_ip_rede'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); $te_workgroup = DeCrypt($key, $iv, $_POST['te_workgroup'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); /* Todas as vezes em que é feita a recuperação das configurações por um agente, é incluído o computador deste agente no BD, caso ainda não esteja inserido. */ if ($te_node_address != '') { $arrSO = inclui_computador_caso_nao_exista($te_node_address, $id_so_new, $te_so, $id_ip_rede, $te_ip, $te_nome_computador, $te_workgroup); // Tiro os escapes que o post automaticamente coloca. //$xmlSource=stripslashes(DeCrypt($key,$iv,$_POST['unidades'],$v_cs_cipher,$v_cs_compress)); //$strTripaDados=stripslashes(DeCrypt($key,$iv,$_POST['unidades'],$v_cs_cipher,$v_cs_compress)); $strTripaDados = DeCrypt($key, $iv, $_POST['UnidadesDiscos'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); //First we define a number of variables to store the data from each element /* $te_node_address=''; $id_so=''; */ /* COMENTADO A PARTIR DAQUI POR OCASIAO DA RETIRADA DO TRATAMENTO POR XML - 25/01/2008 - Anderson Peterle $te_letra=''; $id_tipo_unid_disco=''; $cs_sist_arq=''; $nu_serial=''; $nu_capacidade=''; $nu_espaco_livre=''; $te_unc='';
if ($_POST['padding_key']) { // Valores específicos para trabalho com o PyCACIC - 04 de abril de 2008 - Rogério Lino - Dataprev/ES $strPaddingKey = $_POST['padding_key']; // A versão inicial do agente em Python exige esse complemento na chave... } autentica_agente($key,$iv,$v_cs_cipher,$v_cs_compress, $strPaddingKey); $te_node_address = DeCrypt($key,$iv,$_POST['te_node_address'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $id_so_new = DeCrypt($key,$iv,$_POST['id_so'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $te_so = DeCrypt($key,$iv,$_POST['te_so'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $te_ip = DeCrypt($key,$iv,$_POST['te_ip'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $id_ip_rede = DeCrypt($key,$iv,$_POST['id_ip_rede'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $te_nome_computador = DeCrypt($key,$iv,$_POST['te_nome_computador'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $te_workgroup = DeCrypt($key,$iv,$_POST['te_workgroup'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $v_tripa_monitorados = DeCrypt($key,$iv,$_POST['te_tripa_monitorados'],$v_cs_cipher,$v_cs_compress,$strPaddingKey); /* Todas as vezes em que é feita a recuperação das configurações por um agente, é incluído o computador deste agente no BD, caso ainda não esteja inserido. */ if ($te_node_address <> '') { $arrSO = inclui_computador_caso_nao_exista( $te_node_address, $id_so_new, $te_so, $id_ip_rede, $te_ip, $te_nome_computador, $te_workgroup); $v_tripa_nao_achados = ''; //Conterá os registros não encontrados na base
// Verifico se o computador em questão já foi inserido anteriormente, e se não foi, insiro. $query = "SELECT count(*) as num_registros FROM officescan WHERE te_node_address = '" . $te_node_address . "' AND id_so = '" . $arrSO['id_so'] . "'"; $result = mysql_query($query); if (mysql_result($result, 0, "num_registros") == 0) { $query = "INSERT INTO officescan (te_node_address, id_so) VALUES ('" . $te_node_address . "', '" . $arrSO['id_so'] . "' )"; $result = mysql_query($query); } $query = "UPDATE officescan SET nu_versao_engine = '" . DeCrypt($key,$iv,$_POST['nu_versao_engine'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', nu_versao_pattern = '" . DeCrypt($key,$iv,$_POST['nu_versao_pattern'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', dt_hr_coleta = NOW(), dt_hr_instalacao = '" . DeCrypt($key,$iv,$_POST['dt_hr_instalacao'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', te_servidor = '" . DeCrypt($key,$iv,$_POST['te_servidor'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "', in_ativo = '" . DeCrypt($key,$iv,$_POST['in_ativo'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey) . "' WHERE te_node_address = '" . $te_node_address . "' and id_so = '" . $arrSO['id_so'] . "'"; $result = mysql_query($query); echo '<?xml version="1.0" encoding="iso-8859-1" ?><STATUS>OK</STATUS>'; } else echo '<?xml version="1.0" encoding="iso-8859-1" ?><STATUS>Chave (TE_NODE_ADDRESS + ID_SO) Inválida</STATUS>'; ?>
te_locais_secundarios, te_emails_contato','nm_usuario_acesso = "'.$nm_usuario_cli.'" AND te_senha = PASSWORD("'.$te_senha_cli.'")'); if ($arrUsuarios['id_usuario']<>'') { $boolIdLocal = stripos2(trim($arrUsuarios['te_locais_secundarios']),$arrComputadores['id_local'],false); // Caso o usuario tenha como local primario o local do computador ou // Caso o usuario seja do nivel "Administracao" ou // Caso o usuario tenha como local secundario o local do computador. if ($arrUsuarios['id_local'] == $arrComputadores['id_local'] ||$arrUsuarios['id_grupo_usuarios'] == '2' || $boolIdLocal) { $id_sessao = DeCrypt($key,$iv,$_POST['id_sessao'],$v_cs_cipher,$v_cs_compress,$strPaddingKey); $id_usuario_cli = $arrUsuarios['id_usuario']; $te_motivo_conexao = DeCrypt($key,$iv,$_POST['te_motivo_conexao'],$v_cs_cipher,$v_cs_compress,$strPaddingKey); $te_documento_referencial = DeCrypt($key,$iv,$_POST['te_documento_referencial'],$v_cs_cipher,$v_cs_compress,$strPaddingKey); $dt_hr_autenticacao = date('Y-m-d H:i:s'); //GravaTESTES('AuthClient: dt_hr_autenticacao => '.$dt_hr_autenticacao); $dt_hr_inicio_sessao = date('d-m-Y') . ' às ' . date('H:i') . 'h'; //GravaTESTES('AuthClient: dt_hr_inicio_sessao => '.$dt_hr_inicio_sessao); // Identifico o SO da máquina visitante $arrIdSO = getValores('so','id_so','trim(te_so) = "'.trim($te_so_cli).'"'); $id_so_cli = $arrIdSO['id_so']; //GravaTESTES('AuthClient: id_so_cli => '.$id_so_cli); if ($id_so_cli == '') $id_so_cli = insereNovoSO($te_so_cli); $query_SESSAO = "INSERT INTO srcacic_conexoes
$query_SESSAO = "UPDATE srcacic_sessoes_logs SET dt_hr_ultimo_contato = '".date('Y-m-d H:i:s')."' WHERE id_sessao = ".$id_sessao." and id_usuario_cli = ".$id_usuario_cli; GravaTESTES('SetSession: POST[id_sessao] => '.$_POST['id_sessao']); GravaTESTES('SetSession: id_sessao => '.$id_sessao); GravaTESTES('SetSession: query_SESSAO => '.$query_SESSAO); $result_SESSAO = mysql_query($query_SESSAO); } } else { $te_log = DeCrypt($key,$iv,$_POST['te_log'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $query_SESSAO = "UPDATE srcacic_sessoes SET te_log = '".$te_log."' WHERE id_sessao = ".$id_sessao; GravaTESTES('SetSession: POST[id_sessao] => '.$_POST['id_sessao']); GravaTESTES('SetSession: id_sessao => '.$id_sessao); GravaTESTES('SetSession: query_SESSAO => '.$query_SESSAO); $result_SESSAO = mysql_query($query_SESSAO); } $retorno_xml_values .= '<OK>'.EnCrypt($key,$iv,'OK',$v_cs_cipher,$v_cs_compress,$v_compress_level,$strPaddingKey).'</OK>'; }
else { $query = "INSERT INTO patrimonio ( te_node_address, id_so, dt_hr_alteracao, id_unid_organizacional_nivel1a, id_unid_organizacional_nivel2, te_localizacao_complementar, te_info_patrimonio1, te_info_patrimonio2, te_info_patrimonio3, te_info_patrimonio4, te_info_patrimonio5, te_info_patrimonio6 ) VALUES ( '" . $te_node_address . "', '" . $arrSO['id_so'] . "', NOW(), '" . DeCrypt($key,$iv,$_POST['id_unid_organizacional_nivel1a'],$v_cs_cipher,$v_cs_compress,$strPaddingKey) . "', '" . DeCrypt($key,$iv,$_POST['id_unid_organizacional_nivel2'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey) . "', '" . DeCrypt($key,$iv,$_POST['te_localizacao_complementar'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey) . "', '" . DeCrypt($key,$iv,$_POST['te_info_patrimonio1'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey) . "', '" . DeCrypt($key,$iv,$_POST['te_info_patrimonio2'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey) . "', '" . DeCrypt($key,$iv,$_POST['te_info_patrimonio3'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey) . "', '" . DeCrypt($key,$iv,$_POST['te_info_patrimonio4'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey) . "', '" . DeCrypt($key,$iv,$_POST['te_info_patrimonio5'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey) . "', '" . DeCrypt($key,$iv,$_POST['te_info_patrimonio6'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey) . "')"; } $result = mysql_query($query); echo '<?xml version="1.0" encoding="iso-8859-1" ?><STATUS>OK</STATUS>'; } else echo '<?xml version="1.0" encoding="iso-8859-1" ?><STATUS>Chave (TE_NODE_ADDRESS + ID_SO) Inválida</STATUS>'; ?>
// O computador já existe. // Ele é criado durante a obtenção das configurações, no script get_config.php. $query = " UPDATE computadores SET te_ip = '" . $te_ip . "', te_nome_computador = '" . $te_nome_computador . "', te_mascara = '" . DeCrypt($key,$iv,$_POST['te_mascara'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', id_ip_rede = '" . $id_ip_rede . "', te_gateway = '" . DeCrypt($key,$iv,$_POST['te_gateway'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', te_serv_dhcp = '" . DeCrypt($key,$iv,$_POST['te_serv_dhcp'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', te_nome_host = '" . DeCrypt($key,$iv,$_POST['te_nome_host'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', te_dominio_windows = '" . $v_te_workgroup . "', te_dominio_dns = '" . DeCrypt($key,$iv,$_POST['te_dominio_dns'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', te_dns_primario = '" . DeCrypt($key,$iv,$_POST['te_dns_primario'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', te_dns_secundario = '" . DeCrypt($key,$iv,$_POST['te_dns_secundario'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', te_wins_primario = '" . DeCrypt($key,$iv,$_POST['te_wins_primario'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', te_wins_secundario = '" . DeCrypt($key,$iv,$_POST['te_wins_secundario'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', te_workgroup = '" . $v_te_workgroup . "', te_origem_mac = '" . DeCrypt($key,$iv,$_POST['te_origem_mac'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "' WHERE te_node_address = '" . $te_node_address . "' and id_so = '" . $arrSO['id_so'] . "'"; //GravaTESTES($query); // te_dominio_windows = '" . DeCrypt($key,$iv,$_POST['te_dominio_windows'] ,$v_cs_cipher, $v_cs_compress) . "', $result = mysql_query($query); echo '<?xml version="1.0" encoding="iso-8859-1" ?><STATUS>OK</STATUS>'; } else echo '<?xml version="1.0" encoding="iso-8859-1" ?><STATUS>Chave (TE_NODE_ADDRESS + ID_SO) Inválida</STATUS>'; ?>
$query_INSERT = "INSERT INTO srcacic_transfs ( dt_systemtime, nu_duracao, te_path_origem, te_path_destino, nm_arquivo, nu_tamanho_arquivo, cs_status, cs_operacao, id_conexao) VALUES '".DeCrypt($key,$iv,$_POST['dt_systemtime'],$v_cs_cipher,$v_cs_compress,$strPaddingKey)."', ".DeCrypt($key,$iv,$_POST['nu_duracao'],$v_cs_cipher,$v_cs_compress,$strPaddingKey).", '".DeCrypt($key,$iv,$_POST['te_path_origem'],$v_cs_cipher,$v_cs_compress,$strPaddingKey)."', '".DeCrypt($key,$iv,$_POST['te_path_destino'],$v_cs_cipher,$v_cs_compress,$strPaddingKey)."', '".DeCrypt($key,$iv,$_POST['nm_arquivo'],$v_cs_cipher,$v_cs_compress,$strPaddingKey)."', ".DeCrypt($key,$iv,$_POST['nu_tamanho_arquivo'],$v_cs_cipher,$v_cs_compress,$strPaddingKey).", '".DeCrypt($key,$iv,$_POST['cs_status'],$v_cs_cipher,$v_cs_compress,$strPaddingKey)."', '".DeCrypt($key,$iv,$_POST['cs_operacao'],$v_cs_cipher,$v_cs_compress,$strPaddingKey)."'," . $id_conexao; $result_INSERT = mysql_query($query_INSERT); $retorno_xml_values .= '<OK>'.EnCrypt($key,$iv,'OK',$v_cs_cipher,$v_cs_compress,$v_compress_level,$strPaddingKey).'</OK>'; } if ($retorno_xml_values <> '') $retorno_xml_values = '<STATUS>'.EnCrypt($key,$iv,'OK',$v_cs_cipher,$v_cs_compress,$v_compress_level,$strPaddingKey).'</STATUS>'.$retorno_xml_values; else $retorno_xml_values = '<STATUS>'.EnCrypt($key,$iv,'SetTransf ERRO! '.ldap_error($ldap),$v_cs_cipher,$v_cs_compress,$v_compress_level,$strPaddingKey).'</STATUS>'; $retorno_xml = $retorno_xml_header . $retorno_xml_values; echo $retorno_xml; ?>
if ($_POST['padding_key']) { // Valores específicos para trabalho com o PyCACIC - 04 de abril de 2008 - Rogério Lino - Dataprev/ES $strPaddingKey = $_POST['padding_key']; // A versão inicial do agente em Python exige esse complemento na chave... } autentica_agente($key, $iv, $v_cs_cipher, $v_cs_compress, $strPaddingKey); $te_node_address = DeCrypt($key, $iv, $_POST['te_node_address'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); $id_so_new = DeCrypt($key, $iv, $_POST['id_so'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); $te_so = DeCrypt($key, $iv, $_POST['te_so'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); $te_ip = DeCrypt($key, $iv, $_POST['te_ip'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); $id_ip_rede = DeCrypt($key, $iv, $_POST['id_ip_rede'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); $te_nome_computador = DeCrypt($key, $iv, $_POST['te_nome_computador'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); $te_workgroup = DeCrypt($key, $iv, $_POST['te_workgroup'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); if ($te_node_address != '') { $arrSO = inclui_computador_caso_nao_exista($te_node_address, $id_so_new, $te_so, $id_ip_rede, $te_ip, $te_nome_computador, $te_workgroup); $strTripaDados = DeCrypt($key, $iv, $_POST['CompartilhamentosLocais'], $v_cs_cipher, $v_cs_compress, $strPaddingKey); // Deleto todos os compartilhamentos desse computador, antes de inserir os atualizados. $query = "DELETE FROM compartilhamentos \r\n\t\t\t\t\t\t\t\t\t\t\tWHERE te_node_address = '" . $te_node_address . "'\r\n\t\t\t\t\t\t\t\t\t\t\tAND id_so = " . $arrSO['id_so']; conecta_bd_cacic(); mysql_query($query); $arrCompartilhamentosLocais = explode('<REG>', $strTripaDados); $strValues = ''; // Agora insiro todos os compartilhamentos. for ($intIndice = 0; $intIndice < count($arrCompartilhamentosLocais); $intIndice++) { /* ATENÇÂO: O agente envia as informações serializadas com o seguinte conteúdo: nm_compartilhamento + '<FIELD>' + nm_dir_compart + '<FIELD>' + cs_tipo_compart + '<FIELD>' + te_comentario + '<FIELD>' + in_senha_leitura + '<FIELD>' +
Foi identificada uma alteração na configuração de software do seguinte computador:\n Nome...............: ". mysql_result( $result, 0, "te_nome_computador" ) ." Endereço TCP/IP....: ". mysql_result( $result, 0, "te_ip" ) . " Rede...............: ". mysql_result( $result, 0, "id_ip_rede" ) ." Sistema Operacional: ". mysql_result( $result, 0, "te_desc_so" ) ." Grupo...........: ". mysql_result( $result, 0, "te_workgroup" ) ." (". mysql_result( $result, 0, "te_dominio_windows" ) ." )\n Os Softwares abaixo foram instalados:\n".$nome_instalados." Os Softwares abaixo foram desinstalados:\n".$nome_deletado; echo $corpo_mail; $destinatarios = "*****@*****.**"; // Manda mail para os administradores. mail("$destinatarios", "Alteracao de Software Detectada", "$corpo_mail", "From: cacic@{$_SERVER['SERVER_NAME']}"); //} } $v_tripa_variaveis_coletadas = DeCrypt($key,$iv,$_POST['te_variaveis_ambiente'],$_POST['cs_cipher']); while (substr(trim($v_tripa_variaveis_coletadas),0,1)=='=') { $v_tripa_variaveis_coletadas = substr(trim($v_tripa_variaveis_coletadas),1); } if ($v_tripa_variaveis_coletadas<>'') { $queryDEL = "DELETE FROM variaveis_ambiente_estacoes WHERE te_node_address = '".$te_node_address."' AND id_so = '".$id_so."'"; $result = mysql_query($queryDEL); $v_array_te_variaveis_coletadas = explode('#',$v_tripa_variaveis_coletadas); $query_var = "SELECT *
{ // Valores específicos para trabalho com o PyCACIC - 04 de abril de 2008 - Rogério Lino - Dataprev/ES $strPaddingKey = $_POST['padding_key']; // A versão inicial do agente em Python exige esse complemento na chave... } autentica_agente($key,$iv,$v_cs_cipher,$v_cs_compress, $strPaddingKey); $v_dados_rede = getDadosRede(); $te_node_address = DeCrypt($key,$iv,$_POST['te_node_address'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey); $id_so_new = DeCrypt($key,$iv,$_POST['id_so'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey); $te_so = DeCrypt($key,$iv,$_POST['te_so'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey); $id_ip_rede = DeCrypt($key,$iv,$_POST['id_ip_rede'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey); $te_ip = DeCrypt($key,$iv,$_POST['te_ip'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey); $te_nome_computador = DeCrypt($key,$iv,$_POST['te_nome_computador'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey); $te_workgroup = DeCrypt($key,$iv,$_POST['te_workgroup'] ,$v_cs_cipher,$v_cs_compress, $strPaddingKey); /* Todas as vezes em que é feita a recuperação das configurações por um agente, é incluído o computador deste agente no BD, caso ainda não esteja inserido. */ if ($te_node_address <> '') { $arrSO = inclui_computador_caso_nao_exista( $te_node_address, $id_so_new, $te_so, $id_ip_rede, $te_ip, $te_nome_computador, $te_workgroup); }
$te_mensagem = DeCrypt($key,$iv,$_POST['te_mensagem'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $cs_origem = DeCrypt($key,$iv,$_POST['cs_origem'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $query_CHAT = "INSERT INTO srcacic_chats(id_conexao,dt_hr_mensagem,te_mensagem,cs_origem) VALUES (".$id_conexao.",'".date('Y-m-d H:i:s')."','".$te_mensagem."','".$cs_origem."')"; $result_CHAT = mysql_query($query_CHAT); } else { // Verifico se o registro de conexao eh valido // Neste caso, testo se o valor que chega refere-se a "0" criptografado com uma determinada chave... if ($_POST['id_conexao'] <> 'pibWRa7Dc7gciUJjHEB4Ww==') { $arr_id_usuario_cli = explode('<REG>',DeCrypt($key,$iv,$_POST['id_usuario_cli'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey)); $arr_id_conexao = explode('<REG>',DeCrypt($key,$iv,$_POST['id_conexao'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey)); $arr_te_so_cli = explode('<REG>',DeCrypt($key,$iv,$_POST['te_so_cli'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey)); for ($i=0; $i < count($arr_id_usuario_cli); $i++) { $te_so_cli = $arr_te_so_cli[$i]; $id_conexao = $arr_id_conexao[$i]; $arr_id_so_cli = getValores('so','id_so','trim(te_so)="'.trim($te_so_cli).'"'); /* E se o tecnico utilizar um notebook externo ao parque computacional da corporacao? Nao insiro a maquina do visitante... */ $query_SESSAO = "UPDATE srcacic_conexoes SET dt_hr_ultimo_contato = '".date('Y-m-d H:i:s')."' WHERE id_sessao = ".$id_sessao ." and id_conexao = ".$id_conexao;