安全研究
CVE-2024-40725 Apache HTTPD HTTP 请求走私:Content-Length 处理不一致
Thinking
2024-07-15
2 分钟阅读
研究档案
#漏洞分析#代码审计#Web安全
Apache HTTPD 在处理含特殊字符的 Content-Length 时与代理/后端服务边界解析不一致,攻击者构造特殊请求实现 HTTP 请求走私。
Unlock to view this content.
ad8d9422966c73fee42096dad808c6448a272095349f41facc28f3d18d1ee66a0726fb5aaffd9271b6702e0ae53f6961031443030e63d37842b7356b4a67d1f44b648f709f84d99b1640e6f7a87a3d44129b61502fc0c5c728a88c67798e6cfb7bcb30fe880464fad1a2cf9635735fbd6e964b402ea4ed27e494f7c87c72f1c586b333a47062292625ea7240d146fb061f3975a6253d117e97272d7df5aa897fb9fe2c09034f658aae2645a68076992d7d9de07ae63e2fac88f85e475412988dfbc9237681cf8d286d0cc05eab1afdb80b1d7bd06329a8b40074c6eaaf23ab84ff88c8b49900db0e0c60ba17ead4e5a75302f2307eef2644d7ab4312a86df2aef32f89255a105ed0951b594683d755c8cd256901eab3e4a132a22c85c16aef5173105966ee0a36ae33a210cbf2b85a56749e0e7e04c2247d0272912f518f6708f7be317c63fbcb1bc051240c987fa57d52012a61bc56430602de8c0f3b824c547a1113d1d0725fa651bcc675aae2ff9da6f7cdfb3b6d204d06827f5c689fd7780264f9aea868d05e7859d27c5898da1221707d87549755b988d24503e752fcfb254424fdfd1c19e6715589239017bc0cb57a37a0ae05802edd3d32780f7925106745121d3c85c8a8b5994806eccf642045dc0c62e2bdae7717ad06877f0c38e1b3adf2383bb9c82f5d04814ad1e1281b70878682f51975ae305869fea23029a553d391dc4b035bdfbb8713163672b28c83eae7e2360569d5982b9a527a2fdbb2b3f0f1fd3a1719668f5fe024cbfc1a3edba6667929d14c6a7ab8fb061ebd89bd7a1d0044f0d59adca78ee50e83338859791bcf15f6a7273a34b7a58aaea5cc076e75cd641dd6d2d467955f8ae65aca4cc4b085109a811774645d8687fdcc9c444a698f12f43bd0b60bd39d159d51ea524d0d11c069d0a3aa4d71793864e2b2ac312d31a13908c419497ca500030a30939541a57f63667c010f722f7a18b79e9479d8e40b3fb1622dea7388b1e186119e897e817bdc2b81eb8cba0ea3cbfe991ea1e7126c4bcc518951332ff339bfc44f348f7b5ce92aa6eb43f33816a37b4b2a4b3e9b2016031732f49afa2e9cbe2f38732f9bc4a4c6afaab2651808f14235cffc646513e625e1aba117d338e06d3c71764741a7308e4d21e0265a4ca47c9121295c23fd85b2d5e4638d316037e65c601fdd0819eead9f9e3a0d0e253efddabc0c09361e4fc94d462b5b0f794ded99e0dc4b79030acd397882d78550c786727dc9d59614c8f6ee6341ec081fff0c2c32bf74508f36ef99bbb4fce35f06cfe0883b3df9eb5277df928357262bd45650629df2a2fb2b25b503bf4c921ff1ce9b409be23e3807ea6a454c9dbd1a4fbdc2de567e7cab9c26222a29e5f710d6c360a3585032290dc25a80f74d4fc7e3ce9d43575636eda5f2e1168ab8ad5177522b4785e4a8ca5718146f34422f32256443225c3506028e7b155aa5ae437802c53ed92cc537c7512a13902f737e0468cc9df53b1d33ed46068c979a43d4908430df65feabc0a4caf0d05e3ac0da1f916bb9c8a1eee61e280e516b3ae007068bee448d38f616361b2f3af58b840de51c2149b1ad8295770a3595b0c77ef2dd29d829c77eccc669caa9f9cf306d8867a4d8a43c4b4978597600ab21b0f77eed740c26e0da2e5f92d5af7e22671a1150e691674a5efbab7d15cfbcaf52e83cbf7160e2fc1f7bc922302ac025153ea65760df842e6f98226b0a7f55ea9e650b9f2ed6422af2c22378befc59aa60a6d0f7f3328096af35151b206685cf7ea0b3c3604560390b49c955c0824476d1612508266b7fb83e7026d05de57cafac19d238aea503c018c10276c3c2a319d9a9a54e0f848d66b0e5acb19542b0137e93ff3bed2ff8d5ca9d1b5ae857da4548faea3f9f7dc8120cb8f07ca71db56e1a42a1bf664a752f442a6ff8657fe051aa3696364e1ed4fefb1f1a171fd3bbe8b5c260d1bebf2713985c4fb8c901126b5c6f594e754e0dedf6e3c5105b6737fc172ed296e71bbb46399bda169e668ffd21fd72728853e9c9dabd19723295248e8fd8c694d0b10327fcd5ee5b99a1c38ee60f3221acf7e4ebfe528f7bfedd4f98627780f481950cb7043826d67f6bb0bf3b1634757d56ab648ecdb0dca6fd0e4c9471d0c16857f2d19765a35d1478e4016f169d51ee2d9a016165d63d28ad99d6a353dace061b59a98192e0ecd436d074db7d5cdede0876c81c69f72293e6827a725e68e2142043583e7fcaf5db7a4e0422c7e5adeb51159999ac91524c8066906f2a2f77ca4f33fd8f1f69f1296e35459b5b4f5644cfa0e5e4771b51c41207dca43c241b0a4d14e1630b73d74586955a56ce68f01724958d0bd3237b89f8bae69b076f5e43a746b6482db85767a551eceef47bd8973e54082f9a83352075076b59788273b901266af454bc2da50119364af120fcbaf131aeae5c47c78699f6bd44865dea5b89d4165afedac221aeb56d67b5768a9b3e22feccd0e0564fe8f92067fb1075c44be4f1a0ffa75ec25572e556f117f62f30378c65ef5e7cac8ff4bce1455dacad13487d8c29c7e81670aaeeaea26b487de411b98f90c90ea7e2b6028634cfc5a5af3b5576a8991f1c5a3a009fa3cee09666d7856dd43c9bca9a2e9471e432405ddb32b0912171419fc7d067a411466f2a709963b13c230a85375b4d02f759806f2358730511851fd7527ce71069677aa5f65e2fda6c7ec766107380a1cea5c72f19d019c71cf3669a948a58b356cf24506b12bd55b681fa26c8da3b57888ef9394ebcb561919e8b89ceb1f766d644df8f10f5b6cca5c68bcdc1e7d570e2f8eab008a9019885405eff9d2eae4852a7a2b310c14e0f19103765fd4da5f3eee0c88c7811e77cfb62ee7c99c943cf4266c20827264a3ceba47e0b9da05a7a94b1e1d376e4e9d5e079108fc2fd65487b3037c62cf331acca52bf04b59d0aaeddffcc9175abb6766fd147179cab2e1058bd73751cd60b3995f580fb7ebcc71b9b51fa4f46effd9b347f31487606dbf81daaa5db42cda624e9f2aef324278df4ce7a96bb3aeb536e800ebc5ddf79981f50943faab827a1cf9f46964b03a278ecf32f4f03e680673311e5319f41f52f3024b6985facae522c90261136570040b81f30c5eee76257c573f42292a963755fcbef8c3a3a5db143f0bb34008e960b16275b3c77e8ecce3bccbe9e9730c59047b57c9dfd2948bdd0e4903d34db9051ed24601010280d1e135e89301410ad575ff2280c9947b7019e30c952518e1930611ee58bed9a950fcda4eb50610b88c028d50ec7709ec39911b80ec56f559ebd27944a134bd9a610d174e6de804bec91f88bd362013abdf5714208e1d775c937df81a5e20b5ff45085494cbdfd6626a8d68ba6bbfa92713a10dbbe4d55a8b600c8c3df866f03485ef7465a1aad4a69179e0e1d0d603ab2f52176990730a67c093c15be099f4b760623026af3a764c6e48fc910bb995f1a7854c76cb425edb5e14418ff3f259f2c3a4700a8a50877c2a1e6fa4cc711991c6cf6c907fa4c0d1cd92363070d655b57106136ba6454bdeb254990f2c2858e8d81de93cb9afbaa99282330dbdceb32b402d98409ed2f5c7fdb7c401d2c26cbdbac85cc558317edc8e949eeacb633fcf4d73f0b92e842192cf8b9163dee90bd8c7ef9065ef25fcf65f63ba92c29c77f63cddeb99943226786b41c2157df7b9b70590188e835149a6d64ca1dec0929d907de65f3a6e8e0590f89b0dc492b4803d0861f7abedcd006e7e2c5c2b48524f651ff47308f6eac0bb38a44e8969083c248b2fe14c1ab2f1a5268016c69701ae0a00bfeb63ab9577631eaabf42e27f18671593a1aba8760bec3cfb52d4f7df32fa0c5dbb2f40b8fdca122245d06c6e8a9a96d3a80bee0f60ed094e5f08c22c40472732f3f6d17aa59a8766d7794d1ca1c5652100b8d6b556d3c04b356d7387162ea1226b99e15c9458b87681ce25ba57891b4f2c4a3f6326761e7c57a80dcdecb0b0ebc94734efebe1c1c68f365f8002c0a73d479ef04d3577dab0f3997d3ccf9f79ff48168d110ac7a1916e14a8bc3d909627ce18948a928d3b0750f4fb713dfe66f5761cf24ffdd21540101dbe4a13cc8d9a6bd12cd3c89e7f423bb9bc717fb7af99e6816ec21971895aa8941e870712b0bd8db132d7ce5c5be48abd1c3b48ea5af546854aff6be199b0fcbf281ab5eb84e3c5397950d9eb435e3d6e7626088f79899069dac85a8a5cd03dcded65534d558c5e55492ce65c95bbd1ba2f62c575cb54863080aab85d1266f4dbeff2ea127810e181baf5f90c0a2942b0952366ec05f0418c827123d809f11d4b9d875ded5b75deb2b68f7bb097c013932753e79fa88c8c5328526d5cd248ff83d4a070cdcc12b695d6bea457fb635f7f15a811ba5e8995ca1a836b46983f5e655827bbc7ac3f80c916833051121627a007707bce3a651984324044312ae4b4845c91f540f93dab91c6926f9ee4773a97fa3622dd50a89f90aa8523ce811167961ccb1bc1048dd8c171dbe47dc21580a4b845fd3b87b32432fc8a07b709822e17fd8cfb972a37eef00495372d687534c10baa11d54d7fa2b6e3e077286203c71243caf0c31a99d1bdcc4644dc583d703b2c5ff48e01b602a6e5ec8ff1b50e329d519863c201213b0c4a6cfbb46df3220e2fc6cebc6198a4a90179692f0cdb63dab190646224a2166940b030c7f17934bbbda633d0c7d2a5103ea2d905e76a2386fa9e2f8c4613807c5c232beb2485626375de01f33b1a8469270d8a7e4e10f75fab8a6039adc87e75ee6b47bc9432b068f873405382df164387fb2e63e44cc9604b9b56c8b3d38a12f4b38b50856ecda5873dc6f632e5eae938ece60539b2c3d4395b8703aa1ee60c70d6d3a8c1074b81121e16d424ee96149544ea4da72a993dc9f82836234289c182a296450391255b8a42ea45de9dd97867f69dc5a25ca514ed024f28a63869f90e79a87dbb6f7cb337e40f3f328d1a30ac285fbf95a93fcd807eea606ff8ea6b7091edf36779bd55cdd4f52294ca990dccdf203cb11905176a7f86e729893dbd570de4c761dcd6346a0d5cba4f29466576d1cbdf9cfcf19bac2675ed92e17d0a6cc7fca221e48403e7072303aa22f21a94fac510008d0bc7acc844c8113a634cab509a22579281412e3e67b43e539572ad3da6da11b0f170e47f96cd5b7f339b23d6a5c81484ac0f65f3929950fe8bf7f79fc7ba5ba88e4338a0eb4f6c0c81570ecb65371797ebe847bc80245f511dd2e11cd52c90efda6e68022cf6f8c875c52c355987b73526c41fbd66464a86a156a01977edbbb4cf7ec054289e6ff0c56f56c0c94c2cebfb72c22773e334122124e1a05ee7f19d58e7bb2d093a94d331f9a2018ee653ff7ae18d377ec8af40bd90302cca0a53f7b523716561043f818312ca8dcfdbd79e1d5b4e21c74c3629d9c33c1155cca4a3cba537f306a8436fbb13119622759e02a0b210447f491252a9b106503676f2160230a37ea51c0e5528552229cfb000b790549d37deac5099f74473a4a667d22429c3629e2fb759cc4e44884dac1bd79d9532676ef920648c26f8ae4c630f861020be9ad456df2e9f6260f36d6ea0c847015dcf1e1d0d448640db0131e8ce98b8fdc918fc7a2e1bff3066b60b68823869be940ee72e1aef1bd2e1f4ffa1f134b59acf396bd5a8e48038d4c08e78f5fffece0736701f16e2f757101899ff72acf47b9312baaa6031c0dcf213cba389681468b6641786706f9c8a66569039a84939c7f3c87ed73c8f69cd26047980b7f483b8a7ecae2e490aa39c292ce0b48dc8b2f6cfef5450026750f72e2329e650d3929d3d75e958130f112ab09f8a9829e3a15be98334267fcec665278c1f2b1fd6a53fa5261b379ba4bbb78c3fc6a045d6906270acf349e5cba0b35df85e08db0ef82f63ff735d4e0a4bbca0e3df17e961cb5ed06cf8b87e3ceda66e5521a2d4d70341d71ea545dba8d1ebc480fbac7ff91827f809ca3de9cc04e60200effd44f3463dae0ce8ae814bc7ede220c86240c96fd6f8c16ce097cba3430690b6a4228c754e90fe7dae4f495e9307760a52c70f041c13ed46ac0e4df14ce10056c938aefd949459c7612d6cf9d597407cdd168a88d35cfb6c3d232c7e439841021bc9e223187be8df769fc116c70c4332c922ae33fd8ac392c2f24f8cc0f1b6311c0ad98d4b45547e450062ba58739b85d096297279477075abb7b999ab780aca46767a354533ab82c92f565ce348c0a123c4e45754c76bd5fcf2830ebb5dc0bd80e1406183d517e9d9ec8ca1a5feb317286e83de3a4a1445612fb9210e851ea6c1f0b053beb5819aaea0454b8eb1923256d1f9921d0db9a00a476fcacd2441596d6acc2d1cf66d883c38e539f2517e7f25b531139e9eb831c3d125193c52fbac78007bfc9060d24e2c2eebf9d410110cc3b1c0934d02836031be52ee58381a9087125928cb4c8a872dc4fc29d461c8cc80afbedbadf2ea44255860c25c3802a07598f87bd532f82909f3838b4ccdfd925db65b1c75cbd5bda8c17fcd3a0158370ec62d5a3685aad45c13fe711d0b0a996fe3f6b5d28f7bb87ab494827d168e3372cd80a7d435cd27cb03a83ca2fddf8a08227d6980183178c36b8cbdca271d188b01d8a80400fc5946bdfe52930d1eea6a5cdfd02bfb3194fb6797a5568e9baa1b71f8e334dae92bb5de18b37359674a1b634c52370c6e997c692f422087252334317a389f1502728493b6440856f39d81c94e0ae876472acdb6f00844f63b8c12a16e6b564f0789d226e4852cbc1ff8ff13affcd03a8a3c0ad6371c27437c5900e925e3222e66b5ca9a7c563dcb3c5e5170d5f11ed9f5a13ca26faa0b410fadfae84be0f891c703daf150595ce3cafec4044f4f22e9fe345379eb9ae0637fc1651bf84aeedcfdf026cff5081f6854ad7961ae3b113a4bf25840214099b11374bab31717fe16aa8580af6e59aa13ef84bc6ec117cb7ae25fb090ca98f45debc3489a7a34d277db3a699b42d982c8f8dc9931cc26d8e5247d3f98505da448012eec7fce0187be199d1afe330574924619449158dd13aedfa5281e0556a6f8382f9e91ecf04e9f8cfdd8fa96d82ca42ae994c9ab850b473324895230444744d2af1d6a1d9aebf3f3761caa2338d438d4ad81e2d5851ed9ad4a7c63cb9f38f2939199ff968f5cb0350d953e1e75c59bfa7fd1d9ba8700c4895d8c1d9fdee81e9add7fb91e85557fe0ec32103aa760eabf4a12c8fa7f8eb8a9091032e54bc061be2c7e886a15aff06a6c58b6fcf0ebcd07400dc5d18fe17869e364ce00eab0b86f0933a1594ce0eb7eff53da54c2412f76eae46ad754619d1a1bbb3d719035627450f5e843d7388c1472a9c46bbe95ce115a1efe323fd7a56ab117aa4c9e736e264efecd8689a7709fc2acb9a4e52c448ff72f7bab243bd7c6e805b6ce6ef9d4b7858ea70c7226b3c18deff48945a971e5cd620b04e8fee7fee53639bf486f703025c25a853fea13bb81b6614cdca3b8b6b8dd07b98c3354c67374f17234146f4c6c0753cc6575d267cc658f8f964bd8f4c8e0cc220cd5e403a64e5f52edf76d195bdf44c92c74b4ec081ce69c7528ecbb3b392707e7aa1307a9686337151e8a7d19cc9ab129a19dd47327720efeec7943933438fa1253dcc9410d56230992b1ae1527e56cc56897355d4d37f18a92f9272c7e1d8cf408ba2c8b8c72a8820b7b68df15e3406e2f8a42e61a4c473e1e9a58f6dc236052bb9daa700060c5b13cd6f0233c18899145e0438d26872af19a4eb7ccd7076236964305bcdd63acacdd2907f9ca67c27cfbf00019093dddf89024e92852dd440cb6a1672b1637ce07d3bfedbb0eae0ad3e2df4f00c116c3aab9895152b21b79f671db14e6a8822bc70ee712cdb240d2b0c5ef8e7fd2249d056fc5b5b762282fb68a9f4c940cfb82a0aa3357002c04172d5bf7c8aa6b3f6f72b1c1fd9b9a2b2b1ffa0b5eb2ab0e62979a0d02243d416abf842b846045f0b33ba04f8bfb1864944423536cf39af602b1a078ecaacbeb1064261e4443629cd6421ab734a130cb695ec32d3afc49809602b3f1d69b2ab697da376a6f3329e772601a6a6fdfb58458d5c3fce00e20b83b835212b9b1e9899da9474f48c21cceff1744c4afa2f6ecb67b58a329416c9155085fac5df6b917af04ae127975d183c573c0c6afed08b517770202a2d0370b786581c8084df18b05e1930c7091375df97a7c48d7ff61789d6a33d3a4968e1a4f2e756e9245b3f1261d6af5ca6f7c627d58e74912854ec86109ab4692f7787758c437d3827d63ae3287b0776af41e5fb49bc6b76fef3e303db459bdcd358739fcd3a4cd5c82d885d0ebd2e42