CVE-2019-0230 | Apache Struts2Ô¶³Ì´úÂëÖ´ÐÐÎó²îͨ¸æ

Ðû²¼Ê±¼ä 2020-08-14

0x00 Îó²î¸ÅÊö


CVE   ID

CVE-2019-0230

ʱ    ¼ä

2020-08-14

Àà   ÐÍ

RCE

µÈ    ¼¶

¸ßΣ

Ô¶³ÌʹÓÃ

ÊÇ

Ó°Ïì¹æÄ£

Apache Struts 2.0.0-2.5.20


0x01 Îó²îÏêÇé


¼øºÚµ£±£Íø(jhdbw)¡¤×î¾ßȨÍþΨһάȨµ£±£Æ½Ì¨


Apache StrutsÊÇÃÀ¹ú°¢ÅÁÆæ£¨Apache£©Èí¼þ»ù½ð»áÈÏÕæÎ¬»¤µÄÒ»¸ö¿ªÔ´ÏîÄ¿£¬£¬£¬£¬£¬£¬ÊÇÒ»Ì×ÓÃÓÚ½¨ÉèÆóÒµ¼¶Java WebÓ¦ÓõĿªÔ´MVC¿ò¼Ü¡£¡£¡£¡£¡£

2020Äê8ÔÂ13ÈÕ£¬£¬£¬£¬£¬£¬Apache¹Ù·½Ðû²¼Í¨¸æ£¬£¬£¬£¬£¬£¬ÐÞ¸´ÁËÒ»¸öApache Struts2Ô¶³Ì´úÂëÖ´ÐÐÎó²î£¨CVE-2019-0230£©¡£¡£¡£¡£¡£¸ÃÎó²îÔ´ÓÚStruts 2»á¶ÔijЩ±êÇ©µÄÊôÐÔÖµ¾ÙÐжþ´Î±í´ïʽÆÊÎö£¬£¬£¬£¬£¬£¬µ±Ê¹ÓÃ%{...} or ${...}Óï·¨¶Ô±êÇ©ÊôÐÔ¾ÙÐÐÇ¿ÖÆÆÊÎöµÄÇéÐÎÏ£¬£¬£¬£¬£¬£¬OGNL±í´ïʽÖÐÒýÓÃδÂÄÀúÖ¤µÄÓû§ÊäÈ룬£¬£¬£¬£¬£¬Í¨¹ý½á¹¹¶ñÒâµÄOGNL±í´ïʽ£¬£¬£¬£¬£¬£¬µ¼ÖÂÔ¶³Ì´úÂëÖ´ÐС£¡£¡£¡£¡£


0x02 ´¦Öóͷ£½¨Òé


Apache¹Ù·½ÒѾ­Ðû²¼Ð°汾£¬£¬£¬£¬£¬£¬ÇëÉý¼¶µ½Struts 2.5.22»ò¸ü¸ß°æ±¾£¬£¬£¬£¬£¬£¬ÏÂÔØµØµã£º

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.22

ÔÝʱ²½·¥£º

1. ½«ÊäÈë²ÎÊýµÄÖµÖØÐ·ÖÅɸøÄ³Ð©StrutsµÄ±êÇ©ÊôÐÔʱ£¬£¬£¬£¬£¬£¬Ê¼ÖÕ¶ÔÆä¾ÙÐÐÑéÖ¤£»£»£»£»£»

2. ³ý·ÇÓÐÓÐÓõÄÓÃÀý£¬£¬£¬£¬£¬£¬²»È»²»ÒªÔÚÖµÒÔÍâµÄ±êÇ©ÊôÐÔÖÐʹÓã¥{...}»ò$ {...}Óï·¨ÒýÓÿÉÐ޸ĵÄÊäÈ룬£¬£¬£¬£¬£¬²Î¿¼Á´½Ó£º

https://struts.apache.org/security/#use-struts-tags-instead-of-raw-el-expressions

3. ¿ªÆôONGL±í´ïʽעÈë±£»£»£»£»£»¤£¬£¬£¬£¬£¬£¬²Î¿¼Á´½Ó£º

https://struts.apache.org/security/#proactively-protect-from-ognl-expression-injections-attacks-if-easily-applicable



0x03 Ïà¹ØÐÂÎÅ


0x04 ²Î¿¼Á´½Ó


https://cwiki.apache.org/confluence/display/WW/S2-059


0x05 ʱ¼äÏß


2020-08-13 Apache¹Ù·½Ðû²¼Í¨¸æ

2020-08-14 VSRCÐû²¼Îó²îͨ¸æ


¼øºÚµ£±£Íø(jhdbw)¡¤×î¾ßȨÍþΨһάȨµ£±£Æ½Ì¨