安全研究
CVE-2024-12877 GiveWP PHP 对象注入:unserialize 与正则的徒劳对抗
Thinking
2025-01-15
2 分钟阅读
研究档案
#漏洞分析#代码审计#Web安全
GiveWP 在用户输入上调用 unserialize(),并用一层正则做『序列化格式校验』——但只要底层是 unserialize,正则只是装饰品。攻击者绕过正则后,__wakeup() 等 magic method 直接接管执行流,从注入走到 RCE。
Unlock to view this content.
ad8d9422966c73fee42096dad808c6448a272095349f41facc28f3d18d1ee66a0726fb5aaffd9271b6702e0ae53f6961031443030e63d37842b7356b4a67d1f44b648f709f84d99b1640e6f7a87a3d44129b61502fc0c5c728a88c67798e6cfb7bcb30fe880464fad1a2cf9635735fbd6e964b402ea4ed27e494f7c87c72f1c586b333a47062292625ea7240d146fb061f3975a6253d117e97272d7df5aa897fb9fe2c09034f658aae2645a68076992d7d9de07ae63e2fac88f85e475412988dfbc9237684cd822d6f0cc15c80dc1c718fe5b353dbcedca73946838fd137a3deba93112d21cb63bac5db1214ead0e5a97fc432d3cf30a94af6bb4d1db960c2bbf030822b561c5ff0a3d4b58290a173f59e75355b685f0f3deb05e3d2df0d8e7d266b78ce49e6fb2acf6fd6b5e9e4ffbdfc6afefdc715ecb9fef459dddc27294acada6f4d0f4b30b419c827189d7f807d50211a69b165413133d7903b3e956ac792fb15defb7e48ad51bbc2bd6c116851483f0e3fbeb4cade73ba131750f4a3436039fce6c05ab33b568d47acb91404bf22576f40b45cce63635f9ef46b850ef3356e25ebf91e2ad27f658a23bd12bd3bb97a2b80af17aa2ff923317101731c396178001b07b2c9ac88532a2d8aa84a693fe04004e2e6dc54943bf96ef6cce56d14fda11a68e3e345121cdd22d54d90d4810e4a4464d1d06280fbaf0c58bbf05ac1355f5ab8909a7fd9cc04b2b293750269736c29c885a9065e7c911d273eb0f189acbbd551441539df4b9968fc98e8ea6b75c4722880caa0c8574bb7d71a26bd07645e63a9aae58282d7953fd51cd47f0d03f35fd6f8136714e5c0cb88ebe1054d23eae4f676d0f123dc0994cc5aca4cd8f8960cd6891f71295cc09cee9f9a4959799402b826c1a043de8e149010a603dfdeb5478a35277aebabc8ae78edfabf2f0731bd711bc45a053dea17575e62958a45b77e3d2c230a13632b2517bed19f7a8ebfc0ea57e9d605fa47173b7cd7c3c57ed7659e5ff59be8ba08ef9ff9dd45f9f35f361b509e2f3b151ed07c36199bba1397db3aec6d16bc72f0e88e600760693999680d365973ec86e1f61839e4adcee639adf7f26391b2602609f25434c25f87969a2ef268622015e73ae172287a716ac374dd3e81c8df1673836d8907cdd6d0d21f0b631f24edc16b65f85d938c9000fd814646237add42553322e89099737662513c9d0300215556182eee95e2d3774a111cca2b05afd19759cad4f6b86d9b9401cab2ef2f43ea1755ae62e3ae043d03f065aad7bae6b0e94902d8ccda752bbcb7177fdeae981f3a2dc15f147499f498f96c6c7062b401e138596179a04245cfe4857b0e0a0fd6f8484f785a37d886ec2f7ee8b4fb972839eef2c973b56b4a7a341196d92206c69a05613b4784d42669efc2767652ab9ac70b779aa4d043751600a3da4212674832216b73020f4a285c54943e839b703998b6c802eb4be9547adf5f2b970e8a9cceaaaf47123387b0ea0fd4c0785e1e8f304821f85d982b23265e466033d9e11211c272e6603f66408f7f2367e59159f968ad085fca30a3188e9cde88a0322514d539d1b3d178255b6be1a79b0f7a03fd222da50c9f4c983544ef06210b30b08b4c65abb014d0b1813f4127579847e9c936987d516ac18faa8b3d1509bbaac81b216de09d7393dc0825a78d21243d9541a57af3ce6929e124cfa5d9ddaf7c9adf5457671e76ca75c7a099e87542a416bce75df033c2f5020681ff7b56d86deb29d087870a935f58c09cc7fcbd3018fe6c4146aa8bed93dfc13380cdb17a63d5666243b3fee77d4b75596da08637a2ec53aa6dedf10bc91806b9f2422e66d10a4623a9d45f0f9c3a2a52a7970cbb517e88ee30b463e2cbd297144ab949d87443f9f10c904ce81c319e37a2725c864e2f420f7db5fe8ab98dfa802bfad629cd0fe613a84e10cff2c63f1a11391c7708237732b0b521b0c330d9be51c33728c9acb1d3a5ac8156ed065214f39d013dae7e3cb6eae44ed4515de4cdad0e87537fe801fba166c12256434bcef8d353a526deadfee799b74470e1a58b5c136a1c7177a590e704602c646988119d7817ea42b5b61351471fec7291818b4189953064dd96dcda2f16bb68d591d693e5b60c52be6ddf852101eccdd330bd4e5777e9136f588201f93b8c057274dd786bac82c7eb1cdac0071517b5b5577d7d11857dbd66e308c2965824a34f3aea20c1a3d13f2f4862fc192d404d28219bb6cb7a51437d5022412182d408473b1a938cc82c9628361bb163eff54126d7f65da5a6cf45bf5e584060a2a2b1ed70450d964241c0f37d625ec0b4ffaf40016fc737ca15a4a20935fcae8267558707ddbe7c1d0b2552c11f66160af77ef98b6bf0c8a96df647129adfa822570a309ab3022043396b46598974810339433330bc58fb0a4f5e4f9b49c3fbaf0acffa4e05ad9fe79f871cdb6ea7f37166d7be355048e7714c3f4bb150bfc77e22fce0c6e26467e6fe3669c52673e565e3f2a0f0bc43c2737fe556ee15d53031338565e664729fb5f787c2466ca5a7135c7b83041e68cef15b64420fdb8ef17ad71010122dd67f6d56826ca64f29453ac5f8bc6f5c84f9be6833bec780695187137bb358df72d48b40dd27fa18405ddb32acd92e7e469ad09d28fd5a422a3a799962a1692c168f305b011cf553c86d6e12fe8ef20ef20d0571b129774d7aa5f65e2fda7036c8221a69c1b1d1f9962e41810ec31df56fc5998d01b814d7201f6d11f11f364b0ae34b3788a91f5467a546bee96298a69e89090b53a056dd0670d9650e002a2774ff8ca4c47df4bd6e6dd2e16f9984405ebc8a6c8c5959aea2f90ec1673c1b3a3ba2339d3538335545fe170d61a84fd732fc130031de3124dd5b5e0b366bd9db231efd2093f05c77742a916c382261e9b947a3d2392e7b7153fcde870f8f8a0dce51f019ff4e507852572384d72671bf0513d2d51a4b048634220aa47705db8ea2acf37363c11350eb6d46f3ec5ee38c88f53153e8917182eeb270a7c8309aabbab36c17e1bfd316c8917ab4480be432d406e511e3341ac324e4c23ff0b39f2fff4e620aa95018ef874acd03d1e5d1204c8f2c9337ab21bbba5f9bba5d229125113198f48f0bd48e1183c0cff32c87ad5aa6e0f2d0ed0e4a1ffc94d868e33735d8ba5705ed9ae9ddded27c295f5f93b1fa1f81497abd6def12d70329ed91bbd73c7de5fa39d90936025d70425b51434ffbfa8641bbca18c8c76b8426f81bb701b9d575bdebfb952222745c1ba508351484edce033bdf86708a6c8fd59204e721c82c5c85a1625c82c6cf2b7cd74204a5c3cf21f20e317d70b8b397796dd18aaf751ede03b70b392932e6c928d14fbc9deed053009b9e4e67636846deb1ca052d8fba3a0085582a170a80c8cab21c363552e40af9ca689cba4a3f15ce800038cc37fd3187eeb1df27a74188c0da86036fcfa758f2e4a1f111bdb15226768a67ca7cbc606658d7be26c69ef32d48dda87e274604d3c687d51f9e3757afd53703fc3693c9a46cfdcfaaa2bffdd1d2a8f220d7c86b34e1c23f5e21494f39277bd893ac94f89f60771b98a7ce54ed1d3933dd32ec8e984eb1a586dfb27e367e0517a403e3132715816a1c32fd1b8687336cd0e635442d9af526c522183647a03796b10cd52aaa75ab40a4fc36b792155f141c697125df3ecfcfd58459f1095971e5efbdfb5f8dd421bf3aa3ae1f68d90ea0b3a2b8496de1908123243751e0e4b7ae343e328009190f145503fd11dc5a045ca3ea1fc24bc442e08087dcee47bdf80acde5a09d11293a1bc59a9e295380716cb97cbdfde89ac2e3757de5c6214c5d70adf2dc76571656a3b7fcf82bb4c5d89cfb3d8816d81a4d2e058f85b1f83b16fcdffdb652e2d6b0d7df51f6a0e2b9d8bd8ff82f8d4ce8b014fcd442d5a58d89890bade1f6f9a3288278d9fd9b7bcab27811fd73a60104acb5bd018414cd85ada19e924366c2080b9e1329077c8047c194eaf13e7b9efd987ea832c75d3e1ea2638745c5322d87664e81b187d184f9da35851fd12b9efa881ad25e564f0b4f4ce0b673ae14dabc532f43bd3adff256575af5e13a0a91bc8b0ff1dba21bced0869dfe73984a373a3ea8f4c8d221a24845d8c16eae7881066f4e9e7c9ecfecc2284edfd1eb6f6776d771591c7b0c60429ea68828115094199719643844f11287f8ad117fe51655a8493e27e0866c2b2d25d0131343053f05965c0a34bfb413c72944db5d78db02e05c8d6e31a2bdeeb954760828b48cd9226d6887fd06b5e251ec90cf76d4407b0a49e087a1d3aca4734b7fc6474d14dcd5108df9dd1187dbd70bcb6509eae4a6e0d9b0bcbfa513a4a6bab33bff65cd9d5f9290666a4451f1976d40012be23a07947ca2e405c121cc85b435fc9a61fc7deca8d733dc4d11dc26379d6daea4a8df4e067d147f53ed91e675fbf1da4818186bf5a3cc1f97dcd3115c6d95dcf54e3ef8b54575a55e3acfd03f907fb0125fdf754d79a4bab9c41fec3321b3b86cfd44c493e4a159817a03efc388d4480ecc9646d245da5a07572fb427a524220579b9fb4b054386defdb6abaa521ef8aff44394a9a89d9775b366ff817fa6f50d16f37f7be91e6e25886dd7a3ec96b2a8fa1844804c5ebcd753269ca671384313412cdf5863a1a8ef2f3df513f43edf7827574a92066d4d271e7e7a6638bc6440221d6cbce70e1dbff47e584bcbc57ae757de814ab1ad787c206aade2b3c5f81cbc9f785d210156df0bdd242247ad40dba2d827db8d486c090da5d085c240e68044cb40340baaab3b31202eea62fd9375518426bc885bdd8f12d70348d83e016081610efab0ced7189693ab856c1323960943d4400e22de88364a859d3bdb403d3bf1607ee8640ea6375026a14d141e7ffd8947ca7f182b19c4393e46fe3d604b4f056d2917caacb2c311ae52601df78b13daca2b5746fbc96c42e75e6611276e650c4a416bd9f7922a77af1d2ed11d0c2e08bf4f14518e4c60ad598492970136edd5c9058009ca4e59385ca1ccffdcfc030dbf12526c95309ea31c7f3e55eab420736db26b35c9cf98dcc4d6387b1b8616362c1833b8d87d544fcde2b0cebc2d857a820479578297978ec56407c715b2edda8156bf6bd98270a911890fc49f19ac1662291e03e0f34d4bcd187d4683e451bd117c87c4a073b05e79439f75870b1b9f031dff8e18256fcd1f8e0df6b27104f7a6c9a70adf448fa492e3572dc9cff6ebbf906306960ccffc5bd956dea822ba58ac758cf24889813cb4ca1e62ba299c34344b3519ee9de1e66789d00340db32deb28b6359b2a26d6f3ddfec16a39e7306031e2106e4dcb8f8e96058497e77ed0279ffc226b28ee1b23e5c32f9522c893e31b70be5b937c6a03194a65410b2c396601c574474455936f1726d20e886fc70f42f183e1ce7f750840470e15ddfa44b915be04fc5f6c70afe61c4693f0950759b4c3d44576497e3375cf51f084b400f774f45590311db0d1cd34ba0e6541893f8a58ca706f24a6bc15b93ccf5bda191c6c453d5a22516f6c8d488f2555c39189677a792ac3316cb8243b80932789c6f9aff810f6bc9e20e6e03a6e091652bacf42d3badb0e37036c3c5c104725994aff98eb4d49289ffda1a3c61401fdf9341ce98a614c72d7d63d1941d57cf66c2a18c8700540e76d9119b8217a2995d43eea4b2c02e1530ad3a3c183e1220528c3eb3d922f48131a922370cf6253da93c999d7486575d7e7715177926a1d9c2dc154b5aca99d39267a0a895923448f941660ab933b77f70e59293d64d5d43c0926c4fa7a9183ff6deb9a395128c091dc8d1f49f5c45bd1f2dfb4c52d229b8f4b7d4422dc8cc34010af6a4385f3bb2d9daa77019a750ce159e43da528051449687bea091cfa5cb2e98be1f96f988904d4a194a44bc07835bc3a8fda3a0511bbb368677c5d348949829218ed11a5eda9ce58ce1edeae05cfb98e7babe5ec4aa7fa9f73105b879f7d09e1932a0213c049f920c7147d727266f7cf375fc428fc957f258f5bd219a1ccf1171d9713862106316ed4cc08d1df9d3b4331525f7e4982fdc8f72b401f516aa49383e944bb9c994485629222246992c4581c7979094d658778c2147b94b4e3b5ee62a30825c9bfd4209ec990f6a671bf47fd7cbd60b683e29e68224a736bfa8f7c46416e989e79904fdbdb5cb5909be5b637581e6b65ff3e8c09435ba77334254d42f949abba19c6d8812dc9bf875ab7a3be66678f22c5f6651272a4f13e452bf98efaae9db449109714556bc8f8c12511e068539af313ac1ffaf657660a6fbe26e78d6698650ffd2f886fc09d6c9599a6b1cf1ab8ee8c482a011f76a539b138278cc98d27d3297d69e0a2223ef384ea79a1eb34a736508ac95621aba5a7397decdce3420ba741d0ecd0b53e7e6b71b1d7f332a8ce6c546f5ff83f85983f4e09a3ce52a2b3864b0ffbc055125155ee37cb84f68bc8e262053baecbadd08e25d3de64a6685817994b0770f54dba37f6955e0c33d374656de00e1796ad7708f591078b9eff7439f149a4687cd5f3dc0618b6deb49bd88f0f2ef64324240948cf4da5a1a77ca10ab06437fc0f6afa04fcf6aaf6e10ae3d553167d64061df17fb5baa521b512dc9143511842f5bdded1900fa076fc2d54a72483a7a29975564968333fda2b587473e671a70eb2a2a38307c9a87f8175d0bd9044dd20d99d9117203140d574d15628484b59464556ce6e4a1bce4e6b26c6b63f70bdc89ccde25e46a062a63884d76aedc6319d9b96ef2219b6dff89c65d38300d55ed7617ec607c3e2da7a307d0b9001e8b1fa3dde72183da4a521cf9213e1925dcc38c813311d5e62da6275f72969fbf8dd6028856b399b759a947e1ba50e4b41855b779d56878d7a20b61488baf229e825b4f552d4513e7e633d856691a8c6b291ac0b610ae9026a525153da1120c64a5086977c76603a0f133790b778f5a9c6d6acf0798c0d135b5f220238f162dda6f60798dbbbb522a761ffa20ad552da0d8039d368e351df2bedf23a6069641a6d4b39c203ca592b9f7eb542b5b4109a7fad9e9e85189da3afee412235fccfac7b862e86196d3a97d531fb9460c31bddf2facc1288f3c82e6900e2a8a1f5443624aa0eca4be011f61d3a1f458973f8143c9a9fb57e8bfd4a7c6d0246d47622778d4e92592ee7c9e14e20f50515292a5f43a95bd7c045398dad4f7f3eb80eaa2c9f7bdf45677e9cb2dff9955ba854a0c2ad67e6a5889d38cf9703e1edc217887cabeffbf379709f6b9be0ea915e9a97b698b7070a020e3fe261d8324c14f8793c6364bfcfe7fe2c58fa51799ba6b9350d33a95352317a60143091bc2809dfcd3bfd8843d7d4446035b8b3be8d6098820c0abf868a6650dda05d50921318375ee20b7ef09e57e7e64f36373e29084599723d0f5db40eb1f46e232734e290bffb29832e243a6b29ef645388214e91af3c552e4ed47e1897cbd3c5de480b19fb4c4d8f25eda035afcc93bf647f2fc19e60d0d7e01c9f0572e6b411618eacba91781fc7f0d053e4ff0a612847a3099d0e9499c830acc5dade0ede945f326c6996013383fa5121ac1c83c4b9d45a5079cc9b2a3cf36382e238a8ddf94233051e2a1d5d3d7a75591019e0a4b5d32fdaa487c9db9af4e37ec8f0b6fee548b8bd7340ffd137952c9dd509b38d002f08a18fd7ffb1e095f209f412c51be933ddb65b39ecebc067254e7e2f6733af5ff2baff6a3cb5aac1d4b7de78ace5c4658d7fd23a583bec1efd042d3fcdf143f7ee2499baf3dc3060e192522361a571cbe17155a67a77108d6e1b18c684a99d1baf8c090b2154dd045a927e4ff9c36cbc1251d3196ae85b7aead6e46f8b9b9b0a78165f0f705f38afbed4850e66900e83af3cc3acae337aae0ee99ca530873b4456bb40ddd9cbfb3485fa531ba99429ed73c60e70ee2840fbaf62a7cfc7020342323b8f4f451695d3e3e8bc9898f7c967dfaed0614746fa876b69a168dae9883e1af5af47265068ee48589bfff6d8e5c94ec88c80d2a2a5028ddf5b927c3ddeb5fa89caa4e751503aa95f915dcb5c720a4e8fe88eeed646cfa8d0f39ee62f058f2fe8f317305f2050e2de05aae1b8e55b6cd441f5ff71fe62b6a119e0fd4a13b3113b89dc747ddee218d251ebc51dd0fbeb9673e5eb30ba3e3f26ec1299e6a151c723c2951392460ceb6a46da8aecdf17b032a31b3b5f70da25eaad91aab88c6df216d058d73e11c89d1a23f1a5c6bdb8cffec7ce814553220641fc279205426ed53559e10f29b313cdc1a768ca5d27dd05dd4bb8d5eb328417d04502beb40f9fd5750defe7721068304fd7742fe3ed72627e030313b430d2108b43d1f58eabec98420b77dadec72bb953e3d2e0bd20f8501e1ff7c0e587af7842acb86bce937a5aec437fdea46b2c97042605524aa5b73a31803f9632dc1d2616db613953692cc951ffd162662a1e9be598819058ed6ec7bd34ff5290ce74bc1fcee32840eccf190e3d65cdb5dc138d418faf604c20e62decd3cf22d2c059d2694f666dfb1c55159b39b54397a3ae033e4baed224281df2be239f61fe2fabce3f15fc58a40bcc61391544dcb49d099024fc75e78954966e0812ada93bc2eaef26c1f62501fecc4f79497d0cda2698d1a843ea9cd3d09487091e2ec76e2b742d38817f5b82cef986bd6a1d1ef65cdf0fbf43d43cb23946e8fe16f3927d53019c3f2ed98f6157c718a74a0cba3d0c9cbfe3549059c800d545131dcbb986b66a4a452b15ab0a9de1d2a40e131d67fa9883e1f2d8648d032a1ad307e175dcbeb7abdf1adffb511163a78dd9ab5f4f436037fe871046b198b36ddb0868a743850b67bde99d9fcad667331efa4ba6faeb015f34324867e357d6d021269ef9a0b330eb28160d23f3e4444f5bd7d0b245b93b2126a301a23cdc1ed8882422238a7e8e9e29ffa93aa9f68d554a5d0235d4f7bbd61c309b8aebaf62c4105e84af447cd999bc92c9214385e82a5697570c539b0db3f69fce6d19b02c8b689aeced80cbfde123032956bd7a3657d2d60363cd2f55609d8f95efb13c9a44d781d2702e3d6bef848e32355ff32ce4d225c032bf5596e7105c74fc81dd00da3a3c561c1045ade4b5b7bc55a0a61d1aecb8ec98578eaefac61b327f9acab3bb0ef9595072442fdf465acf7c1b98c63b9ef294803dad2ef9cf9db3657aa844e359fcc4e3e65652b4318d7cad4ca999d4a4dd629769da21bd06c4ec5ebcfab97f58f0b12fead8f0db72676de84ebacd1275222cf0a3e987cca21e51ae3207fa4b46bb22f710f4b43c10987f8c77b37bfb6fea82b8455254d9bda8f9d4181863167b638d5d34c06c6e968bf7457c80021c19a65c1f610d6cc93c1c007843d4e403960841bc101547f18b82756fec5905e0bfe389ac07039feee328f2d6a216d73c20cfa1a878dc26b2c749f424aca3e2038012bd9b9669a2a75b5b419a7a86788b7d511febc5f5d359a7db96ab623e5dabfa6e7ab895707151589ea1d0c87ee6ceaf6286518885bc4fd40cc1de8df367921b5c0d98e03c301ecbf373e7e1670078430c8aea533db865a3d3497d25b2915b343d666620d1c2677de72a56385203b0748ded8e76c4f2bee82847025ca65ea590e49af91d7ab8d90ebe99a42718d3960afcccc08423dc76e2bf3fda4374304ae767e60d196961c0fb80c7d3709edf7b27bb33579a3406eac756a2d6038a6a9690313c88a6584e376ca3c74b642e7b7b19eb74e1803d47ffc3efef5db27522d03647625d234ddbf4061244f892d8e75c1f921889cdbad2486f3b6a361acfff61959a4a6b963c45e9d487a9583eb16b7ec7e70388dfc1d5c207879a47d51311ff1caaed0fe3a8b89f3e510d131da50cc89b516ca4f0cbf94746a4e43fe6b621bd79d2b6da7102173994d393deb64388fd343d27270b4596c7af6b76b5b611d643aa2101e65f9a3362d4b99246db2b77ea29fc0f11365d42aa93df989e7e968a3e5acda5fafbcb1f8e5a890f82a4e19c0558e8a0a5fb5cbcfdce4ac6ddc6bf10750d466f725a1a8c77f1bf78dda3ad884ad340c2e1288285ff68d2e848df192ef294df389bfa8c6f363dc025ce1910ce2bf39b20937aeef7e342f02026534d841a76eba055532ad374efe9db971a9942dc0c7ba83aefea10d1bb0c3f4ad600570b86c25904f13d90618cc58e9e5c1a23ec0de1a74dc8c39ca4f310794457c05169fc9bc9c841c45ae40647ee405c829a1b011d69e44f2bcbc66cabca73de658fc76292b5b75ec89f34bc90ff6b1351140a43f7734b17fa5a877ae8f974268244054f3c4d71e1ec03e18e7e08745be96523610a503779554f69de19afc4d9109330319aeb645b5f40d18df7fa3e029bca0c5aa314ef8f0179ab1f0401fa76520ee118a23bab42b8b3e71552ef0308d6de5e23c20ddec000400033bfc0c30f7e05a84dba41390c4d2dd4cfa10252fbc18f2ff65d4961a86162fe42f123a383660c4dcb9855da6447a96cfd08625a0bb99589e263038478f34960c6eee59d3d2597f9b2577ecb275a1dca9edfec4cabd3da7177b5784ecd80c2f55ec94eac26196c7fb48d27b42a241e7507abdfd4f0367b070530af4a7de6d62ee92f6f71f22aaa930311cb728a565fb60849aaa19b3d41b35727497e2e7ce56c830ececd0d09649e4df35eca6b8001224c474c12a1569eaf204f67b6226a52fa5660f40030ff7cd2eb385ebe4721e8aab9f4d5c58d781ca4d3004dd1fd8aec4e6f98d448f377c362700