语言应用防火墙

dev-master 2019-07-25 07:28 UTC

This package is auto-updated.

Last update: 2024-08-25 19:58:23 UTC


README

语言应用防火墙
目前仅支持PHP

Build Status Packagist Packagist

示例

  • 将您的代码嵌入到 $detector->start() 和 $detector->finish() 之间
  • 如果检测到攻击,则会生成警报,可以使用 $detector->getAlarms() 获取警报
<?php
    $detector = new Ids\Detector;
    $detector->start();
        
    include("yourcode.php");

    $detector->finish();
    
    var_dump($detector->getAlarms());
?>

当您的 code.php 易受攻击时(在这个示例中是一个模拟的XSS攻击)

<?php

$detector->getHttprequest()->getRequest()->query->set("vuln", "ee\" onClick=alert('eee') \"boum");
$vulnparam = $detector->getHttprequest()->getRequest()->query->get("vuln");

echo "<a href=\"$vulnparam\"></a>";

将生成此警报

{
  [0]=>
  object(laf\Alarming\Alarm)#24 (4) {
    ["attack":"laf\Alarming\Alarm":private]=>
    string(3) "xss"
    ["description":"laf\Alarming\Alarm":private]=>
    string(38) "in vuln ee" onClick=alert('eee') "boum"
    ["score":"laf\Alarming\Alarm":private]=>
    int(0)
    ["time":"laf\Alarming\Alarm":private]=>
    string(15) "190725 09:19:13"
  }
}