¡¾·ì϶¹«¸æ¡¿H2Êý¾Ý¿â½ÚÔį̀Զ³Ì´úÂëÖ´Ðзì϶£¨CVE-2021-42392£©
°ä²¼¹¦·ò 2022-01-100x00 ·ì϶¸ÅÊö
2022Äê1ÔÂ6ÈÕ£¬£¬£¬£¬£¬×êÑÐÈËÔ±¹«¿ªÅû¶ÁËÔÚ H2 Êý¾Ý¿â½ÚÔį̀Öз¢ÏÖµÄÀàËÆ Log4Shell µÄ¹Ø¼ü RCE ·ì϶£¬£¬£¬£¬£¬¸Ã·ì϶׷×ÙΪCVE-2021-42392¡£¡£¡£¡£¡£¡£¡£
0x01 ·ì϶ÏêÇé

H2ÊÇÒ»¸öÊ¢ÐеĿªÔ´Java SQLÊý¾Ý¿â£¬£¬£¬£¬£¬ËüÌṩÁËÒ»¸öÇáÁ¿¼¶µÄÄÚ´æ½â¾ö¹æ»®£¬£¬£¬£¬£¬²»±ØÒª½«Êý¾Ý´æ´¢ÔÚ´ÅÅÌÉÏ£¬£¬£¬£¬£¬ÕâʹµÃËü³ÉΪ¸÷ÀàÏîÖ÷ÕÅÊ¢ÐÐÊý¾Ý´æ´¢½â¾ö¹æ»®¡£¡£¡£¡£¡£¡£¡£
½üÈÕ£¬£¬£¬£¬£¬JFrog °²È«×êÑÐÍŶÓÅû¶ÁËH2 Êý¾Ý¿â½ÚÔį̀ÖеÄÔ¶³Ì´úÂëÖ´Ðзì϶CVE-2021-42392£¬£¬£¬£¬£¬¸Ã·ì϶ÓëApache Log4j RCE·ì϶CVE-2021-44228·ì϶µÄµ××ÓÔÒòÒ»Ñù£¬£¬£¬£¬£¬¼´JNDI Ô¶³ÌÀà¼ÓÔØ¡£¡£¡£¡£¡£¡£¡£
JNDIÊÇJava Naming and Directory InterfaceµÄËõд£¬£¬£¬£¬£¬ÊÇָΪJavaÀûÓ÷¨Ê½Ìṩ¶¨ÃûºÍĿ¼ְÄܵÄAPI£¬£¬£¬£¬£¬ËüÄܹ»½áºÏLDAPʹÓÃAPIÀ´¶¨Î»¿ÉÄܱØÒªµÄÌØ¶¨×ÊÔ´¡£¡£¡£¡£¡£¡£¡£
ÓÉÓÚH2Êý¾Ý¿â¿ò¼ÜÖеö´úÂëõè¾¶½«Î´¾¹ýÂ˵Ĺ¥»÷Õß½ÚÔìµÄURL´«µÝ¸øjavax.naming.Context.lookupº¯Êý£¬£¬£¬£¬£¬µ¼ÖÂÔ¶³Ì´úÂë¿â¼ÓÔØ£¨Ò²³ÆJava´úÂë×¢È룩£¬£¬£¬£¬£¬×îÖÕÔì³Éδ¾Éí·ÝÑéÖ¤µÄÔ¶³Ì´úÂëÖ´ÐС£¡£¡£¡£¡£¡£¡£
¸Ã·ì϶ӰÏì H2 Êý¾Ý¿â°æ±¾1.1.100£¨2008-10-14£©µ½2.0.204£¨2021-12-21£©£¬£¬£¬£¬£¬²¢ÒÑÔÚ2022 Äê 1 Ô 5 ÈÕ°ä²¼µÄ°æ±¾ 2.0.206 Öн¨¸´¡£¡£¡£¡£¡£¡£¡£
H2 Êý¾Ý¿â±»ºÜ¶àµÚÈý·½¿ò¼ÜʹÓ㬣¬£¬£¬£¬ÈçSpring Boot¡¢Play Framework ºÍ JHipsterµÈ¡£¡£¡£¡£¡£¡£¡£¹ÌÈ»CVE-2021-42392²»ÏñCVE-2021-44228ÄÇÑùÆÕ±é£¬£¬£¬£¬£¬µ«ÈôÊDz»ÊµÊ±½¨¸´£¬£¬£¬£¬£¬ËüÒÀÈ»»á¶Ô¿ª·¢ÈËÔ±ºÍ³ö²úϵͳ²úÉú¾Þ´óÓ°Ïì¡£¡£¡£¡£¡£¡£¡£
0x02 ·çÏյȼ¶
¸ßΣ¡£¡£¡£¡£¡£¡£¡£
0x03 Ó°ÏìÁìÓò
1.1.100<=H2 Console<=2.0.204
0x04 °²È«½¨Òé
Ŀǰ´Ë·ì϶ÒѾ½¨¸´£¬£¬£¬£¬£¬½¨ÒéËùÓÐ H2 Êý¾Ý¿âÓû§Éý¼¶µ½°æ±¾ 2.0.206£¬£¬£¬£¬£¬¼´±ã²»Ö±½ÓʹÓà H2 ½ÚÔį̀¡£¡£¡£¡£¡£¡£¡£
ÏÂÔØÁ´½Ó£º
https://github.com/h2database/h2database/releases/tag/version-2.0.206
»º½â´ëÊ©
¶ÔÓÚĿǰÎÞ·¨Éý¼¶H2µÄÓû§£¬£¬£¬£¬£¬Äܹ»Ñ¡ÔñʹÓÃÒÔÏ»º½â¹æ»®£º
1.ÓëCVE-2021-44228·ì϶ÀàËÆ£¬£¬£¬£¬£¬½Ïа汾µÄJavaÔ̺¬trustURLCodebase»º½â´ëÊ©£¬£¬£¬£¬£¬²»ÔÊÐíͨ¹ýJNDI¼ÓÔØÔ¶³Ì´úÂë¿â¡£¡£¡£¡£¡£¡£¡£Óû§Äܹ»Éý¼¶Java£¨JRE/JDK£©°æ±¾ÒÔÆôÓøûº½â´ëÊ©£¬£¬£¬£¬£¬ÔÚÒÔÏ Java °æ±¾£¨»ò¸ü¸ß°æ±¾£©ÉÏĬÈÏÆôÓô˻º½â´ëÊ©£¨µ«´Ë²½ÖèÒ²¿ÉÄܱ»Èƹý£©£º
l 6u211
l 7u201
l 8u191
l 11.0.1
2.µ±H2 console Servlet²¿ÊðÔÚ Web ·þÎñÆ÷ÉÏʱ£¨²»Ê¹ÓöÀÁ¢µÄ H2 Web ·þÎñÆ÷£©£¬£¬£¬£¬£¬Äܹ»Ôö³¤Ò»¸ö°²È«Ô¼Êø£¬£¬£¬£¬£¬½öÔÊÐíÌØ¶¨Óû§½Ó¼û½ÚÔìÌ¨Ò³Ãæ¡£¡£¡£¡£¡£¡£¡£
×¢£ºH2 ConsoleĬÈϲ»½ÓÊÜÔ¶³ÌÏνӡ£¡£¡£¡£¡£¡£¡£ÈôÊÇÃ÷È·ÆôÓÃÁËÔ¶³Ì½Ó¼û²¢ÇÒδÉèÖÃijЩ±£»£»£»£»£»£»¤²½Ö裨Èç°²È«Ô¼Êø£©£¬£¬£¬£¬£¬Ôò¹¥»÷ÕßÄܹ»¼ÓÔØ×Ô¼ºµÄ×Ô½ç˵ÀಢÔÚÓµÓÐH2 ConsoleµÄ¹ý³Ì£¨ H2 Server process »òÓµÓÐ H2 Console servlet µÄ Web ·þÎñÆ÷£©ÖÐÖ´ÐÐÆä´úÂë¡£¡£¡£¡£¡£¡£¡£
Ò²Äܹ»Í¨¹ýÔÚÕâЩ°æ±¾Öд´½¨Á´½Ó±íÀ´¼ÓÔØËüÃÇ£¬£¬£¬£¬£¬µ«Õâ±ØÒªADMINȨÏÞ£¬£¬£¬£¬£¬²¢ÇÒÓµÓÐADMINȨÏÞµÄÓû§ÔÚÉè¼ÆÉÏÄܹ»ÆëÈ«½Ó¼û Java ¹ý³Ì¡£¡£¡£¡£¡£¡£¡£Òò¶øÕâЩȨÏÞ²»Ó¦ÊÚÓè²»ÊÜÐÅÀµµÄÓû§¡£¡£¡£¡£¡£¡£¡£
0x05 ²Î¿¼Á´½Ó
https://jfrog.com/blog/the-jndi-strikes-back-unauthenticated-rce-in-h2-database-console/
https://thehackernews.com/2022/01/log4shell-like-critical-rce-flaw.html
http://securityaffairs.co/wordpress/126460/security/unauthenticated-rce-h2-database.html?
0x06 °æ±¾ÐÅÏ¢
°æ±¾ | ÈÕÆÚ | Åú¸ÄÄÚÈÝ |
V1.0 | 2022-01-10 | ³õ´Î°ä²¼ |
0x07 ¸½Â¼
8827Ì«Ñô¼¯Íżò½é
8827Ì«Ñô¼¯ÍŹ«Ë¾³ÉÁ¢ÓÚ1996Ä꣬£¬£¬£¬£¬²¢ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉî½»ËùÖÐÓ×°åÕýʽ¹ÒÅÆÉÏÊУ¬£¬£¬£¬£¬ÊǹúÄÚ¼«¾ßʵÁ¦µÄ¡¢Õ¼ÓÐÆëÈ«×ÔÖ÷֪ʶ²úȨµÄÍøÂ簲ȫ²úÆ·¡¢¿ÉÐŰ²È«ÖÎÀíÆ½Ì¨¡¢°²È«·þÎñÓë½â¾ö¹æ»®µÄ×ÛºÏÌṩÉÌ¡£¡£¡£¡£¡£¡£¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°£¬£¬£¬£¬£¬ÔÚÈ«¹ú¸÷Ê¡¡¢ÊÓ×¢×ÔÖÎÇøÉèÓзÖÖ§»ú¹¹£¬£¬£¬£¬£¬Õ¼Óи²¸ÇÈ«¹úµÄÇþ·ϵͳºÍ¼¼ÊõÖ§³ÖÖÐÐÄ£¬£¬£¬£¬£¬²¢ÔÚ±±¾©¡¢ÉϺ£¡¢³É¶¼¡¢ÕÑͨ¡¢³¤É³¡¢¾£ÃÅµÈ¶àµØÉèÓÐÑз¢ÖÐÐÄ¡£¡£¡£¡£¡£¡£¡£
¶àÄêÀ´£¬£¬£¬£¬£¬8827Ì«Ñô¼¯ÍÅÖÂÁ¦ÓÚÌṩӵÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´Ðµİ²È«²úÆ·ºÍ×î¼Ñʵ¼Ê·þÎñ£¬£¬£¬£¬£¬Ô®ÊÖ¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄ°²È«ÐԺͳö²úЧÁ¦£¬£¬£¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢°²È«²úÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸ÖÂÁ¦¡£¡£¡£¡£¡£¡£¡£
¹ØÓÚ8827Ì«Ñô¼¯ÍÅ
8827Ì«Ñô¼¯ÍŰ²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÖØÒªÕë¶Ô³ÁÒª°²È«·ì϶µÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвµý±¨ºÍ°²È«»ã±¨¡£¡£¡£¡£¡£¡£¡£
¹Ø×¢ÒÔϹ«¼ÒºÅ£¬£¬£¬£¬£¬»ñȡȫÇò×îа²È«×ÊѶ£º



¾©¹«Íø°²±¸11010802024551ºÅ