mirror of https://github.com/MISP/MISP
chg: [python] Added and amended varios places where python is called
parent
05e0c412ef
commit
51a3a5cdbf
|
@ -921,7 +921,8 @@ class ServersController extends AppController
|
|||
if ($tab == 'diagnostics' || $tab == 'download') {
|
||||
$php_ini = php_ini_loaded_file();
|
||||
$this->set('php_ini', $php_ini);
|
||||
$advanced_attachments = shell_exec('python3 ' . APP . 'files/scripts/generate_file_objects.py -c');
|
||||
$advanced_attachments = shell_exec($this->Server->getPythonVersion() . ' ' . APP . 'files/scripts/generate_file_objects.py -c');
|
||||
|
||||
try {
|
||||
$advanced_attachments = json_decode($advanced_attachments, true);
|
||||
} catch (Exception $e) {
|
||||
|
|
|
@ -3358,7 +3358,7 @@ class Attribute extends AppModel
|
|||
{
|
||||
$execRetval = '';
|
||||
$execOutput = array();
|
||||
$result = shell_exec('python3 ' . APP . 'files/scripts/generate_file_objects.py -p ' . $tmpfile->path);
|
||||
$result = shell_exec($this->Server->getPythonVersion() . ' ' . APP . 'files/scripts/generate_file_objects.py -p ' . $tmpfile->path);
|
||||
if (!empty($result)) {
|
||||
$result = json_decode($result, true);
|
||||
if (isset($result['objects'])) {
|
||||
|
|
|
@ -3737,6 +3737,7 @@ class Event extends AppModel
|
|||
|
||||
public function stix2($id, $tags, $attachments, $user, $returnType = 'json', $from = false, $to = false, $last = false, $jobId = false, $returnFile = false)
|
||||
{
|
||||
$my_server = ClassRegistry::init('Server');
|
||||
$eventIDs = $this->Attribute->dissectArgs($id);
|
||||
$tagIDs = $this->Attribute->dissectArgs($tags);
|
||||
$idList = $this->getAccessibleEventIds($eventIDs[0], $eventIDs[1], $tagIDs[0], $tagIDs[1]);
|
||||
|
@ -3746,7 +3747,7 @@ class Event extends AppModel
|
|||
}
|
||||
$randomFileName = $this->generateRandomFileName();
|
||||
$tmpDir = APP . "files" . DS . "scripts";
|
||||
$stix2_framing_cmd = 'python3 ' . $tmpDir . DS . 'misp_framing.py stix2 ' . escapeshellarg(CakeText::uuid()) . ' 2>' . APP . 'tmp/logs/exec-errors.log';
|
||||
$stix2_framing_cmd = $my_server->getPythonVersion() . ' ' . $tmpDir . DS . 'misp_framing.py stix2 ' . escapeshellarg(CakeText::uuid()) . ' 2>' . APP . 'tmp/logs/exec-errors.log';
|
||||
$stix2_framing = json_decode(shell_exec($stix2_framing_cmd), true);
|
||||
if (empty($stix2_framing)) {
|
||||
return array('success' => 0, 'message' => 'There was an issue generating the STIX 2.0 export.');
|
||||
|
@ -3782,7 +3783,7 @@ class Event extends AppModel
|
|||
$tempFile->write($event);
|
||||
unset($event);
|
||||
$scriptFile = APP . "files" . DS . "scripts" . DS . "stix2" . DS . "misp2stix2.py";
|
||||
$result = shell_exec('python3 ' . $scriptFile . ' ' . $tempFile->path . $ORGs . '2>' . APP . 'tmp/logs/exec-errors.log');
|
||||
$result = shell_exec($my_server->getPythonVersion() . ' ' . $scriptFile . ' ' . $tempFile->path . $ORGs . '2>' . APP . 'tmp/logs/exec-errors.log');
|
||||
$decoded = json_decode($result, true);
|
||||
if (isset($decoded['success']) && $decoded['success'] == 1) {
|
||||
if (isset($decoded['org'])) {
|
||||
|
@ -3818,6 +3819,7 @@ class Event extends AppModel
|
|||
|
||||
public function stix($id, $tags, $attachments, $user, $returnType = 'xml', $from = false, $to = false, $last = false, $jobId = false, $returnFile = false)
|
||||
{
|
||||
$my_server = ClassRegistry::init('Server');
|
||||
$eventIDs = $this->Attribute->dissectArgs($id);
|
||||
$tagIDs = $this->Attribute->dissectArgs($tags);
|
||||
$idList = $this->getAccessibleEventIds($eventIDs[0], $eventIDs[1], $tagIDs[0], $tagIDs[1]);
|
||||
|
@ -3827,7 +3829,7 @@ class Event extends AppModel
|
|||
}
|
||||
$randomFileName = $this->generateRandomFileName();
|
||||
$tmpDir = APP . "files" . DS . "scripts";
|
||||
$stix_framing_cmd = 'python3 ' . $tmpDir . DS . 'misp_framing.py stix ' . escapeshellarg(Configure::read('MISP.baseurl')) . ' ' . escapeshellarg(Configure::read('MISP.org')) . ' ' . escapeshellarg($returnType) . ' 2>' . APP . 'tmp/logs/exec-errors.log';
|
||||
$stix_framing_cmd = $my_server->getPythonVersion() . ' ' . $tmpDir . DS . 'misp_framing.py stix ' . escapeshellarg(Configure::read('MISP.baseurl')) . ' ' . escapeshellarg(Configure::read('MISP.org')) . ' ' . escapeshellarg($returnType) . ' 2>' . APP . 'tmp/logs/exec-errors.log';
|
||||
$stix_framing = json_decode(shell_exec($stix_framing_cmd), true);
|
||||
if (empty($stix_framing)) {
|
||||
return array('success' => 0, 'message' => 'There was an issue generating the STIX export.');
|
||||
|
@ -3874,7 +3876,7 @@ class Event extends AppModel
|
|||
$tempFile->write($event);
|
||||
unset($event);
|
||||
$scriptFile = APP . "files" . DS . "scripts" . DS . "misp2stix.py";
|
||||
$result = shell_exec('python3 ' . $scriptFile . ' ' . $randomFileName . ' ' . escapeshellarg($returnType) . ' ' . escapeshellarg(Configure::read('MISP.baseurl')) . ' ' . escapeshellarg(Configure::read('MISP.org')) . ' 2>' . APP . 'tmp/logs/exec-errors.log');
|
||||
$result = shell_exec($my_server->getPythonVersion() . ' ' . $scriptFile . ' ' . $randomFileName . ' ' . escapeshellarg($returnType) . ' ' . escapeshellarg(Configure::read('MISP.baseurl')) . ' ' . escapeshellarg(Configure::read('MISP.org')) . ' 2>' . APP . 'tmp/logs/exec-errors.log');
|
||||
// The result of the script will be a returned JSON object with 2 variables: success (boolean) and message
|
||||
// If success = 1 then the temporary output file was successfully written, otherwise an error message is passed along
|
||||
$decoded = json_decode($result, true);
|
||||
|
@ -4811,12 +4813,12 @@ class Event extends AppModel
|
|||
if ($stix_version == '2') {
|
||||
$scriptFile = APP . 'files/scripts/stix2/stix2misp.py';
|
||||
$tempFilePath = APP . 'files/scripts/tmp/' . $filename;
|
||||
$shell_command = 'python3 ' . $scriptFile . ' ' . $tempFilePath;
|
||||
$shell_command = $this->Server->getPythonVersion() . ' ' . $scriptFile . ' ' . $tempFilePath;
|
||||
$output_path = $tempFilePath . '.stix2';
|
||||
} elseif ($stix_version == '1' || $stix_version == '1.1' || $stix_version == '1.2') {
|
||||
$scriptFile = APP . 'files/scripts/stix2misp.py';
|
||||
$tempFilePath = APP . 'files/scripts/tmp/' . $filename;
|
||||
$shell_command = 'python3 ' . $scriptFile . ' ' . $filename;
|
||||
$shell_command = $this->Server->getPythonVersion() . ' ' . $scriptFile . ' ' . $filename;
|
||||
$output_path = $tempFilePath . '.json';
|
||||
} else {
|
||||
throw new MethodNotAllowedException('Invalid STIX version');
|
||||
|
@ -5099,7 +5101,7 @@ class Event extends AppModel
|
|||
}
|
||||
$AttributSave = $this->$objectType->save($attribute);
|
||||
if ($AttributSave) {
|
||||
// If Tags, attache each tags to attribut
|
||||
// If Tags, attach each tags to attribute
|
||||
if (!empty($attribute['tags'])) {
|
||||
foreach (explode(",", $attribute['tags']) as $tagName) {
|
||||
$this->loadModel('Tag');
|
||||
|
|
|
@ -323,7 +323,7 @@ class Sighting extends AppModel
|
|||
$tempFile->close();
|
||||
$scriptFile = APP . "files" . DS . "scripts" . DS . "stixsighting2misp.py";
|
||||
// Execute the python script and point it to the temporary filename
|
||||
$result = shell_exec('python3 ' . $scriptFile . ' ' . $randomFileName);
|
||||
$result = shell_exec($this->Server->getPythonVersion() . ' ' . $scriptFile . ' ' . $randomFileName);
|
||||
// The result of the script will be a returned JSON object with 2 variables: success (boolean) and message
|
||||
// If success = 1 then the temporary output file was successfully written, otherwise an error message is passed along
|
||||
$result = json_decode($result, true);
|
||||
|
|
Loading…
Reference in New Issue