ืฉื—ืจื•ืจ ืฉืœ Snuffleupagus 0.5.1, ืžื•ื“ื•ืœ ืœื—ืกื™ืžืช ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ื™ื™ืฉื•ืžื™ PHP

ืœืื—ืจ ืฉื ื” ืฉืœ ืคื™ืชื•ื— ืคื•ืจืกื ืฉื—ืจื•ืจ ื”ืคืจื•ื™ืงื˜ ืกื ืคืœืื•ืคื’ื•ืก 0.5.1, ื”ืžืกืคืง ืžื•ื“ื•ืœ ืขื‘ื•ืจ ืžืชื•ืจื’ืžืŸ PHP7 ืœืฉื™ืคื•ืจ ืื‘ื˜ื—ืช ื”ืกื‘ื™ื‘ื” ื•ื—ืกื™ืžืช ืฉื’ื™ืื•ืช ื ืคื•ืฆื•ืช ื”ืžื•ื‘ื™ืœื•ืช ืœืคืจืฆื•ืช ื‘ื”ืคืขืœืช ื™ื™ืฉื•ืžื™ PHP. ื”ืžื•ื“ื•ืœ ื’ื ืžืืคืฉืจ ืœืš ืœื™ืฆื•ืจ ืชื™ืงื•ื ื™ื ื•ื™ืจื˜ื•ืืœื™ื™ื ื›ื“ื™ ืœื‘ื˜ืœ ื‘ืขื™ื•ืช ืกืคืฆื™ืคื™ื•ืช ืžื‘ืœื™ ืœืฉื ื•ืช ืืช ืงื•ื“ ื”ืžืงื•ืจ ืฉืœ ื”ืืคืœื™ืงืฆื™ื” ื”ืคื’ื™ืขื”, ืžื” ืฉื ื•ื— ืœืฉื™ืžื•ืฉ ื‘ืžืขืจื›ื•ืช ืื™ืจื•ื— ื”ืžื•ื ื™ ืฉื‘ื”ืŸ ืื™ ืืคืฉืจ ืœืขื“ื›ืŸ ืืช ื›ืœ ื™ื™ืฉื•ืžื™ ื”ืžืฉืชืžืฉ. ืขืœื•ื™ื•ืช ื”ืชืงื•ืจื” ืฉืœ ื”ืžื•ื“ื•ืœ ืžื•ืขืจื›ื•ืช ื›ืžื™ื ื™ืžืœื™ื•ืช. ื”ืžื•ื“ื•ืœ ื›ืชื•ื‘ ื‘-C, ืžื—ื•ื‘ืจ ื‘ืฆื•ืจื” ืฉืœ ืกืคืจื™ื™ื” ืžืฉื•ืชืคืช ("extension=snuffleupagus.so" ื‘-php.ini) ื• ืžื•ืคืฅ ืขืœ ื™ื“ื™ ืžื•ืจืฉื” ืชื—ืช LGPL 3.0.

