OpenSource - 开源WAF_SamWaf

在这里插入图片描述


Pre

Nginx - 集成ModSecurity实现WAF功能 用ModSecurity,能折腾成啥样都得靠自己 .


SafeLine VS SamWaf

长亭的号称开源和免费WAF:SafeLine,中文名叫"雷池" . SafeLine(雷池)虽然它声称是开源的,但实际上并未提供源代码

SamWaf 最近开源了代码,也为开发者提供了一条多的选择


开发初衷

在这里插入图片描述

  • 【轻量】早期在使用过一些产品基于 nginx,apache,iis 做插件进行防护,但是插件形式耦合度太高了。
  • 【私有化】 后期基本上都是有云防护,而私有化部署针对一般的中大企业能承受,普通小企业公司,小工作室费用有点太高了。
  • 【隐私加密】 网站防护过程中不希望本地数据上云做处理,想做一款涉及的本地信息进行加密,管理端的网络通信进行加密。
  • 【DIY】在这么多年网站维护开发过程中有些特定的功能想加入自己的想法,无法实现。
  • 【感知】如果站长没有用过类似的 waf ,单纯从自己的日志或者是 nginx 、apache 、IIS 等查看信息不方便,不知道到底网站有谁在访问,都请求了什么?

总之,在网站或 API 防护上做一款趁手的兵器,来抵御一些异常情况,确保网站和应用的正常运行。

软件介绍

SamWaf网站防火墙是一款适用于小公司、工作室和个人网站的开源轻量级网站防火墙,完全私有化部署,数据加密且仅保存本地,一键启动,支持Linux,Windows 64位

架构

在这里插入图片描述

界面

在这里插入图片描述

添加主机

在这里插入图片描述

攻击日志

在这里插入图片描述

CC

在这里插入图片描述

IP黑名单

在这里插入图片描述

IP白名单

在这里插入图片描述

LDP

在这里插入图片描述

添加规则脚本日志

在这里插入图片描述

选择日志

在这里插入图片描述

日志详情

在这里插入图片描述

手动规则

在这里插入图片描述

URL黑名单

在这里插入图片描述

URL白名单

在这里插入图片描述


主要功能

  • 代码完全开源
  • 支持私有化部署
  • 轻量化不依赖三方服务
  • 完全独立引擎,防护功能不依赖IIS,Nginx
  • 自定义防护规则,支持脚本和界面编辑
  • 支持白名单访问
  • 支持IP黑名单
  • 支持URL白名单
  • 支持限制URL访问
  • 支持指定界面数据隐私输出
  • 支持CC频率访问
  • 支持全局一键配置
  • 支持分网站单独防护策略
  • 日志加密保存
  • 通讯日志加密
  • 信息脱敏保存

使用说明

强烈建议您在测试环境测试充分在上生产,如遇到问题请及时反馈

下载最新版本

gitee: https://gitee.com/samwaf/SamWaf/releases

github: https://github.com/samwafgo/SamWaf/releases

快速启动

Windows

  • 直接启动
SamWaf64.exe
  • 服务形式
//安装
SamWaf64.exe install 

//启动
SamWaf64.exe start

//停止
SamWaf64.exe stop

//卸载
SamWaf64.exe uninstall

Linux

  • 直接启动
./SamWafLinux64
  • 服务形式
//安装
./SamWafLinux64 install 

//启动
./SamWafLinux64 start

//停止
./SamWafLinux64 stop

//卸载
./SamWafLinux64 uninstall

Docker

docker run -d --name=samwaf-instance \
           -p 26666:26666 \
           -p 80:80 \
           -p 443:443 \
           -v /path/to/your/conf:/app/conf \
           -v /path/to/your/data:/app/data \
           -v /path/to/your/logs:/app/logs \
           samwaf/samwaf


更多docker启动上面的解释 https://hub.docker.com/r/samwaf/samwaf

启动访问

http://127.0.0.1:26666

默认帐号:admin 默认密码:admin868 (注意首次进入请把默认密码改掉)

升级指南

注意:升级过程会终止服务,请在闲时进行升级。

自动升级

如有新版本页面会弹出升级框进行确认即可发起升级,升级完毕后,页面会自动刷新。

手动升级

  • 对于直接启动方式

关闭应用,下载最新程序替换,再手工启动就可以了。

  • 对于以服务形式
1.先暂停服务

  windows: SamWaf64.exe stop
  linux: ./SamWafLinux64 stop
  
2.替换最新应用文件

3.启动
windows: SamWaf64.exe start
linux: ./SamWafLinux64 start

