SharePoint Ô¶³Ì´úÂëÖ´ÐÐÎó²îÇ徲ͨ¸æ

Ðû²¼Ê±¼ä 2019-03-29

Îó²î±àºÅºÍ¼¶±ð


CVE±àºÅ£ºCVE-2019-0604£¬£¬ £¬£¬£¬£¬£¬£¬Î£ÏÕ¼¶±ð£º¸ßΣ£¬£¬ £¬£¬£¬£¬£¬£¬ CVSS·ÖÖµ£º7.8


Ó°Ïì°æ±¾£º


Microsoft SharePoint Server 2019
Microsoft SharePoint Enterprise Server 2016
Microsoft SharePoint Foundation 2013 Service Pack 1
Microsoft SharePoint Server 2010 Service Pack 2


Îó²î¸ÅÊö


SharePointÊÇ΢ÈíµÄÒ»¿îÍŶÓЭ×÷½â¾ö¼Æ»®£¬£¬ £¬£¬£¬£¬£¬£¬ÓÃÓÚÍŶӼ乲ÏíºÍÖÎÀíÄÚÈݺÍ֪ʶ¡£¡£¡£¡£¡£¡£ËüʹÓÃASP.NET¿ª·¢£¬£¬ £¬£¬£¬£¬£¬£¬ºó¶ËÊý¾Ý¿âʹÓÃMicrosoft SQL Server¡£¡£¡£¡£¡£¡£
ÀÖ³ÉʹÓÃÎó²î£¬£¬ £¬£¬£¬£¬£¬£¬¿Éµ¼ÖÂWindowsϵͳЧÀÍÆ÷Ô¶³ÌÖ´ÐÐÏÂÁ£¬ £¬£¬£¬£¬£¬£¬ÓпÉÄÜÍêÈ«¿ØÖÆÐ§ÀÍÆ÷¡£¡£¡£¡£¡£¡£
¹¥»÷Õ߿ɽ«È«ÐĽṹµÄÇëÇóͨ¹ýItemPicker WebForm¿Ø¼þ´«Èëºó¶ËEntityInstanceIdEncoder.DecodeEntityInstanceId(encodedId)ÒªÁìÖУ¬£¬ £¬£¬£¬£¬£¬£¬ÓÉÓÚÒªÁìûÓжԴ«ÈëµÄencodedId¾ÙÐÐÈÎÄÇÀïÖ㬣¬ £¬£¬£¬£¬£¬£¬Ò²Ã»ÓжÔXmlSerializer½á¹¹º¯ÊýµÄÀàÐͲÎÊý¾ÙÐÐÏÞÖÆ£¬£¬ £¬£¬£¬£¬£¬£¬¿ÉÖ±½Óͨ¹ýXmlSerializer·´ÐòÁл¯£¬£¬ £¬£¬£¬£¬£¬£¬Ôì³ÉÏÂÁîÖ´ÐС£¡£¡£¡£¡£¡£
ҪʹÓøÃÎó²î£¬£¬ £¬£¬£¬£¬£¬£¬ÐèÒªÊÚȨ»á¼ûSharePointÌṩµÄÖÎÀíÍøÒ³£¬£¬ £¬£¬£¬£¬£¬£¬ÊÚȨÕË»§¿ÉÒÔÊÇÒ»¸öÓòÕË»§¡£¡£¡£¡£¡£¡£


Îó²îϸ½Ú


ʹÓÃÌõ¼þ£º


¿ÉÊÚȨ»á¼ûSharePointÌṩµÄÖÎÀíÍøÒ³£¬£¬ £¬£¬£¬£¬£¬£¬ÊÚȨÕË»§¿ÉÒÔÊÇÒ»¸öÓòÕË»§¡£¡£¡£¡£¡£¡£


ÇéÐδ£º


?    Windows server 2016
?    ASP.NETÏà¹Ø×é¼þ
?    Microsoft SQL Server
?    SharePoint Server
×°ÖÃSharePointǰ¿ÉÒÔÏÈÔËÐÐprerequisiteinstaller ×°ÖÃSharePoint±Ø±¸µÄ×é¼þ£¬£¬ £¬£¬£¬£¬£¬£¬È»ºó×°ÖÃMicrosoft SQL Server£¬£¬ £¬£¬£¬£¬£¬£¬ÉèÖúÃÕË»§¡£¡£¡£¡£¡£¡£ÈôÊÇÔÚµ¥»úÉϴSharePointÐèÒªÔÚ´Ëʱ½«Ð§ÀÍÆ÷Çл»ÎªÓò¿ØÐ§ÀÍÆ÷£¬£¬ £¬£¬£¬£¬£¬£¬È»ºóÔÙ½¨ÉèÓòÕ˺Å×°ÖúͰ²ÅÅSharePoint¡£¡£¡£¡£¡£¡£ÍâµØÕ˺Ų»ÇкÏSharePointµÄ°²ÅÅÒªÇ󡣡£¡£¡£¡£¡£


Îó²îÆÊÎö£º


