'div style=', 'overflow: auto', 'height: 1px', 'cc%20', 'admin_action=', 'path=', 'action=http',
'page=http', 'module=http', 'op=http', 'id=http', 'id%3Dhttp', 'action%3Dhttp', 'page%3Dhttp',
'module%3Dhttp', 'op%3Dhttp', 'starhack', '../../', 'directory=http', 'dir=http', 'busca', 'uol.com',
- '=http://', '=https://','=ftp://'
+ '=http://', '=https://','=ftp://','_SESSION'
);
// Block these words found in POST requests
);
// Load email header
- $GLOBALS['ctracker_header'] = crackerTrackerLoadEmaiLTemplate('header');
+ $GLOBALS['ctracker_header'] = crackerTrackerLoadEmailTemplate('header');
}
// Checks for worms
crackerTrackerDie();
}
+// Sends the ticket emails out
+function sendCrackerTrackerTicketMails () {
+ // Load user template
+ $mail = crackerTrackerLoadEmailTemplate('user_add_ticket', $GLOBALS['ctracker_last_ticket']);
+
+ // Send email to the user
+ crackerTrackerSendMail($mail, $GLOBALS['ctracker_last_ticket']['ctracker_ticket_email'], getCrackerTrackerLocalized('user_add_ticket_subject'));
+
+ // Load webmaster template
+ $mail = crackerTrackerLoadEmailTemplate('webmaster_add_ticket', $GLOBALS['ctracker_last_ticket'], getCrackerTrackerConfig('ctracker_language'));
+
+ // Send email to the user
+ crackerTrackerSendMail($mail, null, getCrackerTrackerLocalized('webmaster_add_ticket_subject'));
+}
+
// Sends a mail out
function crackerTrackerSendMail ($mail, $recipient = null, $subject = null) {
// Construct dummy array
// Send the email out only in non-debug mode
if (isCrackerTrackerDebug()) {
// Output message
- print 'Recipient='.$recipient.'<br />Subject='.$subject.'<br />Text=<pre>' . $mail . '</pre>';
+ print 'Recipient=' . $recipient . '<br />Subject=' . $subject . '<br />Text=<pre>' . $mail . '</pre>';
// All fine
return true;
// Send it the deprecated way with constant
return mail(constant('__CTRACKER_EMAIL'), 'CTracker: Attack detected!', $mail, $GLOBALS['ctracker_header']);
}
- } // END - if
+ } elseif (isCrackerTrackerDebug()) {
+ // Output message
+ print 'Recipient=' . $recipient . '<br />Subject=' . $subject . '<br />Text=<pre>' . $mail . '</pre>';
+
+ // All fine
+ return true;
+ }
}
// Sends a detected POST attack mail
if (!isCrackerTrackerDebug()) sleep(mt_rand(10,30));
// Bye, bye...
- print '<pre>';
- debug_print_backtrace();
- die('</pre>');
- die();
+ if (isCrackerTrackerDebug()) {
+ // With debug backtrace
+ print '<pre>';
+ debug_print_backtrace();
+ die('</pre>');
+ } else {
+ // Simple die()
+ die();
+ }
}
// Logs the attack attempt
// Prepare array for database insert
$rowData = array(
- 'remote_addr' => determineCrackerTrackerRealRemoteAddress(),
- 'user_agent' => crackerTrackerUserAgent(),
- 'get_data' => crackerTrackerQueryString(),
- 'post_data' => $GLOBALS['ctracker_post_track'],
- 'check_worm' => $GLOBALS['ctracker_checkworm'],
- 'check_post' => $GLOBALS['ctracker_check_post'],
- 'server_name' => crackerTrackerServerName(),
- 'script_name' => crackerTrackerScriptName(),
- 'referer' => crackerTrackerReferer(),
- 'proxy_used' => $proxyUsed
+ 'remote_addr' => determineCrackerTrackerRealRemoteAddress(),
+ 'user_agent' => crackerTrackerUserAgent(),
+ 'get_data' => crackerTrackerQueryString(),
+ 'post_data' => $GLOBALS['ctracker_post_track'],
+ 'check_worm' => $GLOBALS['ctracker_checkworm'],
+ 'check_post' => $GLOBALS['ctracker_check_post'],
+ 'server_name' => crackerTrackerServerName(),
+ 'script_name' => crackerTrackerScriptName(),
+ 'referer' => crackerTrackerReferer(),
+ 'proxy_used' => $proxyUsed,
+ 'first_attempt' => 'NOW()'
);
// Insert the array in database
- crackerTrackerInsertArray($rowData);
+ crackerTrackerInsertArray('ctracker_data', $rowData);
}
// Alerts the current user about malicious/suspicious traffic
// Load "Thank you" template
crackerTrackerLoadTemplate('add_ticket_thanks');
}
- } elseif (isset($_POST['ctracker_add_ticket'])) {
+ } elseif ((isset($_POST['ctracker_add_ticket'])) && (!empty($_POST['name'])) && (!empty($_POST['email']))) {
// Add the ticket
addCrackerTrackerTicket($_POST);
+
+ // Send the email out
+ sendCrackerTrackerTicketMails();
} else {
// Display the form for new ticket
crackerTrackerLoadTemplate('add_ticket');