Snuffleupagus ืžืกืคืงืช ืžืขืจื›ืช ื—ื•ืงื™ื ื”ืžืืคืฉืจืช ืœืš ืœื”ืฉืชืžืฉ ื‘ืชื‘ื ื™ื•ืช ืกื˜ื ื“ืจื˜ื™ื•ืช ื›ื“ื™ ืœืฉืคืจ ืืช ื”ืื‘ื˜ื—ื”, ืื• ืœื™ืฆื•ืจ ื›ืœืœื™ื ืžืฉืœืš ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ื ืชื•ื ื™ ืงืœื˜ ื•ืคืจืžื˜ืจื™ื ืฉืœ ืชืคืงื•ื“. ืœื“ื•ื’ืžื”, ื”ื›ืœืœ "sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]").drop();" ืžืืคืฉืจ ืœืš ืœื”ื’ื‘ื™ืœ ืืช ื”ืฉื™ืžื•ืฉ ื‘ืชื•ื•ื™ื ืžื™ื•ื—ื“ื™ื ื‘ืืจื’ื•ืžื ื˜ื™ื ืฉืœ ืคื•ื ืงืฆื™ื™ืช system() ืžื‘ืœื™ ืœืฉื ื•ืช ืืช ื”ื™ื™ืฉื•ื. ืฉื™ื˜ื•ืช ืžื•ื‘ื ื•ืช ืžืกื•ืคืงื•ืช ืœื—ืกื™ืžืช ืžื—ืœืงื•ืช ืฉืœ ืคื’ื™ืขื•ื™ื•ืช ื›ืžื• ื‘ืขื™ื•ืช, ะกะฒัะทะฐะฝะฝั‹ะต ืขื ืกื™ื“ื•ืจ ื ืชื•ื ื™ื, ืžึฐืกื•ึผื›ึผึธืŸ ืฉื™ืžื•ืฉ ื‘ืคื•ื ืงืฆื™ื™ืช PHP mail(), ื“ืœื™ืคื” ืฉืœ ืชื•ื›ืŸ Cookie ื‘ืžื”ืœืš ื”ืชืงืคื•ืช XSS, ื‘ืขื™ื•ืช ืขืงื‘ ื˜ืขื™ื ืช ืงื‘ืฆื™ื ืขื ืงื•ื“ ื”ืคืขืœื” (ืœื“ื•ื’ืžื”, ื‘ืคื•ืจืžื˜ ืคืืจ), ื™ืฆื™ืจืช ืžืกืคืจื™ื ืืงืจืื™ ื‘ืื™ื›ื•ืช ื™ืจื•ื“ื” ื• ื”ื—ืœืคื” ื‘ื ื™ื™ืช XML ืฉื’ื•ื™ื”.

ืžืฆื‘ื™ ืฉื™ืคื•ืจ ืื‘ื˜ื—ืช PHP ืฉืกื•ืคืงื• ืขืœ ื™ื“ื™ Snuffleupagus:

  • ื”ืคืขืœ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ื“ื’ืœื™ "ืžืื‘ื˜ื—" ื•-"samesite" (ื”ื’ื ื” ืขืœ CSRF) ืขื‘ื•ืจ ืงื•ื‘ืฆื™ Cookie, ื”ืฆืคื ื” ืขื•ื’ื™ื™ื”;
  • ืžืขืจื›ืช ื›ืœืœื™ื ืžื•ื‘ื ื™ืช ืœื–ื™ื”ื•ื™ ืขืงื‘ื•ืช ืฉืœ ื”ืชืงืคื•ืช ื•ื”ืชืคืฉืจื•ืช ืฉืœ ื™ื™ืฉื•ืžื™ื;
  • ื”ืคืขืœื” ื’ืœื•ื‘ืœื™ืช ื›ืคื•ื™ื” ืฉืœ "ืงึทืคึผึฐื“ึธื ึดื™" (ืœื“ื•ื’ืžื”, ื—ื•ืกื ื ื™ืกื™ื•ืŸ ืœืฆื™ื™ืŸ ืžื—ืจื•ื–ืช ื›ืืฉืจ ืžืฆืคื” ืœืขืจืš ืžืกืคืจ ืฉืœื ื›ืืจื’ื•ืžื ื˜) ื•ื”ื’ื ื” ืžืคื ื™ ืกื•ื’ ืžื ื™ืคื•ืœืฆื™ื”;
  • ื—ืกื™ืžืช ื‘ืจื™ืจืช ืžื—ื“ืœ ืขื˜ื™ืคื•ืช ืคืจื•ื˜ื•ืงื•ืœ (ืœื“ื•ื’ืžื”, ืื™ืกื•ืจ ืขืœ "phar://") ืขื ืจืฉื™ืžืช ื”ื”ื™ืชืจื™ื ื”ืžืคื•ืจืฉืช ืฉืœื”ื;
  • ืื™ืกื•ืจ ืขืœ ื‘ื™ืฆื•ืข ืงื‘ืฆื™ื ื”ื ื™ืชื ื™ื ืœื›ืชื™ื‘ื”;
  • ืจืฉื™ืžื•ืช ืฉื—ื•ืจ ื•ืœื‘ืŸ ืขื‘ื•ืจ eval;
  • ื ื“ืจืฉ ื›ื“ื™ ืœืืคืฉืจ ื‘ื“ื™ืงืช ืื™ืฉื•ืจ TLS ื‘ืขืช ื”ืฉื™ืžื•ืฉ
    ืกึดืœึฐืกื•ึผืœ;
  • ื”ื•ืกืคืช HMAC ืœืื•ื‘ื™ื™ืงื˜ื™ื ืžืกื•ื“ืจื™ื ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืฉื”ืกื™ื“ืจื™ืืœื™ื–ืฆื™ื” ืžืื—ื–ืจืช ืืช ื”ื ืชื•ื ื™ื ื”ืžืื•ื—ืกื ื™ื ื‘ืืคืœื™ืงืฆื™ื” ื”ืžืงื•ืจื™ืช;
  • ื‘ืงืฉืช ืžืฆื‘ ืจื™ืฉื•ื;
  • ื—ืกื™ืžืช ื˜ืขื™ื ื” ืฉืœ ืงื‘ืฆื™ื ื—ื™ืฆื•ื ื™ื™ื ื‘-libxml ื‘ืืžืฆืขื•ืช ืงื™ืฉื•ืจื™ื ื‘ืžืกืžื›ื™ XML;
  • ื™ื›ื•ืœืช ืœื—ื‘ืจ ืžื˜ืคืœื™ื ื—ื™ืฆื•ื ื™ื™ื (upload_validation) ื›ื“ื™ ืœื‘ื“ื•ืง ื•ืœืกืจื•ืง ืงื‘ืฆื™ื ืฉื”ื•ืขืœื•;