Îó²îÈë¿ÚÔÚhttp:// SharePointDomin Or IP>:/_layouts/15/Picker.aspx?PickerDialogType=£¬£¬ £¬£¬£¬£¬£¬£¬Í¨¹ýÐÞ¸ÄWebForm PostBackºóЯ´ø²ÎÊýctl00%24PlaceHolderDialogBodySection%24ctl05%24hiddenSpanDataµÄÖµÀ´¼ÓÔØPayload¡£¡£¡£¡£¡£¡£Ê¹Ó÷´±àÒ빤¾ßILSpy¼ÓÔØSharePoint.dllËÑË÷Èë¿ÚItemPickerDialog£¬£¬ £¬£¬£¬£¬£¬£¬Í¨Ì«¹ýÎöËüµÄ½á¹¹º¯Êý£¬£¬ £¬£¬£¬£¬£¬£¬·¢Ã÷ÆäŲÓÃÁ˸¸ÀàµÄ½á¹¹º¯Êý£¬£¬ £¬£¬£¬£¬£¬£¬´«²ÎÈçÏ£º


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


½øÈ븸ÀàPickerDialogÖУ¬£¬ £¬£¬£¬£¬£¬£¬¿´½á¹¹º¯Êý£º


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


ÆäÖÐEntityEditorWithPickerÒ²ÊÇÒ»¸öWebForm¿Ø¼þ£¬£¬ £¬£¬£¬£¬£¬£¬ËµÃ÷ÔÚÕâÀï´«ÈëÁËÒ»¸öEntityEditorWithPickerµÄ×ÓÀàItemPicker£¬£¬ £¬£¬£¬£¬£¬£¬¸úÈëItemPicker¿É¿´µ½ItemPickerȷʵ¼ÌÐø×ÔEntityEditorWithPicker£¬£¬ £¬£¬£¬£¬£¬£¬EntityEditorWithPickerÓÖ¼ÌÐø×ÔEntityEditor£º


 ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾



EntityEditorʵÏÖÁ˽ӿڣºIPostBackDataHandlerºÍICallbackEventHandler£¬£¬ £¬£¬£¬£¬£¬£¬Æ¾Ö¤WebForm¿Ø¼þµÄÉúÃüÖÜÆÚ£¬£¬ £¬£¬£¬£¬£¬£¬ÔÚÒ³ÃæÖÐÓÐÊÂÎñ´¥·¢__doPostBack()ºó£¬£¬ £¬£¬£¬£¬£¬£¬ÏÈŲÓÃͨ¹ýICallbackEventHandlerʵÏÖµÄRaiseCallbackEvent()ÒªÁìºÍGetCallbackResult()ÒªÁì»ñµÃ±íµ¥ÄÚÈÝ£¬£¬ £¬£¬£¬£¬£¬£¬ÔÙŲÓÃͨ¹ýIPostBackDataHandlerʵÏÖµÄLoadPostData()ÒªÁì¡£¡£¡£¡£¡£¡£


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


»Øµ½EntityEditorÖп´GetCallbackResult()ÒªÁìÖÐŲÓÃÁËInvokeCallbackEvent()ÒªÁ죬£¬ £¬£¬£¬£¬£¬£¬InvokeCallbackEvent()ÒªÁìŲÓÃÁËParseSpanData()ÒªÁ죺


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾




À´µ½ParseSpanData()ÖпÉÒÔ¿´³öÕâÀï°Ñ±íµ¥Ìá½»µÄÊý¾Ý¾ÙÐÐÁË´¦Öóͷ£¡£¡£¡£¡£¡£¡£´Ë´¦Âß¼­ºÜÊÇÖØ´ó£¬£¬ £¬£¬£¬£¬£¬£¬ÎÒÃÇÖ»¸ú¶ÔHiddenSpanDataµÄ´¦Öóͷ££º


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


¿É·¢Ã÷´ËÒªÁ콫HiddenSpanDataµÄÖµ·ÅÈëÁËPickerEntityµÄListÖУ¬£¬ £¬£¬£¬£¬£¬£¬ÔÚ¾­ÓÉһЩ´¦Öóͷ£ºóÖ§½â³ÉÊý×飬£¬ £¬£¬£¬£¬£¬£¬±éÀúÊý×飬£¬ £¬£¬£¬£¬£¬£¬Ð½¨PickerEntity¹¤¾ßpickerEntity2£¬£¬ £¬£¬£¬£¬£¬£¬½«ÆäÖµ·ÅÈëpickerEntity2.KeyÖУ¬£¬ £¬£¬£¬£¬£¬£¬×îÖÕ·ÅÈëarrayListÖв¢¸³Öµ¸øÀà³ÉÔ±±äÁ¿m_listOrderTemp:


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


