1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
from core.vectors import PhpFile, ModuleExec
from core.module import Module
from core import messages
from core import modules
from core.loggers import log
import os
class Zip(Module):
"""Compress or expand zip files."""
aliases = [ 'zip', 'unzip' ]
def init(self):
self.register_info(
{
'author': [
'Emilio Pinna'
],
'license': 'GPLv3'
}
)
self.register_vectors(
[
PhpFile(
payload_path = os.path.join(self.folder, 'php_zip.tpl'),
name = 'php_zip',
)
]
)
self.register_arguments([
{ 'name' : 'rzip', 'help' : 'Remote ZIP file' },
{ 'name' : 'rfiles', 'help' : 'Remote files to compress. If decompressing, set destination folder.', 'nargs' : '+' },
{ 'name' : '--decompress', 'action' : 'store_true', 'default' : False, 'help' : 'Simulate unzip' },
])
def run(self, **kwargs):
# The correct execution returns something only on errors
result_err = self.vectors.get_result(
name = 'php_zip',
format_args = self.args,
)
if result_err:
log.warning(result_err)
return
return True
|