Stars: 608
Forks: 70
Pull Requests: 200
Issues: 235
Watchers: 41
Last Updated: 2022-08-30 16:39:38
Security module for php7 and php8 - Killing bugclasses and virtual-patching the rest!
License: GNU Lesser General Public License v3.0
Languages: Makefile, PHP, M4, JavaScript, C, Python, Shell, C++
Key Features • Download • Examples • Documentation • License • Thanks
Snuffleupagus is a PHP 7+ and 8+ module designed to drastically raise the cost of attacks against websites, by killing entire bug classes. It also provides a powerful virtual-patching system, allowing administrator to fix specific vulnerabilities and audit suspicious behaviours without having to touch the PHP code.
mail
-based code executionsecure
and samesite
flag for cookieseval
clang-format
-enforced code styleWe've got a download
page, where you can find
packages for your distribution, but you can of course just git clone
this
repo, or check the releases on github.
We're providing various example rules, that are looking like this:
# Harden the `chmod` function
sp.disable_function.function("chmod").param("mode").value_r("^[0-9]{2}[67]$").drop();
# Mitigate command injection in `system`
sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]").drop();
Upon violation of a rule, you should see lines like this in your logs:
[snuffleupagus][0.0.0.0][disabled_function][drop] The execution has been aborted in /var/www/index.php:2, because the return value (0) of the function 'strpos' matched a rule.
We've got a comprehensive website with all the documentation that you could possibly wish for. You can of course build it yourself.
Many thanks to: