Snuffleupagus рдкреНрд░рдХрд▓реНрдк рднреЗрджреНрдпрддрд╛ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА PHP рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдд рдЖрд╣реЗ

рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рд╣рджреНрджреАрдд рд╕реНрдирдлреНрд▓реВрдкреЕрдЧрд╕ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ PHP7 рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдореЙрдбреНрдпреВрд▓, рдкрд░реНрдпрд╛рд╡рд░рдгрд╛рдЪреА рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ PHP рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдордзреНрдпреЗ рднреЗрджреНрдпрддрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдгрд╛рд▒реНрдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯреАрдВрдирд╛ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ. рдореЙрдбреНрдпреВрд▓ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдирдЪрд╛ рд╕реЛрд░реНрд╕ рдХреЛрдб рди рдмрджрд▓рддрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрднрд╛рд╕реА рдкреЕрдЪреЗрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ, рдЬреЗ рдорд╛рд╕ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрд╣реЗ рдЬреЗрдереЗ рд╕рд░реНрд╡ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрджреНрдпрдпрд╛рд╡рдд рдареЗрд╡рдгреЗ рдЕрд╢рдХреНрдп рдЖрд╣реЗ. рдореЙрдбреНрдпреВрд▓ C рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗ, рд╕рд╛рдорд╛рдпрд┐рдХ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдЬреЛрдбрд▓реЗрд▓реЗ рдЖрд╣реЗ (php.ini рдордзреНрдпреЗ тАЬextension=snuffleupagus.soтАЭ) рдЖрдгрд┐ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд LGPL 3.0 рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛рдХреГрдд.

Snuffleupagus рдПрдХ рдирд┐рдпрдо рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рдорд╛рдирдХ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХрд┐рдВрд╡рд╛ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдЖрдгрд┐ рдлрдВрдХреНрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рдирд┐рдпрдо рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдирд┐рдпрдо тАЬsp.disable_function.function(тАЬsystemтАЭ).param(тАЬcommandтАЭ).value_r(тАЬ[$|;&`\\n]тАЭ).drop();тАЭ ре▓рдкреНрд▓рд┐рдХреЗрд╢рди рди рдмрджрд▓рддрд╛ system() рдлрдВрдХреНрд╢рди рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯрдордзреНтАНрдпреЗ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░реВ рджреЗрддреЗ. рддреНрдпрд╛рдЪрдкреНрд░рдорд╛рдгреЗ, рдЖрдкрдг рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ рдЖрднрд╛рд╕реА рдкреЕрдЪ рдЬреНрдЮрд╛рдд рднреЗрджреНрдпрддрд╛ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА.

рд╡рд┐рдХрд╕рдХрд╛рдВрджреНрд╡рд╛рд░реЗ рдШреЗрддрд▓реЗрд▓реНрдпрд╛ рдЪрд╛рдЪрдгреНрдпрд╛рдВрдиреБрд╕рд╛рд░, рд╕реНрдирдлрд▓реНрдпреБрдкреЕрдЧрд╕ рдХреНрд╡рдЪрд┐рддрдЪ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрдореА рдХрд░рддреЗ. рд╕реНрд╡рддрдГрдЪреА рд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА (рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрддрд░рд╛рддреАрд▓ рд╕рдВрднрд╛рд╡реНрдп рдЕрд╕реБрд░рдХреНрд╖рд╛ рд╣рд▓реНрд▓реНрдпрд╛рдВрд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рд╡реЗрдХреНрдЯрд░ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░реВ рд╢рдХрддрд╛рдд), рдкреНрд░рдХрд▓реНрдк рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╡рд┐рддрд░рдгрд╛рдВрдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХ рдХрдорд┐рдЯрдЪреА рдХрд╕реВрди рдЪрд╛рдЪрдгреА рд╡рд╛рдкрд░рддреЛ, рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдгрд╛рд▓реА рд╡рд╛рдкрд░рддреЛ рдЖрдгрд┐ рдСрдбрд┐рдЯрд┐рдВрдЧ рд╕реБрд▓рдн рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЛрдбрдЪреЗ рд╕реНрд╡рд░реВрдкрди рдЖрдгрд┐ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдХреЗрд▓реЗ рдЬрд╛рддреЗ.

рдЕрд╕реБрд░рдХреНрд╖рд╛ рд╡рд░реНрдЧ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдВрдЧрднреВрдд рдкрджреНрдзрддреА рдкреНрд░рджрд╛рди рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЬрд╕реЗ рдХреА рд╕рдорд╕реНрдпрд╛, рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рдХреНрд░рдорд╡рд╛рд░реАрд╕рд╣, рдЕрд╕реБрд░рдХреНрд╖рд┐рдд PHP рдореЗрд▓() рдлрдВрдХреНрд╢рдирдЪрд╛ рд╡рд╛рдкрд░, XSS рд╣рд▓реНрд▓реНрдпрд╛рдВрджрд░рдореНрдпрд╛рди рдХреБрдХреА рд╕рд╛рдордЧреНрд░реАрдЪреА рдЧрд│рддреА, рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдХреЛрдбрд╕рд╣ рдлрд╛рдЗрд▓реНрд╕ рд▓реЛрдб рдХреЗрд▓реНрдпрд╛рдореБрд│реЗ рд╕рдорд╕реНрдпрд╛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ phar), рдЦрд░рд╛рдм рджрд░реНрдЬрд╛рдЪреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдорд┐рддреА рдЖрдгрд┐ рдмрджрд▓реА рдЪреБрдХреАрдЪреА XML рд░рдЪрдирд╛.

PHP рд╕реБрд░рдХреНрд╖рд╛ рд╡рд╛рдврд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЦрд╛рд▓реАрд▓ рдореЛрдб рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗрдд:

  • рдХреБрдХреАрдЬрд╕рд╛рдареА "рд╕реБрд░рдХреНрд╖рд┐рдд" рдЖрдгрд┐ "рд╕рдорд╛рдирд╕рд╛рдЗрдЯ" (CSRF рд╕рдВрд░рдХреНрд╖рдг) рдзреНрд╡рдЬ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд╕рдХреНрд╖рдо рдХрд░рд╛, рдПрдирдХреНрд░рд┐рдкреНрд╢рди рдХреБрдХреА;
  • рд╣рд▓реНрд▓реНрдпрд╛рдВрдЪреЗ рдЯреНрд░реЗрд╕ рдЖрдгрд┐ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреА рддрдбрдЬреЛрдб рдУрд│рдЦрдгреНрдпрд╛рд╕рд╛рдареА рдмрд┐рд▓реНрдЯ-рдЗрди рдирд┐рдпрдорд╛рдВрдЪрд╛ рд╕рдВрдЪ;
  • рд╕рдХреНрддреАрдЪреЗ рдЬрд╛рдЧрддрд┐рдХ рд╕рдХреНрд░рд┐рдпрдХрд░рдг "рдХрдареЛрд░" (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпреБрдХреНрддрд┐рд╡рд╛рдж рдореНрд╣рдгреВрди рдкреВрд░реНрдгрд╛рдВрдХ рдореВрд▓реНрдпрд╛рдЪреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛рдирд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рддреЗ) рдЖрдгрд┐ рддреНрдпрд╛рдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдкреНрд░рдХрд╛рд░ рд╣рд╛рддрд╛рд│рдгреА;
  • рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд░реЕрдкрд░реНрд╕ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "phar://" рд╡рд░ рдмрдВрджреА рдШрд╛рд▓рдгреЗ) рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрдкрд╖реНрдЯ рд╢реНрд╡реЗрддрд╕реВрдЪреАрд╕рд╣;
  • рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдпреЛрдЧреНрдп рдлрд╛рдЗрд▓реНрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдордирд╛рдИ;
  • eval рд╕рд╛рдареА рдХрд╛рд│реНрдпрд╛ рдЖрдгрд┐ рдкрд╛рдВрдврд░реНрдпрд╛ рдпрд╛рджреНрдпрд╛;
  • рд╡рд╛рдкрд░рддрд╛рдирд╛ TLS рдкреНрд░рдорд╛рдгрдкрддреНрд░ рддрдкрд╛рд╕рдгреА рд╕рдХреНрд╖рдо рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ
    рдХрд░реНрд▓;

  • рдбреАрд╕реАрд░рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рди рдореВрд│ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирджреНрд╡рд╛рд░реЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдиреБрдХреНрд░рдорд┐рдд рд╡рд╕реНрддреВрдВрдордзреНрдпреЗ HMAC рдЬреЛрдбрдгреЗ;
  • рд▓реЙрдЧрд┐рдВрдЧ рдореЛрдбрдЪреА рд╡рд┐рдирдВрддреА рдХрд░рд╛;
  • XML рджрд╕реНрддрдРрд╡рдЬрд╛рдВрдордзреАрд▓ рджреБрд╡реНрдпрд╛рдВрджреНрд╡рд╛рд░реЗ libxml рдордзреНрдпреЗ рдмрд╛рд╣реНрдп рдлрд╛рдЗрд▓реНрд╕ рд▓реЛрдб рдХрд░рдгреЗ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреЗ;
  • рдЕрдкрд▓реЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рдлрд╛рдпрд▓реА рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕реНрдХреЕрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмрд╛рд╣реНрдп рд╣рдБрдбрд▓рд░ (upload_validation) рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛;

рдореЛрдареНрдпрд╛ рдлреНрд░реЗрдВрдЪ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдСрдкрд░реЗрдЯрд░рдкреИрдХреА рдПрдХрд╛рдЪреНрдпрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣рд╛ рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрдгрд┐ рд╡рд╛рдкрд░рд▓рд╛ рдЧреЗрд▓рд╛. рдпрд╛рдЪреА рдиреЛрдВрдж рдЖрд╣реЗSnuffleupagus рд▓рд╛ рдлрдХреНрдд рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реНрдпрд╛рдиреЗ Drupal, WordPress рдЖрдгрд┐ phpBB рдордзреНрдпреЗ рдпрд╛ рд╡рд░реНрд╖реА рдУрд│рдЦрд▓реНрдпрд╛ рдЧреЗрд▓реЗрд▓реНрдпрд╛ рдЕрдиреЗрдХ рдзреЛрдХрд╛рджрд╛рдпрдХ рдЕрд╕реБрд░рдХреНрд╖рд╛рдВрдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рд╣реЛрдИрд▓. рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░реВрди Magento рдЖрдгрд┐ Horde рдордзреАрд▓ рднреЗрджреНрдпрддрд╛ рдЕрд╡рд░реЛрдзрд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд
"sp.readonly_exec.enable()".

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