waf审计工具
lightbulb-framework的Python项目详细描述
#lightbulb
lightbulb是一个开源的python框架,用于审核web应用程序防火墙和过滤器。
<;p align="center">;
<;img src="https://lightbulb-framework.github.io/assets/images/logo5full.png"height="400">;
<;/p>;
远程过滤和消毒程序,也就是说,只要给出查询目标程序和观察输出的能力。
**sfadiff**:基于符号有限自动机(sfa)学习的黑盒差异测试算法
这样的差异可用于指纹识别或创建针对安全软件(如Web应用程序防火墙(WAF))的规避攻击,这些安全软件旨在检测对Web应用程序的恶意输入。
现代应用程序安全的基本构造块。例如,用于处理信用卡交易的组织的pci标准规定,面向internet的任何应用程序都应该受到waf的保护,或者成功地通过代码审查过程。然而,尽管web应用防火墙的流行和重要性,它的审计仍然是一项具有挑战性和复杂性的任务。查找绕过防火墙的攻击通常需要特定漏洞类的专家域知识。因此,没有掌握这些知识的渗透测试人员会留下公开的攻击字符串列表,比如xss备忘单,这通常不足以彻底评估WAF产品的安全性。
我们证明了自动机学习算法可以用来获得有用的waf模型。给出了这样一个模型,我们展示了如何手动或自动构造一个描述可能的攻击集的语法,然后根据获得的防火墙模型对其进行测试。此外,如果我们的系统无法找到攻击,则生成防火墙的正则表达式模型以供进一步分析。使用此技术,我们在流行的waf中发现了10多个以前未知的漏洞,如mod security、phpids和expose,允许我们绕过防火墙安装sql注入和xss攻击。最后,我们介绍lightbulb,一个开源的python框架,用于使用上述技术审计web应用程序防火墙。在发行版中,我们包含了一组用于查找漏洞的语法。
[![BHEU16演示文稿](http://image.slidesharecdn.com/another brick-161109104820/85/another-brick-off-the-wall-deconstructing-web-application-firewalls-using-automata-learning-1-320.jpg)(http://www.slideshare.net/einstais/another-brick-off-the-wall-deconstructing-web-application-firewalls-using-automata-lea)rning)
info\<;module\>;打印模块信息
library进入库
modules显示可用的应用程序模块
use\<;module\>;进入模块
start\<;modulea\>;\<;moduleb\>;|启动算法
帮助打印帮助
状态检查并安装所需的包
complete打印bash completion命令
当前模块信息
library输入库
options显示可用选项
define\<;option\>;\<;value\>;设置选项值
start initiate algoritm
complete打印bash completion命令
库命令:
位于灯泡/data/)
cat\<;folder\&module\>;打印请求的模块(文件夹必须位于灯泡/data/)
modules\<;folder\>;显示请求文件夹中的可用库模块(文件夹必须位于灯泡/data/)
search\<;keywords\>;使用逗号分隔的关键字搜索可用的库模块
complete打印bash completion命令
pip和build实用程序:
对于apt平台(ubuntu,debian…):
``bash
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测试:
``bash
sudo apt get install libmysqlclient dev
```
fedora…)如果您想添加支持MySQL测试:
``bash
sudo yum install-y mysql devel
sudo yum install-y mysql python
```
https://github.com/lightbulb framework/lightbulb framework
cd lightbulb framework
制作灯泡状态
`````
您还可以从pip存储库安装它。这首先需要安装最新的setuptools版本:
``bash
pip install setuptools--升级
pip install lightbulb framework
lightbulb status
````
env/bin/activate
pip安装灯泡框架
灯泡状态
````
"灯泡状态"命令将指导您安装mysqldb和openfst支持。如果在Linux中使用Virtualenv,则仅在安装libmysqlclient dev包时才需要"sudo"命令。
应注意,如果要使用BURP扩展,则不必使用"灯泡状态"命令。原因是这个命令安装了"openfst"和"mysql"绑定,默认情况下扩展使用的是jython,它不支持c绑定。建议仅当您想从设置中更改BURP扩展配置并启用本机支持时才使用该命令。
[Debian Linux上的灯泡安装](https://j.gifs.com/o75xwl.gif)](https://www.youtube.com/watch?V=JJW32JC744G)安装burp扩展名
如果希望使用新的gui,可以使用[burp套件]的扩展名(https://portswigger.net/burp/)。首先,您必须使用burp proxy和jython设置一个工作环境
*从[此处](http://www.jython.org/downloads.html)下载最新的jython
*找到本地python包安装文件夹*
*配置burp extender以使用这些值,如下所示*
<;img src="https://lightbulb-framework.github.io/assets/images/burp_jython_python.png"width="300">;
*选择新的灯泡模块("burp extension.py")并将扩展类型设置为"python"
<;img src="https://lightbulb-framework.github.io/assets/images/burp_extension.png"width="600">;
*您可以忽略此步骤,安装包含所有必需的python包的独立版本。您可以[在此处]下载它(https://github.com/lightbulb framework/lightbulb framework/files/2079793/lightbulb framework.zip)
\examples
查看[维基页面](https://github.com/lightbulb-framework/lightbulb-framework/wiki)以获取使用示例。
##贡献者
*乔治·阿吉罗斯
*伊奥尼斯·斯塔斯
*苏曼·贾纳
*安杰洛斯·D·克罗伊蒂斯
*阿吉洛斯·基亚亚斯
参考文献
**G.阿吉罗斯、I.斯塔斯、S.贾纳、A.D.克罗伊蒂斯和A.基亚亚斯。2016。sfadiff:使用黑箱差分自动机学习的自动规避攻击和指纹识别。在2016年ACM SIGSAC计算机和通信安全会议记录(CCS’16)。ACM,纽约,纽约,美国,1690-1701。DOI:10.1145/2976749.2978383*
**G.Argyros、I.Stais、A.Kiayias和A.D.Keromytis,"黑色回归:对消毒剂和过滤器进行正式的黑盒分析",2016年IEEE安全与隐私研讨会(SP),加利福尼亚州圣何塞,2016年,第91-109页。doi:10.1109/sp.2016.14*
lightbulb是一个开源的python框架,用于审核web应用程序防火墙和过滤器。
<;p align="center">;
<;img src="https://lightbulb-framework.github.io/assets/images/logo5full.png"height="400">;
<;/p>;
远程过滤和消毒程序,也就是说,只要给出查询目标程序和观察输出的能力。
**sfadiff**:基于符号有限自动机(sfa)学习的黑盒差异测试算法
这样的差异可用于指纹识别或创建针对安全软件(如Web应用程序防火墙(WAF))的规避攻击,这些安全软件旨在检测对Web应用程序的恶意输入。
现代应用程序安全的基本构造块。例如,用于处理信用卡交易的组织的pci标准规定,面向internet的任何应用程序都应该受到waf的保护,或者成功地通过代码审查过程。然而,尽管web应用防火墙的流行和重要性,它的审计仍然是一项具有挑战性和复杂性的任务。查找绕过防火墙的攻击通常需要特定漏洞类的专家域知识。因此,没有掌握这些知识的渗透测试人员会留下公开的攻击字符串列表,比如xss备忘单,这通常不足以彻底评估WAF产品的安全性。
我们证明了自动机学习算法可以用来获得有用的waf模型。给出了这样一个模型,我们展示了如何手动或自动构造一个描述可能的攻击集的语法,然后根据获得的防火墙模型对其进行测试。此外,如果我们的系统无法找到攻击,则生成防火墙的正则表达式模型以供进一步分析。使用此技术,我们在流行的waf中发现了10多个以前未知的漏洞,如mod security、phpids和expose,允许我们绕过防火墙安装sql注入和xss攻击。最后,我们介绍lightbulb,一个开源的python框架,用于使用上述技术审计web应用程序防火墙。在发行版中,我们包含了一组用于查找漏洞的语法。
[![BHEU16演示文稿](http://image.slidesharecdn.com/another brick-161109104820/85/another-brick-off-the-wall-deconstructing-web-application-firewalls-using-automata-learning-1-320.jpg)(http://www.slideshare.net/einstais/another-brick-off-the-wall-deconstructing-web-application-firewalls-using-automata-lea)rning)
info\<;module\>;打印模块信息
library进入库
modules显示可用的应用程序模块
use\<;module\>;进入模块
start\<;modulea\>;\<;moduleb\>;|启动算法
帮助打印帮助
状态检查并安装所需的包
complete打印bash completion命令
当前模块信息
library输入库
options显示可用选项
define\<;option\>;\<;value\>;设置选项值
start initiate algoritm
complete打印bash completion命令
库命令:
位于灯泡/data/)
cat\<;folder\&module\>;打印请求的模块(文件夹必须位于灯泡/data/)
modules\<;folder\>;显示请求文件夹中的可用库模块(文件夹必须位于灯泡/data/)
search\<;keywords\>;使用逗号分隔的关键字搜索可用的库模块
complete打印bash completion命令
pip和build实用程序:
对于apt平台(ubuntu,debian…):
``bash
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测试:
``bash
sudo apt get install libmysqlclient dev
```
fedora…)如果您想添加支持MySQL测试:
``bash
sudo yum install-y mysql devel
sudo yum install-y mysql python
```
https://github.com/lightbulb framework/lightbulb framework
cd lightbulb framework
制作灯泡状态
`````
您还可以从pip存储库安装它。这首先需要安装最新的setuptools版本:
``bash
pip install setuptools--升级
pip install lightbulb framework
lightbulb status
````
env/bin/activate
pip安装灯泡框架
灯泡状态
````
"灯泡状态"命令将指导您安装mysqldb和openfst支持。如果在Linux中使用Virtualenv,则仅在安装libmysqlclient dev包时才需要"sudo"命令。
应注意,如果要使用BURP扩展,则不必使用"灯泡状态"命令。原因是这个命令安装了"openfst"和"mysql"绑定,默认情况下扩展使用的是jython,它不支持c绑定。建议仅当您想从设置中更改BURP扩展配置并启用本机支持时才使用该命令。
[Debian Linux上的灯泡安装](https://j.gifs.com/o75xwl.gif)](https://www.youtube.com/watch?V=JJW32JC744G)安装burp扩展名
如果希望使用新的gui,可以使用[burp套件]的扩展名(https://portswigger.net/burp/)。首先,您必须使用burp proxy和jython设置一个工作环境
*从[此处](http://www.jython.org/downloads.html)下载最新的jython
*找到本地python包安装文件夹*
*配置burp extender以使用这些值,如下所示*
<;img src="https://lightbulb-framework.github.io/assets/images/burp_jython_python.png"width="300">;
*选择新的灯泡模块("burp extension.py")并将扩展类型设置为"python"
<;img src="https://lightbulb-framework.github.io/assets/images/burp_extension.png"width="600">;
*您可以忽略此步骤,安装包含所有必需的python包的独立版本。您可以[在此处]下载它(https://github.com/lightbulb framework/lightbulb framework/files/2079793/lightbulb framework.zip)
\examples
查看[维基页面](https://github.com/lightbulb-framework/lightbulb-framework/wiki)以获取使用示例。
##贡献者
*乔治·阿吉罗斯
*伊奥尼斯·斯塔斯
*苏曼·贾纳
*安杰洛斯·D·克罗伊蒂斯
*阿吉洛斯·基亚亚斯
参考文献
**G.阿吉罗斯、I.斯塔斯、S.贾纳、A.D.克罗伊蒂斯和A.基亚亚斯。2016。sfadiff:使用黑箱差分自动机学习的自动规避攻击和指纹识别。在2016年ACM SIGSAC计算机和通信安全会议记录(CCS’16)。ACM,纽约,纽约,美国,1690-1701。DOI:10.1145/2976749.2978383*
**G.Argyros、I.Stais、A.Kiayias和A.D.Keromytis,"黑色回归:对消毒剂和过滤器进行正式的黑盒分析",2016年IEEE安全与隐私研讨会(SP),加利福尼亚州圣何塞,2016年,第91-109页。doi:10.1109/sp.2016.14*