Skip to content

Commit d132b9c

Browse files
committed
chg: [correlation] add forum object type filter
1 parent e2f19bb commit d132b9c

2 files changed

Lines changed: 47 additions & 121 deletions

File tree

var/www/blueprints/correlation.py

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,45 @@
3939

4040
# ============ FUNCTIONS ============
4141

42+
43+
def get_correlation_filter_objects():
44+
labels = {
45+
'barcode': 'Barcode',
46+
'chat-subchannel': 'Chat-Subchannel',
47+
'chat-thread': 'Chat-Thread',
48+
'cookie-name': 'Cookie Name',
49+
'cve': 'CVE',
50+
'cryptocurrency': 'Cryptocurrency',
51+
'decoded': 'Decoded',
52+
'dom-hash': 'DomHash',
53+
'etag': 'Etag',
54+
'favicon': 'Favicon',
55+
'file-name': 'File Name',
56+
'forum': 'Forum',
57+
'forum-thread': 'Forum Thread',
58+
'gtracker': 'G tracking',
59+
'hhhash': 'HHHash',
60+
'image': 'Image',
61+
'ip': 'IP',
62+
'item': 'Item',
63+
'mail': 'Mail',
64+
'message': 'Message',
65+
'ocr': 'OCR',
66+
'pdf': 'PDF',
67+
'pgp': 'PGP',
68+
'post': 'Post',
69+
'qrcode': 'Qrcode',
70+
'screenshot': 'Screenshot',
71+
'ssh-key': 'SSH Key',
72+
'subforum': 'Subforum',
73+
'title': 'Title',
74+
'user-account': 'User-Account',
75+
}
76+
return [
77+
{'type': obj_type, 'label': labels.get(obj_type, obj_type.replace('-', ' ').title())}
78+
for obj_type in sorted(ail_objects.get_all_objects())
79+
]
80+
4281
def sanitise_graph_mode(graph_mode):
4382
if graph_mode not in ('inter', 'union'):
4483
return 'union'
@@ -135,7 +174,8 @@ def show_correlation():
135174
"correlation_id": obj_id,
136175
"metadata": ail_objects.get_object_meta(obj_type, subtype, obj_id,
137176
options={'tags', 'description'}, flask_context=True),
138-
"nb_correl": ail_objects.get_obj_nb_correlations(obj_type, subtype, obj_id)
177+
"nb_correl": ail_objects.get_obj_nb_correlations(obj_type, subtype, obj_id),
178+
"correlation_filter_objects": get_correlation_filter_objects()
139179
}
140180
if subtype:
141181
dict_object["subtype"] = subtype

var/www/templates/correlation/show_correlation.html

Lines changed: 6 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -347,126 +347,12 @@ <h5>Hidden objects:</h5>
347347
<input type="hidden" id="subtype" name="subtype" value="{{ dict_object["metadata"]["type_id"] }}">
348348
<input type="hidden" id="obj_id" name="obj_id" value="{{ dict_object["correlation_id"] }}">
349349

350-
<div class="form-check">
351-
<input class="form-check-input" type="checkbox" value="True" id="cookie-name_Check" name="cookie-name_Check" {%if "cookie-name" in dict_object["filter"]%}checked{%endif%}>
352-
<label class="form-check-label" for="cookie-name_Check">Cookie Name</label>
353-
</div>
354-
<div class="form-check">
355-
<input class="form-check-input" type="checkbox" value="True" id="cve_Check" name="cve_Check" {%if "cve" in dict_object["filter"]%}checked{%endif%}>
356-
<label class="form-check-label" for="cve_Check">Cve</label>
357-
</div>
358-
<div class="form-check">
359-
<input class="form-check-input" type="checkbox" value="True" id="cryptocurrency_Check" name="cryptocurrency_Check" {%if "cryptocurrency" in dict_object["filter"]%}checked{%endif%}>
360-
<label class="form-check-label" for="cryptocurrency_Check">Cryptocurrency</label>
361-
</div>
362-
<div class="form-check">
363-
<input class="form-check-input" type="checkbox" value="True" id="decoded_Check" name="decoded_Check" {%if "decoded" in dict_object["filter"]%}checked{%endif%}>
364-
<label class="form-check-label" for="decoded_Check">Decoded</label>
365-
</div>
366-
<div class="form-check">
367-
<input class="form-check-input" type="checkbox" value="True" id="etag_Check" name="EtagCheck" {%if "etag" in dict_object["filter"]%}checked{%endif%}>
368-
<label class="form-check-label" for="etag_Check">Etag</label>
369-
</div>
370-
<div class="form-check">
371-
<input class="form-check-input" type="checkbox" value="True" id="favicon_Check" name="favicon_Check" {%if "favicon" in dict_object["filter"]%}checked{%endif%}>
372-
<label class="form-check-label" for="favicon_Check">Favicon</label>
373-
</div>
374-
<div class="form-check">
375-
<input class="form-check-input" type="checkbox" value="True" id="gtracker_Check" name="gtracker_Check" {%if "gtracker" in dict_object["filter"]%}checked{%endif%}>
376-
<label class="form-check-label" for="gtracker_Check">G tracking</label>
377-
</div>
378-
<div class="form-check">
379-
<input class="form-check-input" type="checkbox" value="True" id="domhash_Check" name="domhash_Check" {%if "dom-hash" in dict_object["filter"]%}checked{%endif%}>
380-
<label class="form-check-label" for="domhash_Check">DomHash</label>
381-
</div>
382-
<div class="form-check">
383-
<input class="form-check-input" type="checkbox" value="True" id="hhhash_Check" name="hhhash_Check" {%if "hhhash" in dict_object["filter"]%}checked{%endif%}>
384-
<label class="form-check-label" for="hhhash_Check">HHHash</label>
385-
</div>
386-
<div class="form-check">
387-
<input class="form-check-input" type="checkbox" value="True" id="screenshot_Check" name="screenshot_Check" {%if "screenshot" in dict_object["filter"]%}checked{%endif%}>
388-
<label class="form-check-label" for="screenshot_Check">Screenshot</label>
389-
</div>
390-
<div class="form-check">
391-
<input class="form-check-input" type="checkbox" value="True" id="title_Check" name="title_Check" {%if "title" in dict_object["filter"]%}checked{%endif%}>
392-
<label class="form-check-label" for="title_Check">Title</label>
393-
</div>
394-
<div class="form-check">
395-
<input class="form-check-input" type="checkbox" value="True" id="pgp_Check" name="pgp_Check" {%if "pgp" in dict_object["filter"]%}checked{%endif%}>
396-
<label class="form-check-label" for="pgp_Check">PGP</label>
397-
</div>
398-
<div class="form-check">
399-
<input class="form-check-input" type="checkbox" value="True" id="author_Check" name="author_Check" {%if "author" in dict_object["filter"]%}checked{%endif%}>
400-
<label class="form-check-label" for="author_Check">Author</label>
401-
</div>
402-
<div class="form-check">
403-
<input class="form-check-input" type="checkbox" value="True" id="domain_Check" name="domain_Check" {%if "domain" in dict_object["filter"]%}checked{%endif%}>
404-
<label class="form-check-label" for="domain_Check">Domain</label>
405-
</div>
406-
<div class="form-check">
407-
<input class="form-check-input" type="checkbox" value="True" id="item_Check" name="item_Check" {%if "item" in dict_object["filter"]%}checked{%endif%}>
408-
<label class="form-check-label" for="item_Check">Item</label>
409-
</div>
410-
<div class="form-check">
411-
<input class="form-check-input" type="checkbox" value="True" id="mail_Check" name="mail_Check" {%if "mail" in dict_object["filter"]%}checked{%endif%}>
412-
<label class="form-check-label" for="mail_Check">Mail</label>
413-
</div>
414-
<div class="form-check">
415-
<input class="form-check-input" type="checkbox" value="True" id="ssh-key_Check" name="ssh-key_Check" {%if "ssh-key" in dict_object["filter"]%}checked{%endif%}>
416-
<label class="form-check-label" for="ssh-key_Check">SSH Key</label>
417-
</div>
418-
<div class="form-check">
419-
<input class="form-check-input" type="checkbox" value="True" id="ip_Check" name="ip_Check" {%if "ssh-key" in dict_object["filter"]%}checked{%endif%}>
420-
<label class="form-check-label" for="ip_Check">IP</label>
421-
</div>
422-
423-
<hr>
424-
<div class="form-check">
425-
<input class="form-check-input" type="checkbox" value="True" id="chat_Check" name="chat_Check" {%if "chat" in dict_object["filter"]%}checked{%endif%}>
426-
<label class="form-check-label" for="chat_Check">Chat</label>
427-
</div>
428-
<div class="form-check">
429-
<input class="form-check-input" type="checkbox" value="True" id="chat-subchannel_Check" name="chat-subchannel_Check" {%if "chat-subchannel" in dict_object["filter"]%}checked{%endif%}>
430-
<label class="form-check-label" for="chat-subchannel_Check">Chat-Subchannel</label>
431-
</div>
432-
<div class="form-check">
433-
<input class="form-check-input" type="checkbox" value="True" id="chat-thread_Check" name="chat-thread_Check" {%if "chat-thread" in dict_object["filter"]%}checked{%endif%}>
434-
<label class="form-check-label" for="chat-thread_Check">Chat-Thread</label>
435-
</div>
436-
<div class="form-check">
437-
<input class="form-check-input" type="checkbox" value="True" id="message_Check" name="message_Check" {%if "message" in dict_object["filter"]%}checked{%endif%}>
438-
<label class="form-check-label" for="message_Check">Message</label>
439-
</div>
440-
<div class="form-check">
441-
<input class="form-check-input" type="checkbox" value="True" id="file-name_Check" name="file-name_Check" {%if "file-name" in dict_object["filter"]%}checked{%endif%}>
442-
<label class="form-check-label" for="file-name_Check">File Name</label>
443-
</div>
444-
<div class="form-check">
445-
<input class="form-check-input" type="checkbox" value="True" id="pdf_Check" name="pdf_Check" {%if "pdf" in dict_object["filter"]%}checked{%endif%}>
446-
<label class="form-check-label" for="pdf_Check">PDF</label>
447-
</div>
448-
<div class="form-check">
449-
<input class="form-check-input" type="checkbox" value="True" id="image_Check" name="image_Check" {%if "image" in dict_object["filter"]%}checked{%endif%}>
450-
<label class="form-check-label" for="image_Check">Image</label>
451-
</div>
452-
<div class="form-check">
453-
<input class="form-check-input" type="checkbox" value="True" id="ocr_Check" name="ocr_Check" {%if "ocr" in dict_object["filter"]%}checked{%endif%}>
454-
<label class="form-check-label" for="ocr_Check">OCR</label>
455-
</div>
456-
<div class="form-check">
457-
<input class="form-check-input" type="checkbox" value="True" id="qrcode_Check" name="qrcode_Check" {%if "qrcode" in dict_object["filter"]%}checked{%endif%}>
458-
<label class="form-check-label" for="qrcode_Check">Qrcode</label>
459-
</div>
460-
461-
<hr>
462-
<div class="form-check">
463-
<input class="form-check-input" type="checkbox" value="True" id="user-account_Check" name="user-account_Check" {%if "user-account" in dict_object["filter"]%}checked{%endif%}>
464-
<label class="form-check-label" for="user-account_Check">User-Account</label>
465-
</div>
466-
<div class="form-check">
467-
<input class="form-check-input" type="checkbox" value="True" id="username_Check" name="username_Check" {%if "username" in dict_object["filter"]%}checked{%endif%}>
468-
<label class="form-check-label" for="username_Check">Username</label>
469-
</div>
350+
{% for correlation_filter_object in dict_object["correlation_filter_objects"] %}
351+
<div class="form-check">
352+
<input class="form-check-input" type="checkbox" value="True" id="{{ correlation_filter_object['type'] }}_Check" name="{{ correlation_filter_object['type'] }}_Check" {% if correlation_filter_object['type'] in dict_object["filter"] %}checked{% endif %}>
353+
<label class="form-check-label" for="{{ correlation_filter_object['type'] }}_Check">{{ correlation_filter_object['label'] }}</label>
354+
</div>
355+
{% endfor %}
470356

471357
</li>
472358
{# <li class="list-group-item text-left">#}

0 commit comments

Comments
 (0)