feature: web: save project

This commit is contained in:
Dobin
2024-03-07 18:50:24 +00:00
parent c80dadd4d9
commit 1fe18c4c64
3 changed files with 21 additions and 12 deletions
+8 -2
View File
@@ -12,14 +12,18 @@
<div class="container-fluid">
<div class="row">
<!-- a bootstrap dropdown to select one of the log files -->
<div class="col-md-3">
<form method="POST" enctype="multipart/form-data" action="/add_project">
<div class="row row-cols-lg-auto g-3">
<input type="text" name="project_name" class="hidden form-control" value="{{project_name}}"
placeholder="Projekt" aria-label="PROJECTNAME" aria-describedby="basic-addon1">
<select class="form-select" name="shellcode" aria-label="SHELLCODE">
{% for shellcode in shellcodes %}
@@ -80,6 +84,8 @@
{% endfor %}
</select>
<button class="btn btn-primary" type="submit" value="save">Save</button>
</div>
</form>
+12 -10
View File
@@ -63,7 +63,6 @@ def project(name):
@views.route("/add_project", methods=['POST', 'GET'])
def inject():
if request.method == 'POST':
config.load()
settings = Settings()
@@ -88,15 +87,19 @@ def inject():
inject_style = request.form['inject_style']
settings.inject_style = InjectStyle[inject_style]
print(str(settings))
project = Project(project_name, settings)
project.settings = settings
storage.add_project(project)
if storage.get_project(project_name) != None:
project = storage.get_project(project_name)
project.settings = settings
else:
project = Project(project_name, settings)
project.settings = settings
settings.project_name = project_name
storage.add_project(project)
storage.save_data()
return render_template('project_add_post.html')
else:
return redirect("/project/{}".format(project_name), code=302)
else: # GET
exes = []
for file in os.listdir("app/upload/exe"):
exes.append(file)
@@ -122,7 +125,6 @@ def inject():
)
#start(settings)
@views.route("/build")
+1
View File
@@ -11,6 +11,7 @@ logger = logging.getLogger("Project")
class Project():
def __init__(self, settings: Settings):
self.name: str = ""
self.settings: Settings = settings
self.payload: Payload = Payload(self.settings.payload_path)
self.exe_host: ExeHost = ExeHost(self.settings.inject_exe_in)