Merge in SNORT/snort3 from ~AMARNAYA/snort3:vba_upload to master
Squashed commit of the following:
commit
e03395379f228c35acfbbe8e1777e415182e1140
Author: Amarnath Nayak <amarnaya@cisco.com>
Date: Tue Feb 8 16:55:17 2022 +0000
http_inspect, mime: VBA macro decompression for HTTP MIME file uploads
decompressed_vba_data.reset();
}
+const BufferData& MimeDecode::_get_ole_buf()
+{
+ if (ole_data.length() <= 0)
+ return BufferData::buffer_null;
+ return ole_data;
+}
+
void MimeDecode::file_decomp_reset()
{
if ( fd_state == nullptr )
DecodeResult decompress_data(const uint8_t* buf_in, uint32_t size_in,
const uint8_t*& buf_out, uint32_t& size_out);
+ const BufferData& _get_ole_buf();
const BufferData& get_decomp_vba_data();
void clear_decomp_vba_data();
mime_stats = stats;
}
+const BufferData& MimeSession::get_ole_buf()
+{
+ if (!decode_state)
+ return BufferData::buffer_null;
+
+ return decode_state->_get_ole_buf();
+}
+
const BufferData& MimeSession::get_vba_inspect_buf()
{
if (!decode_state)
MailLogState* get_log_state();
void set_mime_stats(MimeStats*);
+ const BufferData& get_ole_buf();
const BufferData& get_vba_inspect_buf();
protected:
#include "decompress/file_olefile.h"
#include "file_api/file_flows.h"
#include "file_api/file_service.h"
+#include "helpers/buffer_data.h"
#include "pub_sub/http_request_body_event.h"
#include "http_api.h"
(section_end - ptr), true, SNORT_FILE_POSITION_UNKNOWN);
ptr++;
}
-
+
+ const BufferData& vba_buf = session_data->mime_state[source_id]->get_ole_buf();
+ if (vba_buf.data_ptr())
+ ole_data.set(vba_buf.length(), vba_buf.data_ptr());
+
session_data->file_octets[source_id] += file_data.length();
}
}