Need help with awd-watchbird?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

leohearts
275 Stars 60 Forks GNU Affero General Public License v3.0 149 Commits 0 Opened issues

Description

A powerful PHP WAF for AWD

Services available

!
?

Need anything else?

Contributors list

No Data

本项目禁止用于比赛. 如果您需要一个比赛场景下的WAF, 可以考虑DasSecurity-Labs/AoiAWD. (但请注意规则是否允许第三方通防)

Watchbird

A powerful PHP WAF for AWD

功能:

  • 易于配置(单文件, 无需加载外部js/css)
  • 可以随时开启/关闭某项防御
  • 基本防御:
    • 数据库注入(sql injection)
    • 文件上传(upload)
    • 文件包含(lfi)
    • flag关键字
    • PHP反序列化(unserialize)
    • 命令执行(rce)
    • 分布式拒绝服务攻击(ddos)
    • 请求头,请求参数(GET/POST)关键字
    • 特殊字符
  • 深度防御:
    • 响应检测/反向代理(默认将流量发送至本地服务器自检,可配置代理服务器IP及端口实现反代功能)
    • 响应flag检测并返回虚假flag
    • 基于LD_PRELOAD的指令执行保护
    • 基于open_basedir的PHP文件操作保护
  • 网页控制台:
    • 功能开关及配置
    • 实时日志查看
    • 日志流量重放, 可广播流量至指定网段, 支持提取flag自动提交
    • RCE/文件上传/深度检测 防御通知(由于chrome无法允许不安全的网站(无SSL证书)显示通知,请使用Firefox并修改about:config中dom.webnotifications.allowinsecure为true)

使用

  • 下载最新 release
  • 将waf.so,watchbird.php文件存放在/var/www/html或其他目录中
  • 将watchbird.php放在www-data可读的目录, 确保当前用户对目标目录可写, 然后执行
    php watchbird.php --install [Web目录]
    , 安装器将输出安装了watchbird的文件路径
  • 访问任意启用了waf的文件, 参数
    ?watchbird=ui
    打开watchbird控制台, 创建一个初始密码
  • 如需卸载, 请在相同的位置输入
    php watchbird.php --uninstall [Web目录]
    , 如果您多次运行了安装, 请多次运行卸载直到卸载器无输出

构建

  • git clone https://github.com/leohearts/awd-watchbird.git
  • 使用

    pyhton3 pack.py
    将源码打包为单文件
  • 编译waf.c生成.so文件,参考命令:gcc waf.c -shared -o waf.so

截图

Screenshot_2021-03-08 Watchbird控制台.png

Screenshot_2021-03-08 Watchbird控制台_1_.png

Screenshot_2021-03-08 Watchbird控制台_2_.png

贡献者

  • Leohearts
  • Longlone
  • (欢迎Issue及Pull Request)

本项目的开发仅出于研究目的, 请不要在比赛中使用.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.