84 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * File: kill.php
 | |
|  * Author: Ryan Prather
 | |
|  * Purpose: Kill a running process
 | |
|  * Created: May 19, 2014
 | |
|  *
 | |
|  * Portions Copyright 2016-2017: Cyber Perspectives, LLC, All rights reserved
 | |
|  * Released under the Apache v2.0 License
 | |
|  *
 | |
|  * Portions Copyright (c) 2012-2015, Salient Federal Solutions
 | |
|  * Portions Copyright (c) 2008-2011, Science Applications International Corporation (SAIC)
 | |
|  * Released under Modified BSD License
 | |
|  *
 | |
|  * See license.txt for details
 | |
|  *
 | |
|  * Change Log:
 | |
|  *  - May 19, 2014 - File created
 | |
|  *  - Sep 1, 2016 - Copyright and function calls after class merger updated
 | |
|  *  - May 31, 2017 - Fixed a couple bugs and enhanced functionality to mark scans as terminated instead of deleting them
 | |
|  */
 | |
| include_once 'config.inc';
 | |
| include_once 'database.inc';
 | |
| include_once 'helper.inc';
 | |
| 
 | |
| $db = new db();
 | |
| 
 | |
| $ste_id = filter_input(INPUT_GET, 'ste', FILTER_VALIDATE_INT, FILTER_NULL_ON_FAILURE);
 | |
| $id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT, FILTER_NULL_ON_FAILURE);
 | |
| $pid = filter_input(INPUT_GET, 'pid', FILTER_SANITIZE_STRING, FILTER_NULL_ON_FAILURE);
 | |
| 
 | |
| check_path(TMP . "/terminated");
 | |
| $result = null;
 | |
| 
 | |
| try {
 | |
|   if ($pid == '*') {
 | |
|     $db->help->update("sagacity.scans", array('status' => 'TERMINATED'), array(
 | |
|       array(
 | |
|         'field' => 'ste_id',
 | |
|         'op'    => '=',
 | |
|         'value' => $ste_id
 | |
|       ),
 | |
|       array(
 | |
|         'field'  => 'status',
 | |
|         'op'     => '=',
 | |
|         'value'  => 'RUNNING',
 | |
|         'sql_op' => 'AND'
 | |
|       )
 | |
|     ));
 | |
|   }
 | |
|   elseif (!is_null($id) && is_numeric($id)) {
 | |
|     $db->help->update("sagacity.scans", array("status" => 'TERMINATED'), array(
 | |
|       array(
 | |
|         'field' => 'ste_id',
 | |
|         'op'    => '=',
 | |
|         'value' => $ste_id
 | |
|       ),
 | |
|       array(
 | |
|         'field'  => 'id',
 | |
|         'op'     => '=',
 | |
|         'value'  => $id,
 | |
|         'sql_op' => 'AND'
 | |
|       ),
 | |
|       array(
 | |
|         'field'  => 'status',
 | |
|         'op'     => '=',
 | |
|         'value'  => 'RUNNING',
 | |
|         'sql_op' => 'AND'
 | |
|       )
 | |
|     ));
 | |
|   }
 | |
|   else {
 | |
|     throw(new Exception("Invalid PID"));
 | |
|   }
 | |
| 
 | |
|   $db->help->execute();
 | |
| }
 | |
| catch (Exception $e) {
 | |
|   error_log($e->getTraceAsString() . PHP_EOL . print_r($result, true));
 | |
| }
 | |
| 
 | |
| print "<script>window.close();</script>";
 |