Atak XXE przez pliki XML

0

Witam,

Mam dosc stara strone napisana w PHP 7.3. Zauwazylem, ze formularz, ktorzy przyjmuje XML pliki tj csv czy xls, nie jest odporny na atak XXE. Czy ktos moze napotkal sie na podobny problem. Jak temu zapobiec?

0

Zmienić PHP na inny język :)

0

To nie dziala. To juz mam. I to jest troche za malo. libxml_disable_entity_loader(true); XXE ma kilka form kilka form ataku. I te zabazpieczenie jest bardzo podstawowe. Dalej przepuszcza np przeformatowane z utf-8 to uft-32 pliki. Jakos idzie to obejsc. Tak samo filtrowanie <!DOCTYPE tez slabo dziala.

0

Masz przykład pliku jaki Ci wywołuje tego XXE? Możesz wrzucić?

0

Tak, tutaj jest przyklad xlsx https://file.io/x1tnI74CtsHc

0

Ale to jest plik xlsx nie xml, gdzie tu podatność na XXE?

0

Patrzyłem w kodzie źródłowym PHPspredsheet i tam pod spodem jest wykorzystywana simplexml tym samym libxml do wczytania danych. https://github.com/PHPOffice/PhpSpreadsheet/blob/1f32fa489ac1ad3a4bb51be05f37734be7b81300/src/PhpSpreadsheet/Reader/Xlsx.php#L139
Czyli nawet w takim przypadku XEE powino być zablokowane przy podawaniu flagi dla libxml.

0

Jeszcze raz wrzucilem plik https://fastupload.io/hP55I42gK65xTom/file

0
PK      ! bîhO      [Content_Types].xmlUT	 PìÎPìÎux õ     ­”MnÂ0…÷•z‡È[”º¨ªŠÀ¢?Ë©ô n<!Žmy
·ïÄPTU”¨‚M¬xæ½ïÙÑd<Ý´6[CDã])FÅPdà*¯[”â}þœß‰I9­¬wPŠ- ˜N®¯Æóm ÌXí°
Q¸—«Z……à¸RûØ*â׸AUKµ y3ÞÊÊ;G9ub2~„Z­,eOÞÞ%‰`Qd»ÆŽU
‚5•"®ËµÓ¿(ùžP°2õ`c¸AÈ£„®ò7`¯{嫉FC6S‘^TË]rcå§Ëï—Åi“#)}]›
´¯V-K
”Æ€Z[¤µh•qƒ~~jF™–Ñ…ƒü{roØ=Ïlz€H[xékO¦}äFEÐoy2.à§÷©¬ŸE'(ÂÿC|H§ÎA$súä"[Ÿ}jè¦Oƒ>–é2ùPK
     …‚8V              _rels/UT	 ‰KÐcNLÐcux õ     PK      ! µU0#ë   L    _rels/.relsUT	 PìÎPìÎux õ     ­’ÍjÃ0€ïƒ½ƒÑ½QÚÁ£N/cÐÛÙh¶òCËØn—¾ý¼ÃØ]éaGËÒ§OBÛÝ<êÈ!öâ4¬‹;#¶w­†·úyõ *&r–Fq¬áÄvÕíÍö•GJ¹(v½*S\ÔÐ¥ä£éx¢Xˆg—	¥ü-z2µŒ›²¼Çð›Õ‚©öVCØÛ;PõÉó5lišÞð“˜ÃÄ.i<'v–íʇ\RŸ§Q5…–“+æ%‡#’÷EFž7Ú\oô÷´8q"K‰ÐHàË>_—„Öÿ¹¢eÆÍ<⇄á]døvÁÅ
TŸPK
     …‚8V            	  docProps/UT	 ‰KÐcNLÐcux õ     PK      ! äîaUŽ  3    docProps/app.xmlUT	 PìÎPìÎux õ     “AoÛ0…ïöÝÙÝP¬¢H7ô°bâ¶gV¦c¡²dˆ¬‘ì×ONÇYwÚí‘|xúLÉêv×¹lÀH6øR‹\dèM¨­ß–â©úqõMdÄàkpÁc)öHâVþ¤Ö1ôÙ"e)ÂS)Zæ~)%™; Eû4iBì€S·245xÌ{‡žåužßHÜ1úë«~
ÇÄåÀÿZ3òÑsµïSžVU`p•íPçJžu×÷ÎàôõúÑš(4œ=‚±žµÙ÷A§äܦÒQ4ïÑò~L›—jcÀá*­p„Jžêa\ël$­^h8ÄŒìï´Øk‘½á\Š¢Ïâh;ízâ¨_B|£‘IÉ©ysï\Û¯º8’¸4Ê	$éKÄʲCúÕ¬!ò?ˆ‹9ñAÌ7#_ñïtÒ_Ù«ÐõàÓå¤~ZÿFO}îñ´Î˦ڴ±N70­{j¨‡ÄÝè_µà·XŸ<ã3x>þº¸Yä_òüp秞’ç×®ÿ PK      ! ;œ·b  È    docProps/core.xmlUT	 PìÎPìÎux õ     ’ÁnÂ0†ï“öUî%MAªJ¶‰Ó&M‚iÓnYb [›D‰Gáí—( qØÍöÿû«c·œnë*Ù€Úš	aƒŒ$`¤UÚ¬&äu1KÇ$	(Œ•50!;dÊooJé
i=¼xëÀ£†D’	…t²Ft¥A®¡a&ŠKëk1õ+ê„ü+ y–ÝÑP(‚¶ÀÔõDr@*Ù#ݯ:€’*¨Á` lÀèÉ‹àëpµ¡SÎœµÆƒ«Ö£Ø»·A÷ƦiÍ°³Æù}~šwOMµiw%ðRÉ5VÀKz
c~>¿@â¾Ü'1–ZÏçµ+ÛÉÇR++Òk‡ñNûÞ‹B¼F%>ÇÃ-5¨ûßh´ISÒ¿Jkö°ÑíÉyÖ9ú´<ìoÿiPI|w±ßÒQy><.f„çY>L3–æ£EΊl\0öÑvÑÖ‡þMdãb4<#¼›øòßã¿PK
     ä‚8V              xl/UT	 <LÐcNLÐcux õ     PK      ! S:'|      xl/workbook.xmlUT	 PìÎPìÎux õ     ­T]oÛ }Ÿ´ÿ€xO
nâ¬Vªi-Ò:Uý|¬&1*p’ªêßʼn“¶éC×
ÙÀåâù÷s|²*Zë¤Ñ¦#¡¹É¥žgøæzÜù†‘óLçL-2ü(>|ýr¼4öajÌ í2\x_¥Qäx!JæL%4xfƖ̃iç‘«¬`¹+„ð¥ŠbB’¨dRã5Bj?‚af3ÉÅÈðºÚ¯A¬PÌ}WÈʵh%ÿ\ÉìC]u¸)+€˜J%ýcŠQÉÓÉ\˦
Â^ÑZYxx).nO×ÞQ¥äÖ83ó ½!½?%¥¯R°ÚÏÁǺ„…5ÜA%ŸÄJ¶XÉŒ’F£d­·E‹ñàx&•¸]K±ªúÅÊP)…‘bÎÏ¥y†û`š¥xµ`ëjXK%”&8lå|aQ.f¬Vþˆµð°1IŽâ^Ø	Â8U^Xͼ83Úƒÿ“æì³Â@èèRü®¥®‘x g<eSwÁ|j«2Ý8`-¤7ÑÈ,µ2«è…,Ù>Ÿ¿&ã!ÚhKi=:0³i[”oÌ'£ŸP€+¶€r@ÑóÍß:	ù>¼×ܦôþ)†6vG£aï´sHº‡£~|ÖÓ.'ãS2Šé3\Ê
«}±)E€Îp·ÿŽëœ­Z%i-ó'²iwº¶=‡€ƒn¥Xº&‚‰VwRçfÙDôØÎ{¬ecÜÉÜŽû4Ù®ýr^øu?†EϦ—ᦂ]4\6$ß­y¡5Ý+rÑvM½ÚéFüWaNáÆc“o{ΰ“œ6ígœ)bCØHgñàPK
     …‚8V              xl/worksheets/UT	 ‰KÐcNLÐcux õ     PK      ! "Àdr‚  ‡	    xl/worksheets/sheet1.xmlUT	 PìÎPìÎux õ     VÛ’â6}OUþA¥‡<Œl3Ø20d&Ù™f7y¶Àª±,GÌekÿ}[27Û¤jv\`ËÒésZÝí¶‡ŸE†vLi.ó&íF,eÂóÍù<oõ0Ò†æ	ÍdÎFø…iüqüóOÃ'©uʘAÀëN)ž§ã”	ªÛ²`9¬¬¥ÔÀ­ÚxºPŒ&ÎHdžßé\y‚ò—õ¹^ó˜Íd¼,7%‰b5à¿Ny¡l"~ êq[´b)
 XñŒ›GŠ‘ˆ·›\*ºÊ`ßÏ$¤1zVðóádÜ|CIðXI-צ
Ì{Ÿ›Ûï{}ÆG¦æþßDCBÀŽÛž¨üwru\þ‰,x'ÙՑ̆K
¶<á¯ýÑ‚?iFåép|ÃãaÂ!ÃÖ)¶áˆ–>öÆC'ðgOúlŒ]=°ŒÅ†ÁèUJñÓŒÝÛlg0×Ò¶E»’òњܰ:Ú™Y
—›²àw°ýŸS¾s²ÞQë||ðaîjj¡ÐŠj6•Ù¿<1©Å(akºÍÌR>Ý0¾I
ÌBu¹º$/3¦c(dp¥MºV'–™vg$xî¶"è³eòCðOKÚë•`çÁŒ:*ù„”³ÒµO%x‚jðª g"kålaAÃìnÜz;+³GLšREL›¿Š˜5AqÝD„Uļ‰èV¿7WUÄMñ¡Š¸m"zUÄMD¿ŠøóBÄjAýtR‹êÝH-¬÷ µ¸þuRìâ¤Ù¿/@j¡]^€œbëAÕW¡úŽß?ç¯Å}RY¬¥mz¾è×Ò1«,Öq]Y¬¥`îï	ƒn·Kü ¬mÙ;{NÓ—‚©Œçúl¼ot ¡¶UªÛ„œ5ÎnH®£IßoQ8iöZQ-òaözý¨G"hœ¶-œ³tÃî¨Úð\£Œ­](» P¶"76²pÙZIc¤pÃ:9Sûõµ”æpã•ŒÌlTPÐyà¯ÌvR¤m»u#©8$ͽ“G¸Ê(Ê
F[ÍŠçÀ5+{¢vh˜žs¥Íxï·bÅÊ–Ë«šlVp„ÏÃãÓ},ÎxUz<w®Ž‡2InÜÄø*Šß¦îŒ?Ã+E£{x],¥ ù¯K¶ÙfTa·J|w‰†ÞÉØòì)€Çn¹ñ‘œòª>zÇO¨ñwPK      ! 0þ‘Vå  ú  
  xl/styles.xmlUT	 PìÎPìÎux õ     ­U[o›0~Ÿ´ÿ`ùdITMS´J]U©™´WLbÕdLF6í¿Ï†$^vÉö‚}Ž}¾ó}>>&ºl8[¢**E½"2™S±ŽáçeêL ¨49fRîH/“÷ï¢JïyÜ¢U7Z—3„ªlC8®.dI„Y)¤âXS­QU*‚óÊq†|×#Ž©€ÂŒg±zªK'“¼Äš®(£z×bAÀ³ÙíZH…WÌPm¼ g ñÆÊ:$i½/òpš)YÉB_\$‹‚fä%Ý)š"œõHù<$/D®¢½Qg"H‘-µåƒITH¡+ÉZèúÛŠ=	ùU¤vÉTx¿+‰ªo`‹™ñ¸%‘Àœtö•¢˜YW9e»Îé[G¶Áª2õî¬uPÝ·FÏA3ɤÚÈ!ÿ%O;T&‚26Ù9’ÈÜM”Höóå®4©…¹ºL»ï7»×
ï<?´ƒÉ»’*7­rÈlϲs%#…6Š®7vÔ²DvQkSº$Ê)^K™…<Dì'6#Œ=ÚvúRœ¨j
 jžr}›ÇÐ4¦U˜BûiÓèí ïÍ €Ë’íîk¾"*m­÷ÚÓé­yÕÛWŒ®'bð ¤&™n_“–ªë´dŽÎ’	šâu½Áô¯Â_Sîyˆ¦w”|TÛj?©ëÑl7Äð£¹vŠQñÔ£€UM™¦ÂZ“¶'žÅÜ[ºl eðìÜ
¼é¼]Õö‰<ef0rRàšéåq1†ýüÉiÍý㮺•z¿«ŸßÙðÆ6iô]¥ÛÔŠÆðûÍüÃtq“úÎÄOœ`DBgÎN\Ï‹têúîõÁCýÏtû¶šBzÁ¬bf—Ú‹Ý“ì}1ýöüí!÷©?v¯BÏuÒ‘ë9ÁOœÉx:ièù‹q0¿	ÓpÀ=<ó9w‘çõäÙ¦œ˜«ANé/‡^S$cþB:Tõ?íä'PK
     …‚8V            	  xl/_rels/UT	 ‰KÐcNLÐcux õ     PK      ! >”—ì   º    xl/_rels/workbook.xml.relsUT	 PìΊKÐcux õ     ­RËjÃ0¼úbïµì´”R"ç
¹¶îim™Ø’Ðnþûª
m¡Ÿ–±3£Ý]o>ÇA¼c¢>xUQ‚@o‚í}§àµyºy A¬½ÕCð¨`B‚M}}µ~ÆAsn"×GYÅ“Ç¥$ãpÔT„ˆ>¿´!š3LŒÚìu‡rU–÷2Í5 >Ñ;« íì-ˆfŠøíж½Ám0o#z>c!‰§!@4:uÈ
¸È: ÏÛ¯–´çÜ‹G÷x «Kª%3|„´'‡ÈÇTÐw¹ænÑ}8оpÊç6_Ëœþ
#O.®þPK    Ú‚8V0=¶=  Ô    xl/sharedStrings.xmlUT	 ,LÐc,LÐcux õ     ÍWÛNAí§¬<}‹&Æ(¢5jMÀ5> »¢Qt…åïmãi¦¬àm—ÀÃIv†Î9m§3ˆ¨HD;ŒwF‡ñÄðFÀè2zŒÆã™±ÍÈ0
Œ,#±‡5bÓ‚½µ2×6k/uÆ!c…±a8D/b4°ÎÇ÷“ñ!0\CŒ{K<%úŒm±Ï8c”¡yÅ8g@OùUSænÌz±«bí±áð`ŸÇw\/Æ/æËO\õhø·RgþèËê_
1îÿŽÕ—[ãSÜÞ‹®­Égü¦{~;AÈØdä ±kÁ& GóYìOH®V­Î~ïšuQl­üÖ6Z!æØû˜Wý ª‘CnóÀ:æTOÏ‹Öž¥>æ#“áY3¶j#¯‹~ù—v/Ì8Â÷AÌO½/ö·or¡ûYD|‘áËј¤yˆy½‹´>ªð£½¤:ru2-
ÝáÉÝqøOÀÝ„ïuØEا4ü¿$w¡#wé=ÞÍIuNM,ZgÁõ$Wo&_¹þ'šG4ÚÒÊg…Üy×ø´,MÈ÷wgmyJ>i/˜'ŸÖfìS™\½gìKÜûEkWÖŸCOü˜¶ŒÍ¸Þ0ëx®1š8ô]¥qjïQÿ}rµ1Ëšˆç²;ùÔÞ¦ïð>ÆmJç«"&­½4ú~
~6ɽéºäê"¢Ñÿ%}=ý”|i$åjì"_ïäÞ›ö—,¹÷_'í–AR.ß )—þ?>³õ>Ó{¡ôPK
     …‚8V              xl/worksheets/_rels/UT	 ‰KÐcNLÐcux õ     PK      ! ÊîËûÊ   A  #  xl/worksheets/_rels/sheet1.xml.relsUT	 PìΊKÐcux õ     ϱjÃ0à=Ðw·×r2”,§C[ÈÐ¥¤pHg[Dº’Rœ·¯–B2?ÿ÷sÃaA}S.^ØÀ¶ëA[qžg_§÷ÇgP¥";ÂdàJãÃfø¤€µ•ÊâSQMáb`©5íµ.v¡ˆ¥“DÜ’IrÄÚÎ<ë„öŒ3é]ß?éü×€ñÆTGg ÝÔéšè[¦É[z{‰ÄõŸ	½4)Ïç†bž©ˆèC•="¾ÐŠ1ê¬ÄßüC\›~[+eÆ zôÍããPK
     …‚8V            	  xl/theme/UT	 ‰KÐcNLÐcux õ     PK      ! Á¾’  Æ     xl/theme/theme1.xmlUT	 PìÎPìÎux õ     íYÍoÛ6¿Øÿ èîJ¶%u
[¶û•4Aãvè‘–i‹1%$•Ä(
íi—ºa—»í0+°+vÙ ÅÖý{’¿D›j“6-:,`“Ôï=þøÞãã‹xõÚIH#ÌaQÃ,^±MG>hÔ0ïõº…ši‰¢¢,Â
sŠ…ymûóÏ®¢-à ‰-Ô0)'[–%|Fâ
›àž
‘„.YŽŽAoH­’mW¬‘È4"‚Ú½áøØè%*Íí…ò…¯HŠdÀ§üÀOgÌJ¤ØÁ¸˜üˆ©ð(7Žm˜0Ï€÷ð‰4
Š„„
ÓN?¦µ}ÕZ
Q™#›‘릟¹Ü\`0.¥r|Ô_
:ŽëTšKý¥™þM\§Ú©t*K}) ù>¬´¨ÑY-yΛ͚Ýíj»\Tðýå
|ÓMþ|y…w6ðÝ®·²a4kºx·UoµUýî
_ÙÀWífÛ©*øP7ж[){‹Õ.!CFoháu×éVKsø
ee¢k&ɼXÑ!ã] ¤ÎE’D†œNðù€ó%}NŒ2
 ð&(b†í’ݵËðü9i+õ(ÚÂ(#=òÅÆPÂÇ>'Ù0oV3yùâÅéãç§?}òäôñ¯ó¹7ån h”•{ýÓ7ÿüð¥ñ÷o?¾~ú­/²øW¿|õê?ߤ^*´¾{öêù³—ßý×ÏO5ð&Gý,¼GB,Œ;øظËBX fÜçç“èˆ(( ¤Ø‘¼3ET‡kaÕ„÷9d
ðz|¨p=x,‰x;à.c´Å¸v9·“¹²Ë‰£‘~rgqw:ÒÍí­9¸O ä‰N¥`…æ>o£Ž°4’glŒ±Fì!Š]w‰Ï™`Ci< F­Iz¤/õB7H~™ê‚«ÛìÞ7ZŒêÔ·ñ‘Š„m¨N%¦Š¯£X¢PË…4‹ÜA2Б<˜r_1¸àé¦Ìè°:™=>UèÞ†£wû.†*’K2Ö!wcYd›½ …-gYìM1†EÆ>“ZLÝ!Iü€¢\wß'Xžo[߃¤äIÌu[3u?Néaò&•ìÚäD­x¤„öÆ£Æƽ›:<›0=é[d•Xg›[HÕ¤aeRR×hK„²xÄrøìN×ÏE!âyšïŒÕéÀ)§M¥{Ô+©”ðdÓêIì‰Ië~€”°JúB¯SwÌá;ÈàsË@b?³mzˆb}Àôºt"±^$ÙN©X¬•ª›våk­Þ	IôÖâg­ìq?NÙóÁ
ž‹/uòRÊz“‡û–5mGûN’˪沪ù?V5y{ù²–¹¬e.k™VˬÊ+û–'Õæ¾òJä”â‘>öþ ƒi'Z¾ašÐœO§àF¥mƒ3ù‘ÁA€&0M1a$æªG˜0¥“™«;-½âp—
f£Åââ¥& ¹‡Òk1…šœVª«·wKõio$²ÜTéÙId&SI”5$ªå³‘(ÚÅ¢®aQ+¾‰…•ñ
NJÞ‡»ÎŒ„„ô ñÓL~áÝ÷tž1Õe—4Ë«;æi…D&ÜT™0àðX¾`_×ëzW—´4ªµákk37ÐHíÇ°çÊ.¨ñѤaáŸ&h†Ð'’L…è(j˜¾œú]2Ë„ÙF"˜ÁÒG³õ‡DbnPB¬gÝ@£·b©jºäêö§g9kÝÉx8ľÌYuáÙL‰öé{‚“‹ôA086ú4æwÊ­ˆKkÏ÷ÊŠkéj¾•Ë–ÕEt ù‰’Mæ3xÚ^Òɬ#eº¾*KgÂþ¨{§îÛ…Ö’fÎRÍÍbîÏ°*ëY¹Ú\W¯Ùo>%Þÿ@ÈP«é©•õÔòÎŽ,2ÓUrìVÊõæ{žëQkeêÊ´·q«Íú‡ùm¨Vc*ÅìåØ	”ßÞâ>r–	ÒÑEv9‘FÌIÃ|h»MÇ+¹^Á®¹‚SvìBÍm–M×-;nÑn·JÀ(2‹îlî.ü³O§óKût|ãâ>\”ÚW|Z,­ƒ­T8½¸/–ò/î
–yX)uëåz«R¨—›Ý‚ÓnÕ
u¯Ò*´+^µÝm{n­Þ}dG)Øi–=§Ò©*EÏ+8;¡_«ªN©ÔtªÍZÇi>šÛV¾ø]˜7åµý/PK      ! bîhO             ¤    [Content_Types].xmlUT PìÎux õ     PK
     …‚8V                     íAœ  _rels/UT ‰KÐcux õ     PK      ! µU0#ë   L           ¤Ü  _rels/.relsUT PìÎux õ     PK
     …‚8V            	         íA  docProps/UT ‰KÐcux õ     PK      ! äîaUŽ  3           ¤O  docProps/app.xmlUT PìÎux õ     PK      ! ;œ·b  È           ¤'  docProps/core.xmlUT PìÎux õ     PK
     ä‚8V                     íAÔ  xl/UT <LÐcux õ     PK      ! S:'|             ¤  xl/workbook.xmlUT PìÎux õ     PK
     …‚8V                     íAÖ	  xl/worksheets/UT ‰KÐcux õ     PK      ! "Àdr‚  ‡	           ¤
  xl/worksheets/sheet1.xmlUT PìÎux õ     PK      ! 0þ‘Vå  ú  
         ¤ò
  xl/styles.xmlUT PìÎux õ     PK
     …‚8V            	         íA  xl/_rels/UT ‰KÐcux õ     PK      ! >”—ì   º           ¤a  xl/_rels/workbook.xml.relsUT PìÎux õ     PK    Ú‚8V0=¶=  Ô            ¤¡  xl/sharedStrings.xmlUT ,LÐcux õ     PK
     …‚8V                     íA,  xl/worksheets/_rels/UT ‰KÐcux õ     PK      ! ÊîËûÊ   A  #         ¤z  xl/worksheets/_rels/sheet1.xml.relsUT PìÎux õ     PK
     …‚8V            	         íA¡  xl/theme/UT ‰KÐcux õ     PK      ! Á¾’  Æ            ¤ä  xl/theme/theme1.xmlUT PìÎux õ     PK      	  Ã
0

Ale w czym masz problem? Xlsx to archiwum ZIP i samo w sobie nie niesie niebezpieczeństw związanych z xxe. Więc może opisz o co tak naprawdę chodzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1