mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
MIME: Cap nested MIME analysis depth to 100
OSS-Fuzz managed to produce a MIME multipart message construction with thousands of nested entities (or that's what Zeek makes out of it anyhow). Prevent such deep analysis by capping at a nesting depth of 100, preventing unnecessary resource usage. A new weird named exceeded_mime_max_depth is reported when this limit is reached. This change reduces the runtime of the OSS-Fuzz reproducer from ~45 seconds to ~2.5 seconds. The test PCAP was produced from a Python script using the email package and sending the rendered version via POST to a HTTP server. Closes #208 (cherry picked from commit 4e5849fe82c6097df5d25cd1a74d69ab4fa50f46)
This commit is contained in:
parent
37bc6517f0
commit
5659cf18f8
12 changed files with 72 additions and 0 deletions
|
@ -2720,6 +2720,16 @@ export {
|
||||||
} # end export
|
} # end export
|
||||||
|
|
||||||
|
|
||||||
|
module MIME;
|
||||||
|
export {
|
||||||
|
## Stop analysis of nested multipart MIME entities if this depth is
|
||||||
|
## reached. Setting this value to 0 removes the limit.
|
||||||
|
const max_depth = 100 &redef;
|
||||||
|
|
||||||
|
} # end export
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module MOUNT3;
|
module MOUNT3;
|
||||||
export {
|
export {
|
||||||
|
|
||||||
|
|
|
@ -10,4 +10,5 @@ zeek_add_plugin(
|
||||||
MIME.cc
|
MIME.cc
|
||||||
Plugin.cc
|
Plugin.cc
|
||||||
BIFS
|
BIFS
|
||||||
|
consts.bif
|
||||||
events.bif)
|
events.bif)
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "zeek/Base64.h"
|
#include "zeek/Base64.h"
|
||||||
#include "zeek/NetVar.h"
|
#include "zeek/NetVar.h"
|
||||||
#include "zeek/Reporter.h"
|
#include "zeek/Reporter.h"
|
||||||
|
#include "zeek/analyzer/protocol/mime/consts.bif.h"
|
||||||
#include "zeek/analyzer/protocol/mime/events.bif.h"
|
#include "zeek/analyzer/protocol/mime/events.bif.h"
|
||||||
#include "zeek/digest.h"
|
#include "zeek/digest.h"
|
||||||
#include "zeek/file_analysis/Manager.h"
|
#include "zeek/file_analysis/Manager.h"
|
||||||
|
@ -531,7 +532,10 @@ MIME_Entity::MIME_Entity(MIME_Message* output_message, MIME_Entity* parent_entit
|
||||||
parent = parent_entity;
|
parent = parent_entity;
|
||||||
message = output_message;
|
message = output_message;
|
||||||
if ( parent )
|
if ( parent )
|
||||||
|
{
|
||||||
content_encoding = parent->ContentTransferEncoding();
|
content_encoding = parent->ContentTransferEncoding();
|
||||||
|
depth = parent->Depth() + 1;
|
||||||
|
}
|
||||||
|
|
||||||
want_all_headers = (bool)mime_all_headers;
|
want_all_headers = (bool)mime_all_headers;
|
||||||
}
|
}
|
||||||
|
@ -560,6 +564,7 @@ void MIME_Entity::init()
|
||||||
|
|
||||||
base64_decoder = nullptr;
|
base64_decoder = nullptr;
|
||||||
|
|
||||||
|
depth = 0;
|
||||||
data_buf_length = 0;
|
data_buf_length = 0;
|
||||||
data_buf_data = nullptr;
|
data_buf_data = nullptr;
|
||||||
data_buf_offset = -1;
|
data_buf_offset = -1;
|
||||||
|
@ -1250,6 +1255,21 @@ void MIME_Entity::SubmitAllHeaders()
|
||||||
void MIME_Entity::BeginChildEntity()
|
void MIME_Entity::BeginChildEntity()
|
||||||
{
|
{
|
||||||
ASSERT(current_child_entity == nullptr);
|
ASSERT(current_child_entity == nullptr);
|
||||||
|
|
||||||
|
// If the maximum depth for analysis is reached, don't create a new
|
||||||
|
// child entity. Instead, its header/body will be delivered to the
|
||||||
|
// current entity.
|
||||||
|
if ( zeek::BifConst::MIME::max_depth > 0 && Depth() >= zeek::BifConst::MIME::max_depth )
|
||||||
|
{
|
||||||
|
if ( message->GetAnalyzer() )
|
||||||
|
{
|
||||||
|
const char* addl = zeek::util::fmt("%" PRIu64, Depth());
|
||||||
|
message->GetAnalyzer()->Weird("exceeded_mime_max_depth", addl);
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
current_child_entity = NewChildEntity();
|
current_child_entity = NewChildEntity();
|
||||||
message->BeginEntity(current_child_entity);
|
message->BeginEntity(current_child_entity);
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,6 +109,7 @@ public:
|
||||||
virtual void EndOfData();
|
virtual void EndOfData();
|
||||||
|
|
||||||
MIME_Entity* Parent() const { return parent; }
|
MIME_Entity* Parent() const { return parent; }
|
||||||
|
zeek_uint_t Depth() const { return depth; };
|
||||||
int MIMEContentType() const { return content_type; }
|
int MIMEContentType() const { return content_type; }
|
||||||
const StringValPtr& GetContentType() const { return content_type_str; }
|
const StringValPtr& GetContentType() const { return content_type_str; }
|
||||||
const StringValPtr& GetContentSubType() const { return content_subtype_str; }
|
const StringValPtr& GetContentSubType() const { return content_subtype_str; }
|
||||||
|
@ -180,6 +181,7 @@ protected:
|
||||||
|
|
||||||
zeek::detail::Base64Converter* base64_decoder;
|
zeek::detail::Base64Converter* base64_decoder;
|
||||||
|
|
||||||
|
zeek_uint_t depth;
|
||||||
int data_buf_length;
|
int data_buf_length;
|
||||||
char* data_buf_data;
|
char* data_buf_data;
|
||||||
int data_buf_offset;
|
int data_buf_offset;
|
||||||
|
|
1
src/analyzer/protocol/mime/consts.bif
Normal file
1
src/analyzer/protocol/mime/consts.bif
Normal file
|
@ -0,0 +1 @@
|
||||||
|
const MIME::max_depth: count;
|
|
@ -173,6 +173,7 @@ scripts/base/init-frameworks-and-bifs.zeek
|
||||||
build/scripts/base/bif/plugins/Zeek_KRB.events.bif.zeek
|
build/scripts/base/bif/plugins/Zeek_KRB.events.bif.zeek
|
||||||
build/scripts/base/bif/plugins/Zeek_Login.events.bif.zeek
|
build/scripts/base/bif/plugins/Zeek_Login.events.bif.zeek
|
||||||
build/scripts/base/bif/plugins/Zeek_Login.functions.bif.zeek
|
build/scripts/base/bif/plugins/Zeek_Login.functions.bif.zeek
|
||||||
|
build/scripts/base/bif/plugins/Zeek_MIME.consts.bif.zeek
|
||||||
build/scripts/base/bif/plugins/Zeek_MIME.events.bif.zeek
|
build/scripts/base/bif/plugins/Zeek_MIME.events.bif.zeek
|
||||||
build/scripts/base/bif/plugins/Zeek_Modbus.events.bif.zeek
|
build/scripts/base/bif/plugins/Zeek_Modbus.events.bif.zeek
|
||||||
build/scripts/base/bif/plugins/Zeek_MQTT.types.bif.zeek
|
build/scripts/base/bif/plugins/Zeek_MQTT.types.bif.zeek
|
||||||
|
|
|
@ -173,6 +173,7 @@ scripts/base/init-frameworks-and-bifs.zeek
|
||||||
build/scripts/base/bif/plugins/Zeek_KRB.events.bif.zeek
|
build/scripts/base/bif/plugins/Zeek_KRB.events.bif.zeek
|
||||||
build/scripts/base/bif/plugins/Zeek_Login.events.bif.zeek
|
build/scripts/base/bif/plugins/Zeek_Login.events.bif.zeek
|
||||||
build/scripts/base/bif/plugins/Zeek_Login.functions.bif.zeek
|
build/scripts/base/bif/plugins/Zeek_Login.functions.bif.zeek
|
||||||
|
build/scripts/base/bif/plugins/Zeek_MIME.consts.bif.zeek
|
||||||
build/scripts/base/bif/plugins/Zeek_MIME.events.bif.zeek
|
build/scripts/base/bif/plugins/Zeek_MIME.events.bif.zeek
|
||||||
build/scripts/base/bif/plugins/Zeek_Modbus.events.bif.zeek
|
build/scripts/base/bif/plugins/Zeek_Modbus.events.bif.zeek
|
||||||
build/scripts/base/bif/plugins/Zeek_MQTT.types.bif.zeek
|
build/scripts/base/bif/plugins/Zeek_MQTT.types.bif.zeek
|
||||||
|
|
|
@ -877,6 +877,7 @@
|
||||||
0.000000 MetaHookPost LoadFile(0, ./Zeek_KRB.types.bif.zeek, <...>/Zeek_KRB.types.bif.zeek) -> -1
|
0.000000 MetaHookPost LoadFile(0, ./Zeek_KRB.types.bif.zeek, <...>/Zeek_KRB.types.bif.zeek) -> -1
|
||||||
0.000000 MetaHookPost LoadFile(0, ./Zeek_Login.events.bif.zeek, <...>/Zeek_Login.events.bif.zeek) -> -1
|
0.000000 MetaHookPost LoadFile(0, ./Zeek_Login.events.bif.zeek, <...>/Zeek_Login.events.bif.zeek) -> -1
|
||||||
0.000000 MetaHookPost LoadFile(0, ./Zeek_Login.functions.bif.zeek, <...>/Zeek_Login.functions.bif.zeek) -> -1
|
0.000000 MetaHookPost LoadFile(0, ./Zeek_Login.functions.bif.zeek, <...>/Zeek_Login.functions.bif.zeek) -> -1
|
||||||
|
0.000000 MetaHookPost LoadFile(0, ./Zeek_MIME.consts.bif.zeek, <...>/Zeek_MIME.consts.bif.zeek) -> -1
|
||||||
0.000000 MetaHookPost LoadFile(0, ./Zeek_MIME.events.bif.zeek, <...>/Zeek_MIME.events.bif.zeek) -> -1
|
0.000000 MetaHookPost LoadFile(0, ./Zeek_MIME.events.bif.zeek, <...>/Zeek_MIME.events.bif.zeek) -> -1
|
||||||
0.000000 MetaHookPost LoadFile(0, ./Zeek_MQTT.events.bif.zeek, <...>/Zeek_MQTT.events.bif.zeek) -> -1
|
0.000000 MetaHookPost LoadFile(0, ./Zeek_MQTT.events.bif.zeek, <...>/Zeek_MQTT.events.bif.zeek) -> -1
|
||||||
0.000000 MetaHookPost LoadFile(0, ./Zeek_MQTT.types.bif.zeek, <...>/Zeek_MQTT.types.bif.zeek) -> -1
|
0.000000 MetaHookPost LoadFile(0, ./Zeek_MQTT.types.bif.zeek, <...>/Zeek_MQTT.types.bif.zeek) -> -1
|
||||||
|
@ -1267,6 +1268,7 @@
|
||||||
0.000000 MetaHookPost LoadFileExtended(0, ./Zeek_KRB.types.bif.zeek, <...>/Zeek_KRB.types.bif.zeek) -> (-1, <no content>)
|
0.000000 MetaHookPost LoadFileExtended(0, ./Zeek_KRB.types.bif.zeek, <...>/Zeek_KRB.types.bif.zeek) -> (-1, <no content>)
|
||||||
0.000000 MetaHookPost LoadFileExtended(0, ./Zeek_Login.events.bif.zeek, <...>/Zeek_Login.events.bif.zeek) -> (-1, <no content>)
|
0.000000 MetaHookPost LoadFileExtended(0, ./Zeek_Login.events.bif.zeek, <...>/Zeek_Login.events.bif.zeek) -> (-1, <no content>)
|
||||||
0.000000 MetaHookPost LoadFileExtended(0, ./Zeek_Login.functions.bif.zeek, <...>/Zeek_Login.functions.bif.zeek) -> (-1, <no content>)
|
0.000000 MetaHookPost LoadFileExtended(0, ./Zeek_Login.functions.bif.zeek, <...>/Zeek_Login.functions.bif.zeek) -> (-1, <no content>)
|
||||||
|
0.000000 MetaHookPost LoadFileExtended(0, ./Zeek_MIME.consts.bif.zeek, <...>/Zeek_MIME.consts.bif.zeek) -> (-1, <no content>)
|
||||||
0.000000 MetaHookPost LoadFileExtended(0, ./Zeek_MIME.events.bif.zeek, <...>/Zeek_MIME.events.bif.zeek) -> (-1, <no content>)
|
0.000000 MetaHookPost LoadFileExtended(0, ./Zeek_MIME.events.bif.zeek, <...>/Zeek_MIME.events.bif.zeek) -> (-1, <no content>)
|
||||||
0.000000 MetaHookPost LoadFileExtended(0, ./Zeek_MQTT.events.bif.zeek, <...>/Zeek_MQTT.events.bif.zeek) -> (-1, <no content>)
|
0.000000 MetaHookPost LoadFileExtended(0, ./Zeek_MQTT.events.bif.zeek, <...>/Zeek_MQTT.events.bif.zeek) -> (-1, <no content>)
|
||||||
0.000000 MetaHookPost LoadFileExtended(0, ./Zeek_MQTT.types.bif.zeek, <...>/Zeek_MQTT.types.bif.zeek) -> (-1, <no content>)
|
0.000000 MetaHookPost LoadFileExtended(0, ./Zeek_MQTT.types.bif.zeek, <...>/Zeek_MQTT.types.bif.zeek) -> (-1, <no content>)
|
||||||
|
@ -2499,6 +2501,7 @@
|
||||||
0.000000 MetaHookPre LoadFile(0, ./Zeek_KRB.types.bif.zeek, <...>/Zeek_KRB.types.bif.zeek)
|
0.000000 MetaHookPre LoadFile(0, ./Zeek_KRB.types.bif.zeek, <...>/Zeek_KRB.types.bif.zeek)
|
||||||
0.000000 MetaHookPre LoadFile(0, ./Zeek_Login.events.bif.zeek, <...>/Zeek_Login.events.bif.zeek)
|
0.000000 MetaHookPre LoadFile(0, ./Zeek_Login.events.bif.zeek, <...>/Zeek_Login.events.bif.zeek)
|
||||||
0.000000 MetaHookPre LoadFile(0, ./Zeek_Login.functions.bif.zeek, <...>/Zeek_Login.functions.bif.zeek)
|
0.000000 MetaHookPre LoadFile(0, ./Zeek_Login.functions.bif.zeek, <...>/Zeek_Login.functions.bif.zeek)
|
||||||
|
0.000000 MetaHookPre LoadFile(0, ./Zeek_MIME.consts.bif.zeek, <...>/Zeek_MIME.consts.bif.zeek)
|
||||||
0.000000 MetaHookPre LoadFile(0, ./Zeek_MIME.events.bif.zeek, <...>/Zeek_MIME.events.bif.zeek)
|
0.000000 MetaHookPre LoadFile(0, ./Zeek_MIME.events.bif.zeek, <...>/Zeek_MIME.events.bif.zeek)
|
||||||
0.000000 MetaHookPre LoadFile(0, ./Zeek_MQTT.events.bif.zeek, <...>/Zeek_MQTT.events.bif.zeek)
|
0.000000 MetaHookPre LoadFile(0, ./Zeek_MQTT.events.bif.zeek, <...>/Zeek_MQTT.events.bif.zeek)
|
||||||
0.000000 MetaHookPre LoadFile(0, ./Zeek_MQTT.types.bif.zeek, <...>/Zeek_MQTT.types.bif.zeek)
|
0.000000 MetaHookPre LoadFile(0, ./Zeek_MQTT.types.bif.zeek, <...>/Zeek_MQTT.types.bif.zeek)
|
||||||
|
@ -2889,6 +2892,7 @@
|
||||||
0.000000 MetaHookPre LoadFileExtended(0, ./Zeek_KRB.types.bif.zeek, <...>/Zeek_KRB.types.bif.zeek)
|
0.000000 MetaHookPre LoadFileExtended(0, ./Zeek_KRB.types.bif.zeek, <...>/Zeek_KRB.types.bif.zeek)
|
||||||
0.000000 MetaHookPre LoadFileExtended(0, ./Zeek_Login.events.bif.zeek, <...>/Zeek_Login.events.bif.zeek)
|
0.000000 MetaHookPre LoadFileExtended(0, ./Zeek_Login.events.bif.zeek, <...>/Zeek_Login.events.bif.zeek)
|
||||||
0.000000 MetaHookPre LoadFileExtended(0, ./Zeek_Login.functions.bif.zeek, <...>/Zeek_Login.functions.bif.zeek)
|
0.000000 MetaHookPre LoadFileExtended(0, ./Zeek_Login.functions.bif.zeek, <...>/Zeek_Login.functions.bif.zeek)
|
||||||
|
0.000000 MetaHookPre LoadFileExtended(0, ./Zeek_MIME.consts.bif.zeek, <...>/Zeek_MIME.consts.bif.zeek)
|
||||||
0.000000 MetaHookPre LoadFileExtended(0, ./Zeek_MIME.events.bif.zeek, <...>/Zeek_MIME.events.bif.zeek)
|
0.000000 MetaHookPre LoadFileExtended(0, ./Zeek_MIME.events.bif.zeek, <...>/Zeek_MIME.events.bif.zeek)
|
||||||
0.000000 MetaHookPre LoadFileExtended(0, ./Zeek_MQTT.events.bif.zeek, <...>/Zeek_MQTT.events.bif.zeek)
|
0.000000 MetaHookPre LoadFileExtended(0, ./Zeek_MQTT.events.bif.zeek, <...>/Zeek_MQTT.events.bif.zeek)
|
||||||
0.000000 MetaHookPre LoadFileExtended(0, ./Zeek_MQTT.types.bif.zeek, <...>/Zeek_MQTT.types.bif.zeek)
|
0.000000 MetaHookPre LoadFileExtended(0, ./Zeek_MQTT.types.bif.zeek, <...>/Zeek_MQTT.types.bif.zeek)
|
||||||
|
@ -4120,6 +4124,7 @@
|
||||||
0.000000 | HookLoadFile ./Zeek_KRB.types.bif.zeek <...>/Zeek_KRB.types.bif.zeek
|
0.000000 | HookLoadFile ./Zeek_KRB.types.bif.zeek <...>/Zeek_KRB.types.bif.zeek
|
||||||
0.000000 | HookLoadFile ./Zeek_Login.events.bif.zeek <...>/Zeek_Login.events.bif.zeek
|
0.000000 | HookLoadFile ./Zeek_Login.events.bif.zeek <...>/Zeek_Login.events.bif.zeek
|
||||||
0.000000 | HookLoadFile ./Zeek_Login.functions.bif.zeek <...>/Zeek_Login.functions.bif.zeek
|
0.000000 | HookLoadFile ./Zeek_Login.functions.bif.zeek <...>/Zeek_Login.functions.bif.zeek
|
||||||
|
0.000000 | HookLoadFile ./Zeek_MIME.consts.bif.zeek <...>/Zeek_MIME.consts.bif.zeek
|
||||||
0.000000 | HookLoadFile ./Zeek_MIME.events.bif.zeek <...>/Zeek_MIME.events.bif.zeek
|
0.000000 | HookLoadFile ./Zeek_MIME.events.bif.zeek <...>/Zeek_MIME.events.bif.zeek
|
||||||
0.000000 | HookLoadFile ./Zeek_MQTT.events.bif.zeek <...>/Zeek_MQTT.events.bif.zeek
|
0.000000 | HookLoadFile ./Zeek_MQTT.events.bif.zeek <...>/Zeek_MQTT.events.bif.zeek
|
||||||
0.000000 | HookLoadFile ./Zeek_MQTT.types.bif.zeek <...>/Zeek_MQTT.types.bif.zeek
|
0.000000 | HookLoadFile ./Zeek_MQTT.types.bif.zeek <...>/Zeek_MQTT.types.bif.zeek
|
||||||
|
@ -4510,6 +4515,7 @@
|
||||||
0.000000 | HookLoadFileExtended ./Zeek_KRB.types.bif.zeek <...>/Zeek_KRB.types.bif.zeek
|
0.000000 | HookLoadFileExtended ./Zeek_KRB.types.bif.zeek <...>/Zeek_KRB.types.bif.zeek
|
||||||
0.000000 | HookLoadFileExtended ./Zeek_Login.events.bif.zeek <...>/Zeek_Login.events.bif.zeek
|
0.000000 | HookLoadFileExtended ./Zeek_Login.events.bif.zeek <...>/Zeek_Login.events.bif.zeek
|
||||||
0.000000 | HookLoadFileExtended ./Zeek_Login.functions.bif.zeek <...>/Zeek_Login.functions.bif.zeek
|
0.000000 | HookLoadFileExtended ./Zeek_Login.functions.bif.zeek <...>/Zeek_Login.functions.bif.zeek
|
||||||
|
0.000000 | HookLoadFileExtended ./Zeek_MIME.consts.bif.zeek <...>/Zeek_MIME.consts.bif.zeek
|
||||||
0.000000 | HookLoadFileExtended ./Zeek_MIME.events.bif.zeek <...>/Zeek_MIME.events.bif.zeek
|
0.000000 | HookLoadFileExtended ./Zeek_MIME.events.bif.zeek <...>/Zeek_MIME.events.bif.zeek
|
||||||
0.000000 | HookLoadFileExtended ./Zeek_MQTT.events.bif.zeek <...>/Zeek_MQTT.events.bif.zeek
|
0.000000 | HookLoadFileExtended ./Zeek_MQTT.events.bif.zeek <...>/Zeek_MQTT.events.bif.zeek
|
||||||
0.000000 | HookLoadFileExtended ./Zeek_MQTT.types.bif.zeek <...>/Zeek_MQTT.types.bif.zeek
|
0.000000 | HookLoadFileExtended ./Zeek_MQTT.types.bif.zeek <...>/Zeek_MQTT.types.bif.zeek
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||||
|
#separator \x09
|
||||||
|
#set_separator ,
|
||||||
|
#empty_field (empty)
|
||||||
|
#unset_field -
|
||||||
|
#path http
|
||||||
|
#open XXXX-XX-XX-XX-XX-XX
|
||||||
|
#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p trans_depth method host uri referrer version user_agent origin request_body_len response_body_len status_code status_msg info_code info_msg tags username password proxied orig_fuids orig_filenames orig_mime_types resp_fuids resp_filenames resp_mime_types
|
||||||
|
#types time string addr port addr port count string string string string string string string count count count string count string set[enum] string string set[string] vector[string] vector[string] vector[string] vector[string] vector[string] vector[string]
|
||||||
|
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 48724 127.0.0.1 8080 1 POST localhost:8080 / - 1.0 python-requests/2.25.1 - 0 497 501 Unsupported method ('POST') - - (empty) - - - Fx3nQj3PL606RGh4A5,Fdjahd1XxlaUKC7vn8,Fe52j84XySnHI9mUz3,FxA6cG3PA85BxWwwue,FXB5842rxVtgRiI2Vb,Fw9fsX12UMGC0mGdXa,Fl4MFh2QO56Q341Pta,FYZdwQ25lK4xMv9Qob,FTr1zV3F6Fwdhnw5Ik,F6LDXlarWo5lMUQOi,F7m83Od9JOgipOzrc,FVzPLi3cocOyPUvib5,FH7s3jYnZ1R4gqO1g,FrlqlF3HqNAWohppk1,FobeqY2mIbUTMYzkva - text/plain,text/plain,text/plain,text/plain,text/plain,text/plain,text/plain,text/plain,text/plain,text/plain,text/plain,text/plain,text/plain,text/plain,text/plain FWhx6m3AbtxIJtthb - text/html
|
||||||
|
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 48724 127.0.0.1 8080 2 - - - - - - - 39686 0 - - - - (empty) - - - - - - - - -
|
||||||
|
#close XXXX-XX-XX-XX-XX-XX
|
|
@ -0,0 +1,11 @@
|
||||||
|
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||||
|
#separator \x09
|
||||||
|
#set_separator ,
|
||||||
|
#empty_field (empty)
|
||||||
|
#unset_field -
|
||||||
|
#path weird
|
||||||
|
#open XXXX-XX-XX-XX-XX-XX
|
||||||
|
#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p name addl notice peer source
|
||||||
|
#types time string addr port addr port string string bool string string
|
||||||
|
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 48724 127.0.0.1 8080 exceeded_mime_max_depth 100 F zeek HTTP
|
||||||
|
#close XXXX-XX-XX-XX-XX-XX
|
BIN
testing/btest/Traces/http/deeply-nested-mime.pcap
Normal file
BIN
testing/btest/Traces/http/deeply-nested-mime.pcap
Normal file
Binary file not shown.
|
@ -0,0 +1,7 @@
|
||||||
|
# @TEST-DOC: HTTP POST request with 100 nestesd message/rfc822 entities, causing an analysis depth of 200 or so, Zeek stops at 100 and produces a weird.
|
||||||
|
#
|
||||||
|
# @TEST-EXEC: zeek -b -r $TRACES/http/deeply-nested-mime.pcap %INPUT
|
||||||
|
# @TEST-EXEC: btest-diff http.log
|
||||||
|
# @TEST-EXEC: btest-diff weird.log
|
||||||
|
|
||||||
|
@load base/protocols/http
|
Loading…
Add table
Add a link
Reference in a new issue