added Malcolm
This commit is contained in:
		
							
								
								
									
										12
									
								
								Vagrant/resources/malcolm/file-upload/jquery-file-upload/bootstrap.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								Vagrant/resources/malcolm/file-upload/jquery-file-upload/bootstrap.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -0,0 +1,212 @@ | ||||
| <!DOCTYPE HTML> | ||||
| <!-- Copyright (c) 2021 Battelle Energy Alliance, LLC.  All rights reserved. --> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <!-- Force latest IE rendering engine or ChromeFrame if installed --> | ||||
| <!--[if IE]> | ||||
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | ||||
| <![endif]--> | ||||
| <meta charset="utf-8"> | ||||
| <title>%SITE_NAME%</title> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
| <!-- Bootstrap styles --> | ||||
| <link rel="stylesheet" href="upload/bower_components/bootstrap/dist/css/bootstrap.min.css"> | ||||
| <!-- bootstrap-tagsinput styles --> | ||||
| <link rel="stylesheet" href="upload/bower_components/bootstrap-tagsinput/dist/bootstrap-tagsinput.css"> | ||||
| <style media="screen" type="text/css"> | ||||
| .bootstrap-tagsinput { | ||||
|   width: 90%; | ||||
| } | ||||
| .bootstrap-tagsinput .tag { | ||||
|   margin-right: 2px; | ||||
|   margin-left: 2px; | ||||
|   color: #fff; | ||||
|   background-image: linear-gradient(#78cc78, #62c462 60%, #53be53); | ||||
|   background-repeat: no-repeat; | ||||
| } | ||||
| .label { | ||||
|   display: inline; | ||||
|   padding: .2em .6em .3em; | ||||
|   font-size: 100%; | ||||
|   font-weight: 700; | ||||
|   line-height: 1; | ||||
|   color: #fff; | ||||
|   text-align: center; | ||||
|   white-space: nowrap; | ||||
|   vertical-align: baseline; | ||||
|   border-radius: .25em; | ||||
| } | ||||
| .center { | ||||
|   text-align: center; | ||||
| } | ||||
| .imgcenter { | ||||
|   display: block; | ||||
|   margin-left: auto; | ||||
|   margin-right: auto; | ||||
|   width: 33%; | ||||
|   height: auto; | ||||
| } | ||||
| </style> | ||||
| <!-- Generic page styles --> | ||||
| <link rel="stylesheet" href="upload/css/style.css"> | ||||
| <!-- blueimp Gallery styles --> | ||||
| <link rel="stylesheet" href="upload/bower_components/blueimp-gallery/css/blueimp-gallery.min.css"> | ||||
| <!-- CSS to style the file input field as button and adjust the Bootstrap progress bars --> | ||||
| <link rel="stylesheet" href="upload/css/jquery.fileupload.css"> | ||||
| <link rel="stylesheet" href="upload/css/jquery.fileupload-ui.css"> | ||||
| <!-- CSS adjustments for browsers with JavaScript disabled --> | ||||
| <noscript><link rel="stylesheet" href="upload/css/jquery.fileupload-noscript.css"></noscript> | ||||
| <noscript><link rel="stylesheet" href="upload/css/jquery.fileupload-ui-noscript.css"></noscript> | ||||
| <script> | ||||
| function toggle(checkboxID, toggleSelectID) { | ||||
|     var checkbox = document.getElementById(checkboxID); | ||||
|     var toggleSelect = document.getElementById(toggleSelectID); | ||||
|     if (checkbox.checked) { | ||||
|       toggleSelect.disabled = false | ||||
|     } else { | ||||
|       toggleSelect.disabled = true | ||||
|       toggleSelect.selectedIndex = 0; | ||||
|     } | ||||
|   } | ||||
| </script> | ||||
| </head> | ||||
| <body> | ||||
| <div class="container"> | ||||
|     <img class="imgcenter" src="upload/Malcolm_banner.png" alt="%SITE_NAME%"> | ||||
|     <div class="panel panel-default"> | ||||
|       <div class="panel-heading"> | ||||
|         <h3 class="panel-title center">%SITE_NAME%</h3> | ||||
|        </div> | ||||
|     </div> | ||||
|     <br> | ||||
|     <br> | ||||
|     <!-- The file upload form used as target for the file upload widget --> | ||||
|     <form id="fileupload" action="" method="POST" enctype="multipart/form-data"> | ||||
|         <!-- The fileupload-buttonbar contains buttons to add files and start/cancel the upload --> | ||||
|         <div class="row fileupload-buttonbar"> | ||||
|             <div class="col-lg-7"> | ||||
|                 <!-- The fileinput-button span is used to style the file input field as button --> | ||||
|                 <span class="btn btn-info fileinput-button"> | ||||
|                     <i class="glyphicon glyphicon-plus"></i> | ||||
|                     <span>Add files...</span> | ||||
|                     <input type="file" name="files[]" multiple> | ||||
|                 </span> | ||||
|                 <button type="submit" class="btn btn-success start"> | ||||
|                     <i class="glyphicon glyphicon-upload"></i> | ||||
|                     <span>Start upload</span> | ||||
|                 </button> | ||||
|                 <button type="reset" class="btn btn-danger cancel"> | ||||
|                     <i class="glyphicon glyphicon-ban-circle"></i> | ||||
|                     <span>Cancel upload</span> | ||||
|                 </button>   | ||||
|                 <label><input type="checkbox" class="toggle"> Select all</label> | ||||
|                 <!-- The global file processing state --> | ||||
|                 <span class="fileupload-process"></span> | ||||
|             </div> | ||||
|             <!-- The global progress state --> | ||||
|             <div class="col-lg-5 fileupload-progress"> | ||||
|                 <!-- The global progress bar --> | ||||
|                 <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100"> | ||||
|                     <div class="progress-bar progress-bar-success" style="width:0%;"></div> | ||||
|                 </div> | ||||
|                 <!-- The extended global progress state --> | ||||
|                 <div class="progress-extended"> </div> | ||||
|             </div> | ||||
|         </div> | ||||
|         <br> | ||||
|         <div class="panel panel-default"> | ||||
|           <div class="panel-body"> | ||||
|             Tags: <input name="tags" type="text" value="" data-role="tagsinput" /> | ||||
|             <br> | ||||
|             <br> | ||||
|             <label><input type="checkbox" name="auto-zeek" id="auto-zeek" value="enabled" onClick="toggle('auto-zeek', 'auto-carve')"> Analyze with Zeek</label> | ||||
|             <br> | ||||
|             <label>Zeek File Extraction  <select disabled=true name="auto-carve" id="auto-carve"> | ||||
|             <option value="none"></option> | ||||
|             <option value="interesting">Files with mime types of common attack vectors</option> | ||||
|             <option value="mapped">Files with recognized mime types</option> | ||||
|             <option value="known">Files for which any mime type can be determined</option> | ||||
|             <option value="all">All files</option> | ||||
|             </select></label> | ||||
|           </div> | ||||
|         </div> | ||||
|         <br> | ||||
|         <!-- The table listing the files available for upload/download --> | ||||
|         <table role="presentation" class="table table-striped"><tbody class="files"></tbody></table> | ||||
|     </form> | ||||
| </div> | ||||
| <!-- The blueimp Gallery widget --> | ||||
| <div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls" data-filter=":even"> | ||||
|     <div class="slides"></div> | ||||
|     <h3 class="title"></h3> | ||||
|     <a class="prev">‹</a> | ||||
|     <a class="next">›</a> | ||||
|     <a class="close">×</a> | ||||
|     <a class="play-pause"></a> | ||||
|     <ol class="indicator"></ol> | ||||
| </div> | ||||
| <!-- The template to display files available for upload --> | ||||
| <script id="template-upload" type="text/x-tmpl"> | ||||
| {% for (var i=0, file; file=o.files[i]; i++) { %} | ||||
|     <tr class="template-upload"> | ||||
|         <td> | ||||
|             <span class="preview"></span> | ||||
|         </td> | ||||
|         <td> | ||||
|             <p class="name">{%=file.name%}</p> | ||||
|             <strong class="error text-danger"></strong> | ||||
|         </td> | ||||
|         <td> | ||||
|             <p class="size">Processing...</p> | ||||
|             <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="progress-bar progress-bar-success" style="width:0%;"></div></div> | ||||
|         </td> | ||||
|         <td> | ||||
|             {% if (!i && !o.options.autoUpload) { %} | ||||
|                 <button class="btn btn-success start" disabled> | ||||
|                     <i class="glyphicon glyphicon-upload"></i> | ||||
|                     <span>Start</span> | ||||
|                 </button> | ||||
|             {% } %} | ||||
|             {% if (!i) { %} | ||||
|                 <button class="btn btn-danger cancel"> | ||||
|                     <i class="glyphicon glyphicon-ban-circle"></i> | ||||
|                     <span>Cancel</span> | ||||
|                 </button> | ||||
|             {% } %} | ||||
|         </td> | ||||
|     </tr> | ||||
| {% } %} | ||||
| </script> | ||||
| <!-- The template to display files available for download --> | ||||
| <script id="template-download" type="text/x-tmpl"> | ||||
| {% for (var i=0, file; file=o.files[i]; i++) { %} | ||||
|     <tr class="template-download"/> | ||||
| {% } %} | ||||
| </script> | ||||
| <script src="upload/bower_components/jquery/dist/jquery.min.js"></script> | ||||
| <!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included --> | ||||
| <script src="upload/js/vendor/jquery.ui.widget.js"></script> | ||||
| <!-- The Templates plugin is included to render the upload/download listings --> | ||||
| <script src="upload/bower_components/blueimp-tmpl/js/tmpl.min.js"></script> | ||||
| <!-- Bootstrap JS is not required, but included for the responsive demo navigation --> | ||||
| <script src="upload/bower_components/bootstrap/dist/js/bootstrap.min.js"></script> | ||||
| <!-- blueimp Gallery script --> | ||||
| <script src="upload/bower_components/blueimp-gallery/js/jquery.blueimp-gallery.min.js"></script> | ||||
| <!-- bootstrap-tagsinput script --> | ||||
| <script src="upload/bower_components/bootstrap-tagsinput/dist/bootstrap-tagsinput.min.js"></script> | ||||
| <!-- The Iframe Transport is required for browsers without support for XHR file uploads --> | ||||
| <script src="upload/js/jquery.iframe-transport.js"></script> | ||||
| <!-- The basic File Upload plugin --> | ||||
| <script src="upload/js/jquery.fileupload.js"></script> | ||||
| <!-- The File Upload processing plugin --> | ||||
| <script src="upload/js/jquery.fileupload-process.js"></script> | ||||
| <!-- The File Upload user interface plugin --> | ||||
| <script src="upload/js/jquery.fileupload-ui.js"></script> | ||||
| <!-- The main application script --> | ||||
| <script src="upload/js/main.js"></script> | ||||
| <!-- The XDomainRequest Transport is included for cross-domain file deletion for IE 8 and IE 9 --> | ||||
| <!--[if (gte IE 8)&(lt IE 10)]> | ||||
| <script src="upload/js/cors/jquery.xdr-transport.js"></script> | ||||
| <![endif]--> | ||||
| </body> | ||||
| </html> | ||||
| @@ -0,0 +1,20 @@ | ||||
| <?php | ||||
| // Copyright (c) 2021 Battelle Energy Alliance, LLC.  All rights reserved. | ||||
| error_reporting(E_ALL | E_STRICT); | ||||
| require('UploadHandler.php'); | ||||
| class CustomUploadHandler extends UploadHandler { | ||||
|   protected function trim_file_name($file_path, $name, $size, $type, $error, $index, $content_range) { | ||||
|     $enabled_carve_modes = array("interesting", "mapped", "known", "all"); | ||||
|     if (isset($_POST["tags"]) && !empty($_POST["tags"])) { | ||||
|       $name = $_POST["tags"] . "," . $name; | ||||
|     } | ||||
|     if (isset($_POST["auto-carve"]) && in_array($_POST["auto-carve"], $enabled_carve_modes)) { | ||||
|       $name = "AUTOCARVE".$_POST["auto-carve"]."," . $name; | ||||
|     } | ||||
|     if (isset($_POST["auto-zeek"]) && $_POST["auto-zeek"] == "enabled") { | ||||
|       $name = "AUTOZEEK," . $name; | ||||
|     } | ||||
|     return parent::trim_file_name($file_path, preg_replace("/[^a-zA-Z0-9\s_\(\)\.,-]/", "", $name), $size, $type, $error, $index, $content_range); | ||||
|   } | ||||
| } | ||||
| $upload_handler = new CustomUploadHandler(); | ||||
		Reference in New Issue
	
	Block a user