专栏首页FreeBufLightBulb:一个用于审计web应用程序防火墙的开源框架

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

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等):

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测试的支持:

sudo apt-get install libmysqlclient-dev

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

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测试的支持:

sudo yum install -y mysql-devel 
sudo yum install -y MySQL-python

安装 Lightbulb

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

git clone https://github.com/lightbulb-framework/lightbulb-framework
cd lightbulb-framework
make
lightbulb status

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

pip install setuptools --upgrade
pip install lightbulb-framework
lightbulb status

如果你想使用virtualenv:

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实例:

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

本文分享自微信公众号 - FreeBuf(freebuf)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Intelspy:一款功能强大的自动化网络侦察扫描工具

    Intelspy是一款功能强大的自动化网络侦察扫描工具,它能够执行自动化的网络侦察扫描任务,并收集网络情报信息。

    FB客服
  • 分享一款基于Pocsuite的漏洞扫描系统

    本项目是一款基于 Flask 应用框架的在线漏洞扫描系统,同时集成了渗透测试常用的端口扫描、子域名爆破等功能,后端漏洞扫描采用的是知道创宇安全团队的开源漏洞测试...

    FB客服
  • 有趣!10个你不得不知的Linux终端游戏

    Linux 终端在多数人眼中,是一个非常单调和无聊的工作环境,一个纯黑色背景的输入框,一串串让人记哭的命令,仿佛这些就是它的全部。而相比 Windows 系统,...

    FB客服
  • Ubuntu 初始化配置

    本文简要介绍了 Ubuntu 常用配置。 网络配置 静态IP 编辑 /etc/network/interface 文件。 # The primary netwo...

    康怀帅
  • 在R语言中进行缺失值填充:估算缺失值

    估算缺失值的方法的选择在很大程度上影响了模型的预测能力。在大多数统计分析方法中,按列表删除是用于估算缺失值的默认方法。但是,它不那么好,因为它会导致信息丢失。

    拓端
  • 用数据说话——数据分析的基本思想

    用数据说话,就是用真实的数据说真实的话!真实也可以理解为求真务实。那么,数据分析就是不断地求真,进而持续地务实的过程!用一句话表达就是用数据说话,用真实的数据说...

    CDA数据分析师
  • 用数据说话:数据分析的基本思想是什么?

    今天分享一下数据分析的一些基本思想,我给它起了个名字叫做用数据说话。内容都是个人的一些心得,比较肤浅!如有不足之处,希望大家谅解!废话不说了,现在咱正式开始。 ...

    CDA数据分析师
  • 五个趣味案例教你数据分析的基本思想

    今天和大家分享一下数据分析的一些基本思想,我给它起了个名字叫做用数据说话。 用数据说话,就是用真实的数据说真实的话!真实也可以理解为求真务实。那么,数据分析就是...

    机器学习AI算法工程
  • 【经典】用五个趣味案例教你数据分析的基本思想

    今天和大家分享一下数据分析的一些基本思想,我给它起了个名字叫做用数据说话。内容都是个人的一些心得,比较肤浅!如有不足之处,希望大家谅解!废话不说了,现在咱正式开...

    小莹莹
  • 数据分析的基本思想是什么

    用数据说话,就是用真实的数据说真实的话!真实也可以理解为求真务实。那么,数据分析就是不断地求真,进而持续地务实的过程!用一句话表达就是用数据说话,用真实的数据说...

    华章科技

扫码关注云+社区

领取腾讯云代金券