ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Snuffleupagus Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° PHP ΠΌΠΎΠ΄ΡƒΠ» Π·Π° Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Π½Π° уязвимости

Π’ Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ΠΌΡ„ΠΈΠ΅ сС Ρ€Π°Π·Π²ΠΈΠ²Π° ΠΌΠΎΠ΄ΡƒΠ» Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ с PHP7 ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ сигурността Π½Π° срСдата ΠΈ Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π° чСсто срСщани Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ уязвимости ΠΏΡ€ΠΈ стартиранС Π½Π° PHP прилоТСния. ΠœΠΎΠ΄ΡƒΠ»ΡŠΡ‚ ΡΡŠΡ‰ΠΎ Π²ΠΈ позволява Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ ΠΏΠ°Ρ‡ΠΎΠ²Π΅ Π·Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, Π±Π΅Π· Π΄Π° промСнятС изходния ΠΊΠΎΠ΄ Π½Π° уязвимото ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² масови хостинг систСми, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π΅ нСвъзмоТно всички потрСбитСлски прилоТСния Π΄Π° сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΈ. ΠœΠΎΠ΄ΡƒΠ»ΡŠΡ‚ Π΅ написан Π½Π° C, ΡΠ²ΡŠΡ€Π·Π°Π½ Π΅ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° сподСлСна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (β€žΡ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅=snuffleupagus.soβ€œ Π² php.ini) ΠΈ разпространява сС ΠΎΡ‚ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€Π°Π½ съгласно LGPL 3.0.

Snuffleupagus прСдоставя систСма ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°, която Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ стандартни шаблони Π·Π° подобряванС Π½Π° сигурността ΠΈΠ»ΠΈ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ свои собствСни ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Π²Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ. НапримСр ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΡ‚ΠΎ β€œsp.disable_function.function(β€œsystem”).param(β€œcommand”).value_r(β€œ[$|;&`\\n]”).drop();” Π²ΠΈ позволява Π΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° спСциални Π·Π½Π°Ρ†ΠΈ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° функцията system(), Π±Π΅Π· Π΄Π° промСнятС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. По ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ ΠΏΠ°Ρ‡ΠΎΠ²Π΅ Π·Π° Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Π½Π° извСстни уязвимости.

БъдСйки ΠΏΠΎ тСстовСтС, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, Snuffleupagus ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ намалява производитСлността. Π—Π° Π΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° собствСната си сигурност (възмоТни уязвимости Π² защитния слой ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° слуТат ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π·Π° Π°Ρ‚Π°ΠΊΠΈ), ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π°Π΄ΡŠΠ»Π±ΠΎΡ‡Π΅Π½ΠΎ тСстванС Π½Π° всСки ΠΊΠΎΠΌΠΈΡ‚ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ дистрибуции, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° систСми Π·Π° статичСн Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΊΠΎΠ΄ΡŠΡ‚ Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½, Π·Π° Π΄Π° опрости ΠΎΠ΄ΠΈΡ‚Π°.

ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½ΠΈ са Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Π½Π° класовС уязвимости ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ със сСриализация Π½Π° Π΄Π°Π½Π½ΠΈ, опасно ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° функцията PHP mail(), ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Π½Π° бисквитки ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° XSS Π°Ρ‚Π°ΠΊΠΈ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с изпълним ΠΊΠΎΠ΄ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ phar), Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ числа с лошо качСство ΠΈ замСстванС Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈ XML конструкции.

Π‘Π»Π΅Π΄Π½ΠΈΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌΠΈ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ Π·Π° подобряванС Π½Π° сигурността Π½Π° PHP:

  • Автоматично Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„Π»Π°Π³ΠΎΠ²Π΅Ρ‚Π΅ "сигурСн" ΠΈ "ΡΡŠΡ‰ΠΈΡΡ‚ сайт" (CSRF Π·Π°Ρ‰ΠΈΡ‚Π°) Π·Π° бисквитки, ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ бисквитка;
  • Π’Π³Ρ€Π°Π΄Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° слСди ΠΎΡ‚ Π°Ρ‚Π°ΠΊΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° прилоТСния;
  • ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° "стриктСн" (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠΈΡ€Π° ΠΎΠΏΠΈΡ‚ Π·Π° ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π½ΠΈΠ·, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС ΠΎΡ‡Π°ΠΊΠ²Π° цСлочислСна стойност ΠΊΠ°Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚) ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π° срСщу Ρ‚ΠΈΠΏ манипулация;
  • Π‘Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Π±Ρ€Π°Π½Π° Π½Π° β€žphar://β€œ) с тСхния ΠΈΠ·Ρ€ΠΈΡ‡Π΅Π½ бял списък;
  • Π—Π°Π±Ρ€Π°Π½Π° Π·Π° изпълнСниС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС записват;
  • Π§Π΅Ρ€Π½ΠΈ ΠΈ Π±Π΅Π»ΠΈ ΡΠΏΠΈΡΡŠΡ†ΠΈ Π·Π° ΠΎΡ†Π΅Π½ΠΊΠ°;
  • Изисква сС Π·Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° TLS сСртификат ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅
    ΠΊΡŠΠ΄Ρ€ΠΈΡ†Π°;

  • ДобавянС Π½Π° HMAC към сСриализирани ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, Π·Π° Π΄Π° сС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ дСсСриализацията ΠΈΠ·Π²Π»ΠΈΡ‡Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈ ΠΎΡ‚ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅;
  • Π Π΅ΠΆΠΈΠΌ Π½Π° рСгистриранС Π½Π° заявки;
  • Π‘Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° външни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² libxml Ρ‡Ρ€Π΅Π· Π²Ρ€ΡŠΠ·ΠΊΠΈ Π² XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ;
  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° външни ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ (upload_validation) Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈ сканиранС Π½Π° ΠΊΠ°Ρ‡Π΅Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅;

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Π΅ създадСн ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π² инфраструктурата Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ фрСнски хостинг ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ. ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π° сСчС простото ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° Snuffleupagus Ρ‰Π΅ Π·Π°Ρ‰ΠΈΡ‚ΠΈ срСщу ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ опаснитС уязвимости, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ Ρ‚Π°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° Π² Drupal, WordPress ΠΈ phpBB. УязвимоститС Π² Magento ΠΈ Horde ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€Π°Π½ΠΈ Ρ‡Ρ€Π΅Π· Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠ°
"sp.readonly_exec.enable()".

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€