ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Snuffleupagus Ρ€Π°Π·Π²ΠΈΠ²Π° PHP ΠΌΠΎΠ΄ΡƒΠ» Π·Π° Π±Π»ΠΎΠΊΠΈΡ€Π°ΡšΠ΅ Π½Π° ранливости

Π’ΠΎ Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ snuffleupagus сС Ρ€Π°Π·Π²ΠΈΠ²Π° ΠΌΠΎΠ΄ΡƒΠ» Π·Π° ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ со ΠΏΡ€Π΅Π²Π΅Π΄ΡƒΠ²Π°Ρ‡ΠΎΡ‚ PHP7, Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ Π΄Π° ја ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ бСзбСдноста Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° ΠΈ Π΄Π° Π³ΠΈ Π±Π»ΠΎΠΊΠΈΡ€Π° Π²ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΊΠΎΠΈ Π²ΠΎΠ΄Π°Ρ‚ Π΄ΠΎ пропусти Π²ΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° PHP Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅. ΠœΠΎΠ΄ΡƒΠ»ΠΎΡ‚ исто Ρ‚Π°ΠΊΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈ Π·Π°ΠΊΡ€ΠΏΠΈ Π·Π° Π΄Π° Π³ΠΈ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚Π΅ спСцифичнитС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π±Π΅Π· Π΄Π° Π³ΠΎ ΠΌΠ΅Π½ΡƒΠ²Π°Ρ‚Π΅ ΠΈΠ·Π²ΠΎΡ€Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π° Ρ€Π°Π½Π»ΠΈΠ²Π°Ρ‚Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°, ΡˆΡ‚ΠΎ Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π²ΠΎ систСми Π·Π° масовно Ρ…ΠΎΡΡ‚ΠΈΡ€Π°ΡšΠ΅ ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° сС Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π°Ρ‚ ситС кориснички Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. ΠœΠΎΠ΄ΡƒΠ»ΠΎΡ‚ Π΅ напишан Π²ΠΎ C, ΠΏΠΎΠ²Ρ€Π·Π°Π½ Π΅ Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π° Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (β€žextension=snuffleupagus.soβ€œ Π²ΠΎ php.ini) ΠΈ дистрибуирани ΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†ΠΈΡ€Π°Π½Π° спорСд LGPL 3.0.

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

Π‘ΡƒΠ΄Π΅Ρ˜ΡœΠΈ спорСд тСстовитС спровСдСни ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅, Snuffleupagus Ρ‚Π΅ΡˆΠΊΠΎ Π³ΠΈ Π½Π°ΠΌΠ°Π»ΡƒΠ²Π° пСрформанситС. Π—Π° Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ сопствСна бСзбСдност (ΠΌΠΎΠΆΠ½ΠΈΡ‚Π΅ пропусти Π²ΠΎ бСзбСдносниот слој ΠΌΠΎΠΆΠ΅ Π΄Π° послуТат ΠΊΠ°ΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π·Π° Π½Π°ΠΏΠ°Π΄ΠΈ), ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ користи Ρ‚Π΅ΠΌΠ΅Π»Π½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° сСкој commit Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ дистрибуции, користи систСми Π·Π° статичка Π°Π½Π°Π»ΠΈΠ·Π°, Π° ΠΊΠΎΠ΄ΠΎΡ‚ Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ Π·Π° Π΄Π° сС поСдностави Ρ€Π΅Π²ΠΈΠ·ΠΈΡ˜Π°Ρ‚Π°.

ОбСзбСдСни сС Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° Π±Π»ΠΎΠΊΠΈΡ€Π°ΡšΠ΅ Π½Π° класи Π½Π° пропусти ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со ΡΠ΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Π½Π΅Π±Π΅Π·Π±Π΅Π΄Π½ΠΈ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° PHP mail(), ΠΈΡΡ‚Π΅ΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° содрТината Π½Π° ΠΊΠΎΠ»Π°Ρ‡ΠΈΡšΠ°Ρ‚Π° Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π½Π°ΠΏΠ°Π΄ΠΈΡ‚Π΅ Π½Π° XSS, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ со ΠΈΠ·Π²Ρ€ΡˆΠ½Π° ΡˆΠΈΡ„Ρ€Π° (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°Ρ€), Π½Π΅ΠΊΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚Π½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° случаСн Π±Ρ€ΠΎΡ˜ ΠΈ Π·Π°ΠΌΠ΅Π½Π° Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΈ XML конструкции.

Π‘Π»Π΅Π΄Π½ΠΈΠ²Π΅ Ρ€Π΅ΠΆΠΈΠΌΠΈ сС ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ°Π½ΠΈ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° бСзбСдноста Π½Π° PHP:

  • Автоматски ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π³ΠΈ Π·Π½Π°ΠΌΠ΅Π½Ρ†Π°Ρ‚Π° β€žΠ±Π΅Π·Π±Π΅Π΄Π½Π°β€œ ΠΈ β€žΠΈΡΡ‚Π° Π»ΠΎΠΊΠ°Ρ†ΠΈΡ˜Π°β€œ (CSRF Π·Π°ΡˆΡ‚ΠΈΡ‚Π°) Π·Π° ΠΊΠΎΠ»Π°Ρ‡ΠΈΡšΠ°, Π΅Π½ΠΊΡ€ΠΈΠΏΡ†ΠΈΡ˜Π° ΠšΠΎΠ»Π°Ρ‡Π΅;
  • Π’Π³Ρ€Π°Π΄Π΅Π½ сСт Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ‚Ρ€Π°Π³ΠΈ ΠΎΠ΄ Π½Π°ΠΏΠ°Π΄ΠΈ ΠΈ компромиси Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅;
  • ΠŸΡ€ΠΈΡΠΈΠ»Π½ΠΎ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΡšΠ΅ Π½Π° β€žΡΡ‚Ρ€ΠΎΠ³ΠΈ" (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Π»ΠΎΠΊΠΈΡ€Π° ΠΎΠ±ΠΈΠ΄ Π΄Π° сС Π½Π°Π²Π΅Π΄Π΅ Π½ΠΈΠ·Π° ΠΊΠΎΠ³Π° сС ΠΎΡ‡Π΅ΠΊΡƒΠ²Π° Ρ†Π΅Π» Π±Ρ€ΠΎΡ˜ ΠΊΠ°ΠΊΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚) ΠΈ Π·Π°ΡˆΡ‚ΠΈΡ‚Π° ΠΎΠ΄ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΡ˜Π° со Ρ‚ΠΈΠΏΠΎΡ‚;
  • Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½ΠΎ Π±Π»ΠΎΠΊΠΈΡ€Π°ΡšΠ΅ ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π·Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π±Ρ€Π°Π½Π° Π½Π° β€žphar://β€œ) со Π½ΠΈΠ²Π½Π°Ρ‚Π° Сксплицитна Π±Π΅Π»Π° листа;
  • Π—Π°Π±Ρ€Π°Π½Π° Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΡˆΡ‚ΠΎ сС Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°Π°Ρ‚;
  • Π¦Ρ€Π½ΠΎ-Π±Π΅Π»ΠΈ списоци Π·Π° eval;
  • ΠŸΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π΅ Π·Π° Π΄Π° сС ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° сСртификатот TLS ΠΏΡ€ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅
    Π½Π°Π²ΠΈΠ²Π°ΠΌ;

  • Π”ΠΎΠ΄Π°Π²Π°ΡšΠ΅ HMAC Π½Π° сСриски ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ Π·Π° Π΄Π° сС осигури Π΄Π΅ΠΊΠ° Π΄Π΅ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π³ΠΈ Π²Ρ€Π°ΡœΠ° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ ΠΎΠ΄ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½Π°Ρ‚Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°;
  • ΠŸΠΎΠ±Π°Ρ€Π°Ρ˜Ρ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Π΅Π²ΠΈΠ΄Π΅Π½Ρ†ΠΈΡ˜Π°;
  • Π‘Π»ΠΎΠΊΠΈΡ€Π°ΡšΠ΅ Π½Π° Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π²ΠΎ libxml ΠΏΡ€Π΅ΠΊΡƒ врски Π²ΠΎ XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ;
  • ΠœΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈ Ρ€Π°ΠΊΡƒΠ²Π°Ρ‡ΠΈ (upload_validation) Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈ ΡΠΊΠ΅Π½ΠΈΡ€Π°ΡšΠ΅ Π½Π° поставСни Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ;

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Π΅ создадСн ΠΈ искористСн Π·Π° Π·Π°ΡˆΡ‚ΠΈΡ‚Π° Π½Π° корисницитС Π²ΠΎ инфраструктурата Π½Π° Π΅Π΄Π΅Π½ ΠΎΠ΄ Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ француски хостинг ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ. Π—Π°Π±Π΅Π»Π΅ΠΆΠ°Π½ΠΎ Π΅Π΄Π΅ΠΊΠ° Сдноставното ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π½Π° Snuffleupagus ќС Π·Π°ΡˆΡ‚ΠΈΡ‚ΠΈ ΠΎΠ΄ ΠΌΠ½ΠΎΠ³Ρƒ опаснитС пропусти ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°Π½ΠΈ ΠΎΠ²Π°Π° Π³ΠΎΠ΄ΠΈΠ½Π° Π²ΠΎ Drupal, WordPress ΠΈ phpBB. РанливоститС Π²ΠΎ Magento ΠΈ Horde ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π±Π»ΠΎΠΊΠΈΡ€Π°Π°Ρ‚ со ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠΎΡ‚
"sp.readonly_exec.enable()".

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€