»Øµ½LoadPostData()ÒªÁì¿´¶Ôm_listOrderTemp³ÉÔ±±äÁ¿µÄ´¦Öóͷ££¬£¬ £¬£¬£¬£¬£¬£¬¿É¿´µ½ÔÚÕâÀï±éÀúÁËm_listOrderTemp³ÉÔ±±äÁ¿µÄÖµ²¢½«Æä¼Ó½øm_listRevalidation³ÉÔ±±äÁ¿ÖУ¬£¬ £¬£¬£¬£¬£¬£¬È»ºóµü´ú¾ÙÐÐValidate()²Ù×÷£º


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


ÔÚValidate()ÒªÁìÖУ¬£¬ £¬£¬£¬£¬£¬£¬½«m_listOrderTemp³ÉÔ±±äÁ¿¸³Öµ¸øm_listOrder³ÉÔ±±äÁ¿£º


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


È»ºó±éÀúEntitiesµÄֵŲÓÃValidateEntity()ÒªÁ죺


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


EntitiesµÄÖµÀ´×ÔÓÚÉÏÃæµÄÒ»Ðкܲ»ÆðÑÛµÄLambda±í´ïʽҪÁ죬£¬ £¬£¬£¬£¬£¬£¬´ËÒªÁ콫·µ»Øm_listOrder³ÉÔ±±äÁ¿µÄÖµ£º


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


¸úµ½ValidateEntity()ÒªÁì·¢Ã÷ÊÇÐéÒªÁ죬£¬ £¬£¬£¬£¬£¬£¬Òò´ËÈ¥×ÓÀàÕÒÒªÁìµÄÖØÐ´¡£¡£¡£¡£¡£¡£


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


À´µ½EntityEditorWithPickerÀàÖп´µ½ÁËValidateEntity() ÒªÁìµÄÖØÐ´£¬£¬ £¬£¬£¬£¬£¬£¬·¢Ã÷Æä½«PickerEntityµÄkey£¨pe.Key£©´«ÈëÁËMicrosoft.SharePoint.BusinessData.Infrastructure.EntityInstanceIdEncoder.DecodeEntityInstanceId()ÖС£¡£¡£¡£¡£¡£
½øÈëDecodeEntityInstanceId() ÒªÁì·¢Ã÷·´ÐòÁл¯£¬£¬ £¬£¬£¬£¬£¬£¬²¢ÇÒXmlSerializer½á¹¹º¯ÊýµÄÀàÐͲÎÊý¿É¿Ø¡£¡£¡£¡£¡£¡£


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


²¹¶¡ÆÊÎö£º


×°Öò¹¶¡KB4462211ºóÔٴη´±àÒ룬£¬ £¬£¬£¬£¬£¬£¬±ÈÕÕDecodeEntityInstanceId()ÒªÁìµÄÔ´Â룬£¬ £¬£¬£¬£¬£¬£¬·¢Ã÷ÒѾ­²»ÔÙÖ§³Ö¹¤¾ßÀàÐ͵ķ´ÐòÁл¯¡£¡£¡£¡£¡£¡£


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


Îó²îʹÓÃ


ÔÚÎó²îÆÊÎöʱ£¬£¬ £¬£¬£¬£¬£¬£¬ÎÒÃÇÔÚEntityInstanceIdEncoderÀàÖп´µ½ÁíÒ»¸öÒªÁìEncodeEntityInstanceId(),¿ÉÒÔÖ±½ÓʹÓÃËüÌìÉúPayload¡£¡£¡£¡£¡£¡£
½á¹¹XML£º


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


ÌìÉúPayload£º


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


ÌìÉúPayloadʱ»áµ¯³öÒ»´ÎÅÌËãÆ÷£¬£¬ £¬£¬£¬£¬£¬£¬¹Øµô¼´¿É¡£¡£¡£¡£¡£¡£
PoC£º


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


ÐÞ¸´½¨Òé


ÏÖÔÚ¹Ù·½ÒÑÍÆ³öÏìÓ¦²¹¶¡£¡£¡£¡£¡£¡£¬£¬ £¬£¬£¬£¬£¬£¬Ç뾡¿ìÉý¼¶¾ÙÐÐÐÞ¸´¡£¡£¡£¡£¡£¡£
Microsoft SharePoint Enterprise Server 2016
Security Update for Microsoft SharePoint Enterprise Server 2016(KB4462211)
https://www.microsoft.com/en-us/download/details.aspx?id=58072
Microsoft SharePoint Foundation 2013 Service Pack 1
Security Update for Microsoft SharePoint Enterprise Server 2013(KB4462202)
https://www.microsoft.com/en-us/download/details.aspx?id=58063
Microsoft SharePoint Server 2010 Service Pack 2
Security Update for 2010 Microsoft Business Productivity Servers(KB4462184)
https://www.microsoft.com/en-us/download/details.aspx?id=58066
Microsoft SharePoint Server 2019
Security Update for Microsoft SharePoint Server 2019 Core(KB4462199)
https://www.microsoft.com/en-us/download/details.aspx?id=58061


²Î¿¼Á´½Ó


https://www.thezdi.com/blog/2019/3/13/cve-2019-0604-details-of-a-microsoft-sharepoint-rce-vulnerability
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0604