ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ ΠΊΠΈΡΠ°ΠΉΡΠΊΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Chaitin Tech ΠΎΡΠΊΡΠΈΡ Π° () Π² , ΠΎΡΠ²ΠΎΡΠ΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java Servlet, JavaServer Pages, Java Expression Language ΠΈ Java WebSocket. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ Π½Π°ΡΠ΅ΡΠ΅Π½Π° Ghostcat ΠΈ Π΅ Ρ ΠΊΡΠΈΡΠΈΡΠ΅Π½ ΡΡΠΎΠ²Π΅Π½Ρ Π½Π° ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ (9.8 CVSS). ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΡΠ΅Π· ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ° ΠΊΡΠΌ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΠΏΠΎΡΡ 8009 Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ°Ρ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΡΡΠ³ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄ Π½Π° ΡΡΡΠ²ΡΡΠ°, Π°ΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄ΠΎΠΏΡΡΠΊΠ° ΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠ°ΡΠΈ JSP ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π· ΡΠΎΡΠΌΡΠ»ΡΡ Π·Π° ΠΊΠ°ΡΠ²Π°Π½Π΅). ΠΡΠ°ΠΊΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½Π° ΠΏΡΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ° ΠΊΡΠΌ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΠΏΠΎΡΡ Ρ AJP ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ. ΠΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈΠΌΠ° Π½Π°Π΄ 1.2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ ΠΎΡΡΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ°Ρ Π·Π°ΡΠ²ΠΊΠΈ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° AJP.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ Π½Π°Π»ΠΈΡΠ½Π° Π² ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° AJP, Π° ΠΎΡ Π³ΡΠ΅ΡΠΊΠ° Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ°. Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΏΡΠΈΠ΅ΠΌΠ° Π½Π° ΡΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎ HTTP (ΠΏΠΎΡΡ 8080) Π² Apache Tomcat ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΠ΅Π· ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° AJP (, ΠΏΠΎΡΡ 8009), ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π±ΠΈΠ½Π°ΡΠ΅Π½ Π°Π½Π°Π»ΠΎΠ³ Π½Π° HTTP, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ ΠΎΡ Tomcat ΡΡΡΠ²ΡΡΠΈ ΠΈΠ»ΠΈ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Ρ Tomcat Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΏΡΠΎΠΊΡΠΈ ΠΈΠ»ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ.
AJP ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡΡΠ²Π΅ΡΠ°, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΠΊΡΠΈΠ²Π°Π½ΠΈ. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° ΡΠ΅, ΡΠ΅ Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ AJP Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΡΠ°ΠΌΠΎ Π·Π° Π΄ΠΎΠ²Π΅ΡΠ΅Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ, Π½ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Tomcat ΡΡΠ°ΡΡΠΈΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ°Ρ Π° Π±Π΅Π· ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅. ΠΠΎΡΡΡΠΏΡΡ Π΄ΠΎ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° WEB-INF, META-INF ΠΈ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π΄ΡΡΠ³ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈ, Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΡΠ΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ServletContext.getResourceAsStream(). AJP ΡΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²ΡΡΠΊΠ°ΠΊΡΠ² ΡΠ°ΠΉΠ» Π² Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈ Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΊΠ°ΡΠΎ JSP ΡΠΊΡΠΈΠΏΡ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠ° ΡΠ΅ ΠΏΡΠΎΡΠ²ΡΠ²Π° ΠΎΡ Π²Π΅ΡΡΠΈΡΡΠ° Tomcat 6.x, ΠΈΠ·Π΄Π°Π΄Π΅Π½Π° ΠΏΡΠ΅Π΄ΠΈ 13 Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠΡΠ²Π΅Π½ ΡΠ°ΠΌΠΈΡ Tomcat, ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π½Π°ΠΊΡΠ°ΡΠΊΠΎ Π·Π°ΡΡΠ³Π° ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ, ΠΊΠ°ΡΠΎ Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΈΡΠ΅ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ . ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ (CVE-2020-1745) Π² ΡΠ΅Π± ΡΡΡΠ²ΡΡΠ° , ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ½ΠΈΡ ΡΡΡΠ²ΡΡ Wildfly. Π JBoss ΠΈ Wildfly ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΡΡ AJP ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΠ°ΠΌΠΎ Π² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ΅ standalone-full-ha.xml, standalone-ha.xml ΠΈ ha/full-ha Π² domain.xml. Π Spring Boot ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° AJP Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π³ΡΡΠΏΠΈ ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π΄Π΅ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡΠΈ (
,
,
,
,
,
,
,
,
,
,
).
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Π½Π° Π² Π²Π΅ΡΡΠΈΠΈΡΠ΅ Π½Π° Tomcat , ΠΈ (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π²Π΅ΡΡΠΈΡ 6.x ). ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΠ΅ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΈΡΠ΅ Π½Π° ΡΠ΅Π·ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ: , , , , , . ΠΠ°ΡΠΎ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π·Π°ΡΠΈΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° Tomcat AJP Connector (ΡΡΠ΅Π· ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΠ»ΡΡΠ°ΡΠΈΡ ΡΠΎΠΊΠ΅Ρ Ρ localhost ΠΈΠ»ΠΈ Π·Π°ΠΊΠΎΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π΄Π° Ρ Connector port = "8009"), Π°ΠΊΠΎ Π΅ Π½Π΅Π½ΡΠΆΠ½Π°, ΠΈΠ»ΠΈ Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ Π΄ΠΎΡΡΡΠΏ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ "secret" ΠΈ "address", Π°ΠΊΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈ ΡΡΡΠ²ΡΡΠΈ ΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠ°, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° mod_jk ΠΈ mod_proxy_ajp (mod_cluster Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡ).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
