From f26dcafd0231392759f836406ce6e30131dca22b Mon Sep 17 00:00:00 2001 From: whitel1st Date: Tue, 24 Sep 2019 14:03:40 +0300 Subject: [PATCH] samples modified --- README.md | 6 +++--- docem.py | 9 +++++---- .../xss_sample_0_docx/[Content_Types].xml | 2 +- .../xss/docx/xss_sample_0_docx/_rels/.rels | 2 +- .../customXml/_rels/item1.xml.rels | 2 +- .../customXml/itemProps1.xml | 2 +- .../docx/xss_sample_0_docx/docProps/app.xml | 2 +- .../docx/xss_sample_0_docx/docProps/core.xml | 2 +- .../xss_sample_0_docx/docProps/custom.xml | 2 +- .../word/_rels/document.xml.rels | 2 +- .../docx/xss_sample_0_docx/word/document.xml | 2 +- .../docx/xss_sample_0_docx/word/fontTable.xml | 2 +- .../docx/xss_sample_0_docx/word/settings.xml | 2 +- .../docx/xss_sample_0_docx/word/styles.xml | 2 +- .../xss_sample_0_docx/word/theme/theme1.xml | 2 +- samples/xxe/sample_oxml_xxe.docx | Bin 10732 -> 10808 bytes samples/xxe/sample_oxml_xxe_mod0.docx | Bin 10743 -> 10746 bytes samples/xxe/sample_oxml_xxe_mod1.docx | Bin 10767 -> 10859 bytes samples/xxe/xlsx_created_in_wps.xlsx | Bin 0 -> 8358 bytes samples/xxe/xlsx_created_in_wps.zip | Bin 8371 -> 0 bytes 20 files changed, 21 insertions(+), 20 deletions(-) mode change 100755 => 100644 samples/xxe/sample_oxml_xxe.docx mode change 100755 => 100644 samples/xxe/sample_oxml_xxe_mod0.docx mode change 100755 => 100644 samples/xxe/sample_oxml_xxe_mod1.docx create mode 100644 samples/xxe/xlsx_created_in_wps.xlsx delete mode 100644 samples/xxe/xlsx_created_in_wps.zip diff --git a/README.md b/README.md index d53656f..68e9352 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ - +сф ``` _|_|_| _| _| _|_| _|_|_| _|_| _|_|_| _|_| @@ -6,7 +6,7 @@ _| _| _| _| _| _|_|_|_| _| _| _| _| _| _| _| _| _| _| _| _| _|_|_| _|_| _|_|_| _|_|_| _| _| _| -version 1.1 +version 1.3 ``` @@ -28,7 +28,7 @@ To create such documents with embedded payloads there is a famous tool called [o But. It is not convinient to use `oxml_xxe` when you need to create hundreds of documents with payloads in different places. So there it goes - Docem. -It works like that: You specify sample document - that is a doc that has some `magic_symbols` (in this case it is `፨`) that will be replaced by your refernce to a payload in case of XXE payload, or will be replaces by your XSS payload. +It works like that: You specify sample document - that is a doc that has some `magic_symbols` (in illustratuin it is `፨` (in program it is constant `XXCb8bBA9XX`)) that will be replaced by your refernce to a payload in case of XXE payload, or will be replaces by your XSS payload. Also there are three different types of `payload_type` - every type determine how every `magic_symbol` will be processed for a given file in a document. Every `payload_type` described in section `Usage`. diff --git a/docem.py b/docem.py index f84a48d..92817f2 100755 --- a/docem.py +++ b/docem.py @@ -311,7 +311,7 @@ def document_copy_dir(paths): # } def document_tree_embedding_points(paths, tree, magic_symbol): - print('\nCount magic symbols') + print('\n======== Count magic symbols ========') count_places = 0 @@ -423,7 +423,7 @@ def interface_print_logo(): _|_|_| _|_| _|_|_| _|_|_| _| _| _| ''' - version = '1.1' + version = '1.3' print(logo) print('Current version: %s\n'%version) @@ -479,13 +479,14 @@ def interface_print_example(): # in future paths = document_prepare_initial_paths(path_to_complex_file) - print('\npaths in the beginning\n',paths) + # For dubug + #print('\npaths in the beginning\n',paths) # Create tmp directory if it is not exists if not os.path.exists(paths["path_to_tmp"]): os.mkdir(paths["path_to_tmp"]) - print('\nCurrent setup') + print('\n=========== Current setup ===========') print('sample file:\t\t',args.sample) print('sample is it dir:\t',paths['sample_type_is_folder']) print('payload mode:\t\t',args.payload_mode) diff --git a/samples/xss/docx/xss_sample_0_docx/[Content_Types].xml b/samples/xss/docx/xss_sample_0_docx/[Content_Types].xml index bc67606..8ae1388 100755 --- a/samples/xss/docx/xss_sample_0_docx/[Content_Types].xml +++ b/samples/xss/docx/xss_sample_0_docx/[Content_Types].xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/samples/xss/docx/xss_sample_0_docx/_rels/.rels b/samples/xss/docx/xss_sample_0_docx/_rels/.rels index 7b187f1..1dfdb95 100755 --- a/samples/xss/docx/xss_sample_0_docx/_rels/.rels +++ b/samples/xss/docx/xss_sample_0_docx/_rels/.rels @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/samples/xss/docx/xss_sample_0_docx/customXml/_rels/item1.xml.rels b/samples/xss/docx/xss_sample_0_docx/customXml/_rels/item1.xml.rels index 9ecd1ba..901d7e7 100755 --- a/samples/xss/docx/xss_sample_0_docx/customXml/_rels/item1.xml.rels +++ b/samples/xss/docx/xss_sample_0_docx/customXml/_rels/item1.xml.rels @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/samples/xss/docx/xss_sample_0_docx/customXml/itemProps1.xml b/samples/xss/docx/xss_sample_0_docx/customXml/itemProps1.xml index 743db5e..c2da389 100755 --- a/samples/xss/docx/xss_sample_0_docx/customXml/itemProps1.xml +++ b/samples/xss/docx/xss_sample_0_docx/customXml/itemProps1.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/samples/xss/docx/xss_sample_0_docx/docProps/app.xml b/samples/xss/docx/xss_sample_0_docx/docProps/app.xml index 8720fc9..733624c 100755 --- a/samples/xss/docx/xss_sample_0_docx/docProps/app.xml +++ b/samples/xss/docx/xss_sample_0_docx/docProps/app.xml @@ -1,2 +1,2 @@ -፨1፨0፨0፨00falsefalse0፨WPS Office Community_10.1.0.5707_F1E327BC-269C-435d-A152-05C5408002CA0 \ No newline at end of file +XXCb8bBA9XX1XXCb8bBA9XX0XXCb8bBA9XX0XXCb8bBA9XX00falsefalse0XXCb8bBA9XXWPS Office Community_10.1.0.5707_F1E327BC-269C-435d-A152-05C5408002CA0 \ No newline at end of file diff --git a/samples/xss/docx/xss_sample_0_docx/docProps/core.xml b/samples/xss/docx/xss_sample_0_docx/docProps/core.xml index 347565b..0aceb73 100755 --- a/samples/xss/docx/xss_sample_0_docx/docProps/core.xml +++ b/samples/xss/docx/xss_sample_0_docx/docProps/core.xml @@ -1,2 +1,2 @@ -፨2018-07-18T17:59:00Z፨x3ntx3nt2018-07-18T18:06:19Z \ No newline at end of file +XXCb8bBA9XX2018-07-18T17:59:00ZXXCb8bBA9XXx3ntx3nt2018-07-18T18:06:19Z \ No newline at end of file diff --git a/samples/xss/docx/xss_sample_0_docx/docProps/custom.xml b/samples/xss/docx/xss_sample_0_docx/docProps/custom.xml index a343e53..eb141a7 100755 --- a/samples/xss/docx/xss_sample_0_docx/docProps/custom.xml +++ b/samples/xss/docx/xss_sample_0_docx/docProps/custom.xml @@ -1,2 +1,2 @@ -፨1033-10.1.0.5707 \ No newline at end of file +XXCb8bBA9XX1033-10.1.0.5707 \ No newline at end of file diff --git a/samples/xss/docx/xss_sample_0_docx/word/_rels/document.xml.rels b/samples/xss/docx/xss_sample_0_docx/word/_rels/document.xml.rels index 0ae6872..3f4b8ca 100755 --- a/samples/xss/docx/xss_sample_0_docx/word/_rels/document.xml.rels +++ b/samples/xss/docx/xss_sample_0_docx/word/_rels/document.xml.rels @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/samples/xss/docx/xss_sample_0_docx/word/document.xml b/samples/xss/docx/xss_sample_0_docx/word/document.xml index d3b28fb..058f1b7 100755 --- a/samples/xss/docx/xss_sample_0_docx/word/document.xml +++ b/samples/xss/docx/xss_sample_0_docx/word/document.xml @@ -1,2 +1,2 @@ -፨Test፨Test_bold፨Test_underscore \ No newline at end of file +XXCb8bBA9XXTestXXCb8bBA9XXTest_boldXXCb8bBA9XXTest_underscore \ No newline at end of file diff --git a/samples/xss/docx/xss_sample_0_docx/word/fontTable.xml b/samples/xss/docx/xss_sample_0_docx/word/fontTable.xml index 2b41ca2..fb9f900 100755 --- a/samples/xss/docx/xss_sample_0_docx/word/fontTable.xml +++ b/samples/xss/docx/xss_sample_0_docx/word/fontTable.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/samples/xss/docx/xss_sample_0_docx/word/settings.xml b/samples/xss/docx/xss_sample_0_docx/word/settings.xml index bf718c4..93fc1bb 100755 --- a/samples/xss/docx/xss_sample_0_docx/word/settings.xml +++ b/samples/xss/docx/xss_sample_0_docx/word/settings.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/samples/xss/docx/xss_sample_0_docx/word/styles.xml b/samples/xss/docx/xss_sample_0_docx/word/styles.xml index 492c981..8949e5b 100755 --- a/samples/xss/docx/xss_sample_0_docx/word/styles.xml +++ b/samples/xss/docx/xss_sample_0_docx/word/styles.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/samples/xss/docx/xss_sample_0_docx/word/theme/theme1.xml b/samples/xss/docx/xss_sample_0_docx/word/theme/theme1.xml index 0cc3a9f..7d465c7 100755 --- a/samples/xss/docx/xss_sample_0_docx/word/theme/theme1.xml +++ b/samples/xss/docx/xss_sample_0_docx/word/theme/theme1.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/samples/xxe/sample_oxml_xxe.docx b/samples/xxe/sample_oxml_xxe.docx old mode 100755 new mode 100644 index e6715bb5918d12505acd90802264894d83f9f2bf..beecbb52a618f5ff7056ba25687e2066ff6f3735 GIT binary patch literal 10808 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 C5_C!c literal 10732 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 SbO8W(;2Q=QtR^UaefvM-Nhp>8 diff --git a/samples/xxe/sample_oxml_xxe_mod0.docx b/samples/xxe/sample_oxml_xxe_mod0.docx old mode 100755 new mode 100644 index 56886e2cb9028904cd8c380dc9a0be81a9df85bb..10bda5fd918ae1059059884ebcb794f17299fcb3 GIT binary patch delta 1822 zcmew!{41C@z?+#xgqeYXgW<}|(2cxP7@2|eU}9icJb6C5RK0KiEdznJ_fvn#E8U;Y zGA&4oaW!kymUgcdTZFcsvhYh1tk${huzml&$2FIfN+Z8Ls<4@teos>U+>?jXb()mT z!y0Bys?%3u4CfJAxJmQp$G@lV&S1F~IQ0UP$b2EzCyC$w-F+gWet>V1wzz`h%^yo{ zPI+?fr3H`f>77fqsk0g<)GLJIeV5g zKI59JDd8zQOO0FA^mp?<=UvPE-nb~AzteO1_>}zgI>hRh=T+AG&Y+t{!DJ4*= zzVSx?It#)64CQqb3+8POR$3XL`)u2_Ip*fOSud=NlC*fyr*_Y+I_USbr9W0jTzs*} zyv7~>C)7>N6S^!sBT??-_3a~&#UcMFS#pO z_B8U`on4`S`s3#2)-C3?pY$)mK*#ur#eaiil@Yl=ylOWv_r5-y)h!tLPU?kR8^H0v}kOX*{+lLvP;FS2i*}#kf(L-RyWJNZy$=)&oV8J+< zC#+zGtCBXOEHF*`ajLX8r7-@|fvzS={&8P;NA&6o|imD2cE?%o@L@+EMeq&LyKvUUJ{{IQKP)k$;g<7?mKAJxo zxE^d3KnXPt29&af4c#9v)s&nW8Xnfm7y!duC}uu5?4f)_tU^M=ciXpltAL@gh=qYc z2stzw-%s{aS9XM^4FX{rQ|@|20hm&1IndnFcyjV4btR}N4b_LiDGW0mK-}V|+}o-M z^i8f60|P&bTO=lnYA84n=avm~Z)o%aO^LH*V30yFB~5g4y{OFOW9oeMgp2}5o*y)y zfGKXcQ34Hr9kpc`7|QdDQuIqQQgc)Fxfm3{iWnIr7#a?ure$pLEf30+26vq`w*WKb z5@`koQMl>AOxYMR*frJzD=>&a OktN7b3uL7$gLnXBpn(Jc delta 1740 zcmewr{5_aAz?+#xgqeYXgW*h~`9|I;jLblK@)AZx5WV>XBR@po7Ly8CfRTA3SYY#1 zmNbaWKUM{>7DYBSunI3W4@TZ!t>%6^H$C2C%EZ7hd-8mCsruNy%LW3+?@!#}{N%e? z=JqL}SIUm&Exg6Pr0bAzk*xYgscN0unUU`f*zOQBPn?s#g5~bJ?&RvUy3g|qAL+c? zcT&lsD4BJI>dYQxp@O3df?Cm&^yl06&fLwE*B5i zn$(v&-&$+xpBcI1UXZJl{f?`BUa=os>t8&tGr78Aeag0HYkwZTbl|th*?_x+8?R1D zjJ;KG`s~EXp&wo!Ki^m#t1k0r>6YRv7H5=%d>&lY&@%k?n(dvY^@M^KzvEQrrr(&J zYFT{S?`6DI>9*f}YJV)$F27uJYQp0`XLZjVzV%S~>p?z~cjvRjl{ekl>aBmka>CzT z4_+RaRqQgW;LZ8lnOl7r?rG$uB`D(FB`Teo~mCf8#=IM&u=Q zn{@@3zvUMCwtwo?e3az5`48uHNb0-B?ZXUCZL0j_G(sgfJNd~?l-m9hsLKzS4Y*Nk^Hq@}(zXdI zW>A$dTVOPrZIfTCNHT7j%&MwP&}6XdCi|*_)TgVe5L6HG_XbrXf-ZrmJgFf)SxHTn z$WW@Wo^B}!jFX+f5SBp+r8+fzs2RB9go6R4uwi3h5JWO#$>cX`O3n>;d##l=17o&C z%?3on_-G;M=ezCOyj4J#EMj3`5JEC#OXHi#f$GYRgwh8j)?>^PnyNauLYoyB$DoiEWT*wQQj|eF01|1AV*mgE diff --git a/samples/xxe/sample_oxml_xxe_mod1.docx b/samples/xxe/sample_oxml_xxe_mod1.docx old mode 100755 new mode 100644 index ac90aa28e1d796f2152256feef3cb802eeb3f903..7248d216125a3e01677b669890ae9b99dfdf51b7 GIT binary patch delta 7606 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 CMkNyf diff --git a/samples/xxe/xlsx_created_in_wps.xlsx b/samples/xxe/xlsx_created_in_wps.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..b6c61920ecc81fe1f5daeeee5b8ca19e7163b100 GIT binary patch literal 8358 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 f_t&mj{D