ื‘ื™ืŸ ืฉื™ื ื•ื™ื™ื ื‘ืžื”ื“ื•ืจื” ื”ื—ื“ืฉื”: ืชืžื™ื›ื” ืžืฉื•ืคืจืช ื‘-PHP 7.4 ื•ื”ื˜ืžืขืช ืชืื™ืžื•ืช ืขื ืขื ืฃ PHP 8 ืฉื ืžืฆื ื›ืขืช ื‘ืคื™ืชื•ื—. ื”ื•ืกืคื” ืืช ื”ื™ื›ื•ืœืช ืœื”ืชื—ื‘ืจ ืœืื™ืจื•ืขื™ื ื‘ืืžืฆืขื•ืช syslog (ื”ื ื—ื™ื™ืช sp.log_media ืžื•ืฆืขืช ืœื”ื›ืœืœื”, ืฉื™ื›ื•ืœื” ืœืงื—ืช ืขืจื›ื™ php ืื• syslog). ืžืขืจื›ืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืฉืœ ื”ื›ืœืœื™ื ืขื•ื“ื›ื ื” ื›ืš ืฉืชื›ืœื•ืœ ื›ืœืœื™ื ื—ื“ืฉื™ื ืขื‘ื•ืจ ืคื’ื™ืขื•ื™ื•ืช ืฉื–ื•ื”ื• ืœืื—ืจื•ื ื” ื•ื˜ื›ื ื™ืงื•ืช ื”ืชืงืคื” ื ื’ื“ ื™ื™ืฉื•ืžื™ ืื™ื ื˜ืจื ื˜. ืชืžื™ื›ื” ืžืฉื•ืคืจืช ื‘-macOS ื•ืฉื™ืžื•ืฉ ืžื•ืจื—ื‘ ื‘ืคืœื˜ืคื•ืจืžืช ื”ืื™ื ื˜ื’ืจืฆื™ื” ื”ืจืฆื™ืคื” ื”ืžื‘ื•ืกืกืช ืขืœ GitLab.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”