PS:windows服务形式升级时候貌似会触发360、火绒规则导致无法正常替换新文件。此时可以手工替换。
熟悉这方面的朋友可以帮看下正确方式怎么处理。

在线文档

在线文档

代码相关

代码托管

介绍和编译

How to compile
编译说明

已测试支持的平台

已测试支持的平台

测试效果

测试效果

安全策略

安全策略

问题反馈

当前 SamWaf 还正在不停迭代,欢迎大家反馈问题、提出意见

许可证书

SamWaf 采用 Apache 2.0 license. 详细见 LICENSE .

第三方软件使用声明,见ThirdLicense

贡献代码

感谢以下小伙伴对本仓库的贡献!


在这里插入图片描述

<think>嗯,用户想用sqlmap进行数据库扫描,还提到了几个参数,比如-r、level、risk、dbs、batch、threads、hex。首先,我得回忆一下这些参数的作用。-r是用来从文件中加载HTTP请求的,这样用户可能已经捕获了一个请求,比如通过Burp Suite之类的工具。然后,level和risk参数控制检测的深度和风险等级,通常level越高,检测的范围越广,risk越高,可能会使用更侵入性的测试。 用户还提到dbs参数,这可能是指枚举数据库名称,所以需要确认是否正确使用--dbs。batch参数是自动选择默认选项,避免交互式提示,适合自动化运行。threads用于多线程,加快扫描速度,但要注意服务器负载。hex参数可能是指用十六进制编码来绕过一些过滤机制。 接下来,我需要检查用户提供的引用内容,看看有没有相关的参数说明。引用[2]里提到了--level和--risk的用法,默认值是1,范围分别是1-5和1-3。引用[4]提到探测等级和详细程度。用户可能需要一个具体的命令示例,结合所有这些参数。 另外,用户提到使用Python执行sqlmap,但sqlmap本身是用Python写的,通常直接通过命令行调用,而不是在Python脚本里。不过用户可能是指如何在Python中调用命令行工具,比如使用subprocess模块。但根据问题描述,用户可能只是需要正确的sqlmap命令,而不是Python代码。 需要确保命令中的参数正确组合,例如-r指定请求文件,--level和--risk设置合适的值,--dbs枚举数据库,--batch自动确认,--threads设置线程数,--hex启用编码。还要注意参数的正确顺序和语法,比如是否有等号或空格。 可能的错误点:用户可能混淆了-dbs和--dbs,正确的参数是--dbs。另外,线程数不宜过高,一般设置为10以内,避免被封禁。hex参数可能需要结合其他技术使用,比如--tamper。 最后,生成相关问题时要覆盖参数作用、性能优化、错误处理、结果保存和替代工具等方面,帮助用户深入理解。</think>以下是如何使用`sqlmap`进行数据库扫描并配置相关参数的步骤说明: --- ### 一、基础命令结构 ```bash sqlmap -r <请求文件路径> --level=<等级> --risk=<风险等级> --dbs --batch --threads=<线程数> --hex ``` 示例: ```bash sqlmap -r request.txt --level=3 --risk=2 --dbs --batch --threads=5 --hex ``` --- ### 二、参数详解 1. **`-r`** 指定包含HTTP请求的文件(如通过Burp Suite捕获的`.txt`文件),用于自动解析目标URL和参数[^2]。 2. **`--level`** 设置检测深度(1-5),默认1。等级越高,检测的参数范围越广(如Cookie、User-Agent等)[^4]: - Level 1:仅测试GET/POST参数 - Level 3:增加HTTP头注入测试 3. **`--risk`** 设置风险等级(1-3),默认1。高风险可能触发更多WAF拦截: - Risk 2:使用基于时间的盲注 - Risk 3:使用OR-based注入 4. **`--dbs`** 枚举所有可访问的数据库名称[^3]。 5. **`--batch`** 非交互模式,自动选择默认选项[^3]。 6. **`--threads`** 设置并发线程数(建议≤10),加速扫描但可能增加目标服务器负载。 7. **`--hex`** 对特定字符使用十六进制编码,绕过过滤规则。 --- ### 三、完整参数组合示例 ```bash sqlmap -r /path/to/request.txt --level=5 --risk=3 --dbs --batch --threads=8 --hex --tamper=space2comment ``` - 添加`--tamper`参数可绕过WAF(如`space2comment`替换空格为注释符)[^2]。 --- ### 四、注意事项 1. 使用`--proxy`参数通过代理扫描,避免暴露真实IP: ```bash sqlmap -r request.txt --proxy=http://127.0.0.1:8080 ``` 2. 通过`-v 3`查看注入Payload细节[^4]: ```bash sqlmap -r request.txt -v 3 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小工匠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值