From e8f00f583e87cd0f66f333c8e5039a93f846437a Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Fri, 26 Aug 2022 09:26:59 +0200 Subject: [PATCH] Adds test for http file to server --- tests/http-post-file/README.md | 10 ++++++++++ tests/http-post-file/input.pcap | Bin 0 -> 5393 bytes tests/http-post-file/mm.go | 23 +++++++++++++++++++++++ tests/http-post-file/test.rules | 1 + tests/http-post-file/test.yaml | 13 +++++++++++++ 5 files changed, 47 insertions(+) create mode 100644 tests/http-post-file/README.md create mode 100644 tests/http-post-file/input.pcap create mode 100644 tests/http-post-file/mm.go create mode 100644 tests/http-post-file/test.rules create mode 100644 tests/http-post-file/test.yaml diff --git a/tests/http-post-file/README.md b/tests/http-post-file/README.md new file mode 100644 index 000000000..51768825e --- /dev/null +++ b/tests/http-post-file/README.md @@ -0,0 +1,10 @@ +# Description + +Test HTTP file to server. + +# PCAP + +The pcap comes from running server +`docker run --name mattermost-preview -d --publish 8065:8065 mattermost/mattermost-preview -m=4G` + +And client from mm.go (you need to setup credentials and channel Id) diff --git a/tests/http-post-file/input.pcap b/tests/http-post-file/input.pcap new file mode 100644 index 0000000000000000000000000000000000000000..1ba2be5754c7e5d72a2f72c68ce43fa08efe6a16 GIT binary patch literal 5393 zc-qC7U2NOd6~`$#wH>;7AF@6SNVYXV&^@>a3al-*Jr6C=hh^td zq9xi%YsUs6fCBH~l|DAcd!+RTe^DtpP;KgDL!+kyP=Eb9zC<~aM z{^&^jCUXLekzw}b&xhZ7W7E@bed~7+>jyMe%6l7l zp;!+M?Jm~V(MyyC%o&LFZV+qY={Mhb=gOBqzYXloUq8ky!Q`cY9UWnq(Ot0Dj$Ycl zJp3XZT#eql$K)6$dg%M_M+OE4sgEnMjlcOT7-bmhNBGS)Kat0FYqWbD4Y7A>{Hv>^clEaKf^5L_p^i8 zDf=FxUzd^^fnD^$Y(RWS#?&p+~?T_}?Dc@%YDw1_SnOfwF_-a+y?$JM&U6 zTcx&z3mmd6LsyWi6LWmoA!dv%ks3A&T)N^^iIg?nY`Io%*Qz{fn@yp%T4~4F^T=)& zxNRAYu}jHC-0-mDCg;=wm)BN3BxaSCD^*p^R@8jDrASJpq0pJ;PhiR!plRmgLzGTe;76bxa~imu>}1=o>o z(D}NnPtd9h1ua=U>O9Gf8c!}Ev7*C;VmP!zUoU{fqQYf zxH!G|mFl*a*5L~YU3(DI&RL&ubVWc8CUsw-&RA@=p@7o@$x3cntKf>BZY zH*mMSF{rcMHOY>?3N}IN4vD5YxZ}vibpmb!S2k|Q{*;cv?_LA{8Qe$rdiVI|Wwrrz zvf1liw8LEIDBFw-F#_y+=n=4^>>kX>S8&L6ky51! zx3g#E@)9qKIg#%#!>?|7kFG#{CHpB<(Zeel+gQK0aRe&#R-cj`rd{P0RtZB;)M2ORBn#~5vw-XPi91oPD z`)r^4u7tPG+tdZO;0c_qeQi%?>ab;!d+itYw>oTE@rsU{iGt}F#t!L0wo=tsuo~J# zedC4wNYBV?>(|~JhI)O!PkMM-SCswBi34Ci5n>Ag`|8Ag-m~|Hf&cop_iUc>Df|4) z0kEG4u}=r=S7-K>lh=WNcw4?D%HIU`ujGUKKu3AE<%9k}H+h17p!*2ef4FgQALuCW QA2$yA1KnQ=^aI`h0YG~*qyPW_ literal 0 Hc-jL100001 diff --git a/tests/http-post-file/mm.go b/tests/http-post-file/mm.go new file mode 100644 index 000000000..0e9ed86f8 --- /dev/null +++ b/tests/http-post-file/mm.go @@ -0,0 +1,23 @@ +package main + +import ( + "bytes" + "encoding/hex" + "fmt" + "github.com/mattermost/mattermost-server/v5/model" +) + +func main() { + Client := model.NewAPIv4Client("http://localhost:8065/") + Client.Login("toto", "tototo") + data, _ := hex.DecodeString("58354f2150254041505b345c505a58353428505e2937434329377d2445494341522d5354414e444152442d414e544956495255532d544553542d46494c452124482b482a") + us := &model.UploadSession{ + ChannelId: "7wynam16o38tbfgegi1qjr53oy", + Filename: "eicar", + FileSize: int64(len(data)), + } + us, response := Client.CreateUpload(us) + fmt.Printf("lol %s %#+v\n", us, response) + info, err2 := Client.UploadData(us.Id, bytes.NewReader(data)) + fmt.Printf("lol %s %#+v\n", err2, info) +} diff --git a/tests/http-post-file/test.rules b/tests/http-post-file/test.rules new file mode 100644 index 000000000..225de0dc5 --- /dev/null +++ b/tests/http-post-file/test.rules @@ -0,0 +1 @@ +alert http any any -> any any (msg:"EICAR file"; flow:to_server; file_data; content:"|58354f2150254041505b345c505a58353428505e2937434329377d2445494341522d5354414e444152442d414e544956495255532d544553542d46494c452124482b482a|"; sid:1; rev:1;) diff --git a/tests/http-post-file/test.yaml b/tests/http-post-file/test.yaml new file mode 100644 index 000000000..66335ef9d --- /dev/null +++ b/tests/http-post-file/test.yaml @@ -0,0 +1,13 @@ +requires: + min-version: 7 + +# disables checksum verification +args: +- -k none + +checks: + - filter: + count: 1 + match: + event_type: alert + alert.signature_id: 1 -- 2.47.2