Snuffleupagus рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓реЗ рдХрдордЬреЛрд░реАрд╣рд░реВ рд░реЛрдХреНрдирдХреЛ рд▓рд╛рдЧрд┐ PHP рдореЛрдбреНрдпреБрд▓ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджреИрдЫ

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

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

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдЖрдпреЛрдЬрд┐рдд рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдиреНрдпрд╛рдп рдЧрд░реНрджреИ, Snuffleupagus рд▓реЗ рдкреНрд░рджрд░реНрд╢рдирд▓рд╛рдИ рдХрдо рдЧрд░реНрджреИрдиред рдпрд╕рдХреЛ рдЖрдлреНрдиреИ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди (рд╕реБрд░рдХреНрд╖рд╛ рддрд╣рдорд╛ рд╕рдореНрднрд╛рд╡рд┐рдд рдХрдордЬреЛрд░реАрд╣рд░реВрд▓реЗ рдЖрдХреНрд░рдордгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рднреЗрдХреНрдЯрд░рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫ), рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рддрд░рдгрд╣рд░реВрдорд╛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛рдХреЛ рдкреВрд░реНрдг рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рд░ рдХреЛрдбрд▓рд╛рдИ рдврд╛рдБрдЪрд╛рдмрджреНрдз рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рд▓реЗрдЦрд╛ рдкрд░реАрдХреНрд╖рдгрд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрди рджрд╕реНрддрд╛рд╡реЗрдЬ рдЧрд░рд┐рдПрдХреЛ рдЫред

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

рдирд┐рдореНрди рдореЛрдбрд╣рд░реВ PHP рд╕реБрд░рдХреНрд╖рд╛ рдмреГрджреНрдзрд┐ рдЧрд░реНрди рд╕рдорд░реНрдерд┐рдд рдЫрдиреН:

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

  • рдХреНрд░рдордмрджреНрдз рд╡рд╕реНрддреБрд╣рд░реВрдорд╛ HMAC рдердкреНрджреИ рдпреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХрд┐ deserialization рд▓реЗ рдореМрд▓рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрджреНрд╡рд╛рд░рд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рдбрд╛рдЯрд╛ рдкреБрди: рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫ;
  • рд▓рдЧрд┐рдЩ рдореЛрдб рдЕрдиреБрд░реЛрдз рдЧрд░реНрдиреБрд╣реЛрд╕реН;
  • XML рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВрдорд╛ рд▓рд┐рдЩреНрдХрд╣рд░реВ рдорд╛рд░реНрдлрдд libxml рдорд╛ рдмрд╛рд╣реНрдп рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рд▓реЛрдбрд┐рдЩ рдЕрд╡рд░реБрджреНрдз;
  • рдЕрдкрд▓реЛрдб рдЧрд░рд┐рдПрдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрди рд░ рд╕реНрдХреНрдпрд╛рди рдЧрд░реНрди рдмрд╛рд╣реНрдп рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ (upload_validation) рдЬрдбрд╛рди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛;

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

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди