Ejemplo n.º 1
0
function getCommand($poConfig)
{
    $dbCon = connectTo($poConfig, "PublicOpinion", FALSE, TRUE);
    $dbUser = $poConfig->getSetting("PublicOpinion", "DBUser");
    $dbTable = "Courthouse." . $dbUser . "_TASKS";
    $sqlGetCommand = "SELECT `command`,`target`,`words`,`job_id` FROM " . $dbTable . " WHERE `complete`=FALSE LIMIT 1;";
    $resultCommand = $dbCon->query($sqlGetCommand);
    return $resultCommand->fetch_row();
}
Ejemplo n.º 2
0
function resetCLCSdb($dbType, $dbConfig)
{
    $dbCon = connectTo($dbConfig, $dbType, FALSE, TRUE);
    $configFile = "Config/" . $dbType . ".sql";
    $dbCon->query("DROP DATABASE IF EXISTS {$dbType}");
    $dbCon->query("CREATE DATABASE {$dbType}");
    $dbCon->close();
    loadSQLFile($dbType, $dbConfig, $configFile);
}
Ejemplo n.º 3
0
function showCourthouseStatus($chConfig)
{
    $dbCon = connectTo($chConfig, "Courthouse", TRUE, FALSE);
    $tempWordResults = $dbCon->query("SELECT COUNT(*) FROM Words");
    $tempWord = $tempWordResults->fetch_row();
    if (is_null($tempWord)) {
        $wordCount = 0;
    } else {
        $wordCount = $tempWord[0];
    }
    $tempTargetResults = $dbCon->query("SELECT COUNT(*) FROM Targets");
    $tempTarget = $tempTargetResults->fetch_row();
    if (is_null($tempTarget)) {
        $targetCount = 0;
    } else {
        $targetCount = $tempTarget[0];
    }
    $tempWordResults->close();
    $tempTargetResults->close();
    $dbCon->close();
    echo "Statistics:\n";
    echo "Words:   " . $wordCount . "\n";
    echo "Targets: " . $targetCount . "\n";
    userAck();
}
Ejemplo n.º 4
0
function updateFromCourthouses($jConfig)
{
    $dbCon = connectTo($jConfig, "Justice", TRUE, FALSE);
    $sqlAllCourthouses = "SELECT `address`,`port`,`username`,`userpass` FROM Courthouses;";
    $allCH = $dbCon->query($sqlAllCourthouses);
    $sqlSolvedTargets = "SELECT `hash_value`,`cleartext_value` FROM Targets WHERE `isbenchmark`=false and `cleartext_value` IS NOT NULL;";
    $solutions = array();
    while ($chRecord = $allCH->fetch_row()) {
        $chAddress = $chRecord[0];
        $chPort = $chRecord[1];
        $chUser = $chRecord[2];
        $chPass = $chRecord[3];
        $chCon = connectManual($chAddress, $chUser, $chPort, $chPass, "Courthouse", FALSE);
        $solvedTargets = $chCon->query($sqlSolvedTargets);
        while ($targetSolution = $solvedTargets->fetch_row()) {
            $hVal = $targetSolution[0];
            $cVal = $targetSolution[1];
            $solutions[$hVal] = $cVal;
        }
        $solvedTargets->close();
    }
    $chCon->close();
    $numSolved = count($solutions);
    echo "Found " . $numSolved . " new solutions across all Courthouses.\n";
    if ($numSolved) {
        $sqlSolutions = "";
        foreach ($solutions as $key => $value) {
            $sqlSolutions .= "UPDATE `Targets` SET `cleartext_value`='" . $value . "',  `confidence`=100 WHERE `hash_value` = '" . $key . "';";
        }
        $dbCon->multi_query($sqlSolutions);
        $dbCon->close();
    } else {
        $dbCon->close();
    }
    sleep(1);
}
Ejemplo n.º 5
0
function registerNode($chConfig, $nodeID, $gpu, $ipa)
{
    $onetimePass = getPassword();
    createUserAndTable($chConfig, $nodeID, $onetimePass);
    $hasGPU = "FALSE";
    if (is_int($gpu) && $gpu > 0) {
        $hasGPU = "TRUE";
    }
    $currentDate = date('Y-m-d H:i:s');
    $sqlRegisterNode = "INSERT INTO Nodes (`node_id`, `has_gpu`, `ip_address`, `last_checkin`) VALUES ( '" . $nodeID . "', '" . $hasGPU . "', '" . $ipa . "', '" . $currentDate . "' );";
    $dbCon = connectTo($chConfig, "Courthouse", TRUE, FALSE);
    $addResult = $dbCon->query($sqlRegisterNode);
    echo $onetimePass;
    $dbCon->close();
    assignJob($chConfig, $nodeID);
}