前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LightBulb:一个用于审计web应用程序防火墙的开源框架

LightBulb:一个用于审计web应用程序防火墙的开源框架

作者头像
FB客服
发布2019-03-08 15:14:10
7660
发布2019-03-08 15:14:10
举报
文章被收录于专栏:FreeBufFreeBuf

LightBulb是一个基于python的,用于审计web应用程序防火墙和过滤器的开源框架。

该框架包含了以下两个主要算法:

GOFA:一种主动学习算法,在在标准的等价查询模型中自动推断符号并表示。主动学习算法允许远程分析过滤器和Sanitizer程序,即只允许查询目标程序并观察输出。 SFADiff:一种基于符号有限自动机(SFA)学习的黑盒测试算法。查找具有类似功能程序之间的差异是一个重要的安全问题,因为这些差异可用于指纹识别或针对安全软件(如Web应用防火墙(WAF))的规避攻击,这些安全软件旨在检测Web应用程序的恶意输入。

动机

Web应用防火墙(WAF)是现代应用程序安全性的重要保障之一。例如,处理信用卡交易组织的PCI标准就规定,面向互联网的任何应用程序都应受到WAF保护或已通过标准的代码审计流程,但审计Web应用防火墙仍是一项具有挑战性且复杂的任务。查找绕过防火墙的攻击方法,通常都需要具备专业领域的知识。因此,没有掌握这种技能的渗透测试人员会留下公开的攻击字符串列表,如XSS Cheat Sheet,这些列表通常不足以全面评估WAF产品的安全性。

命令使用

主界面命令:

命令

描述

core

显示可用的core模块

utils

显示可用的查询处理程序

info

打印模块信息

library

进入library

modules

显示可用的应用模块

use

进入模块

start

启动算法

help

打印帮助信息

status

检查并安装需要的软件包

complete

打印bash完成命令

模块命令:

命令

描述

back

返回到主菜单

info

打印当前模块信息

library

进入library

options

显示可用选项

define

设置选项值

start

启动算法

complete

打印bash完成命令

Library 命令:

命令

描述

back

返回到主菜单

info

打印请求的模块信息(文件夹必须位于lightbulb/data/)

cat

打印请求的模块(文件夹必须位于lightbulb/data/)

modules

在请求的文件夹中显示可用的库模块(文件夹必须位于lightbulb/data/)

search

使用逗号分隔的关键字搜索可用的库模块

complete

打印bash完成命令

安装

系统准备

首先,你必须先验证你的系统是否支持flex,python dev,pip和build:

对于apt平台(如ubuntu,debian等):

代码语言:javascript
复制
sudo apt-get install flex
sudo apt-get install python-pip
sudo apt-get install python-dev
sudo apt-get install build-essential

(apt可选)如要添加对MySQL测试的支持:

代码语言:javascript
复制
sudo apt-get install libmysqlclient-dev

对于已安装了额外软件包repo(epel-release)的yum平台(如centos,redhat,fedora等):

代码语言:javascript
复制
sudo yum install -y python-pip
sudo yum install -y python-devel
sudo yum install -y wget
sudo yum groupinstall -y 'Development Tools'

(yum可选)如要添加对MySQL测试的支持:

代码语言:javascript
复制
sudo yum install -y mysql-devel 
sudo yum install -y MySQL-python

安装 Lightbulb

在没有完整包安装的情况下使用应用程序:

代码语言:javascript
复制
git clone https://github.com/lightbulb-framework/lightbulb-framework
cd lightbulb-framework
make
lightbulb status

为了执行完整的包安装,你也可以从pip存储库来安装它。前提是你已安装最新的setuptools版本:

代码语言:javascript
复制
pip install setuptools --upgrade
pip install lightbulb-framework
lightbulb status

如果你想使用virtualenv:

代码语言:javascript
复制
pip install virtualenv
virtualenv env
source env/bin/activate
pip install lightbulb-framework
lightbulb status

“lightbulb status”命令将引导你安装对MySQLdb和OpenFst的支持。如果在linux中使用virtualenv,则只需安装libmysqlclient-dev软件包(需要sudo)。

应该注意的是,如果要使用Burp Extension,则不需要执行“lightbulb status”命令。原因是该命令安装了“openfst”和“mysql”bindings,默认情况下扩展名使用的是Jython,不支持C bindings。建议仅在希望从设置更改burp扩展配置并启用本机支持时使用该命令,也可以使用docker实例:

代码语言:javascript
复制
docker pull lightbulb/lightbulb-framework

安装 Burp Extension

如果你想使用新的GUI,可以使用Burp Suite的扩展程序。首先,你必须使用Burp Proxy和Jython设置工作环境

下载最新的Jython 找到你本地的python包安装文件夹* 配置Burp Extender以使用这些值,如下所示*

选择新的LightBulb模块(“BurpExtension.py”)并将扩展类型设置为“Python”

*你也可以忽略此步骤,直接下载安装包含所有所需python包的独立版本。

示例

Wiki page的使用示例:https://github.com/lightbulb-framework/lightbulb-framework/wiki

项目贡献人员

George Argyros Ioannis Stais Suman Jana Angelos D. Keromytis Aggelos Kiayias

*参考来源:kitploit,FB小编secist编译,转载请注明来自FreeBuf.COM

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 动机
  • 命令使用
  • 安装
    • 系统准备
      • 安装 Lightbulb
      • 安装 Burp Extension
      • 示例
      • 项目贡献人员
      相关产品与服务
      云数据库 SQL Server
      腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档