WAP-2.1
WAP 是一种源代码静态分析和数据挖掘工具,用于检测和纠正用 PHP 4.0 或更高版本编写的 Web 应用程序中的输入验证漏洞,且误报率较低。
WAP 检测并纠正以下漏洞:
- SQL Injection (SQLI)
- Cross-site scripting (XSS)
- Remote File Inclusion (RFI)
- Local File Inclusion (LFI)
- Directory Traversal or Path Traversal (DT/PT)
- Source Code Disclosure (SCD)
- OS Command Injection (OSCI)
- PHP Code Injection
该工具从语义上分析源代码。
更准确地说,它会进行污点数据流分析以检测输入验证漏洞。
污点分析的目的是跟踪由入口点 ($_GET, $_POST 数组) 插入的恶意输入,并验证它们是否到达了一些敏感的接收器,即可被恶意输入利用的 PHP 函数。
检测到之后,该工具将使用数据挖掘来确认漏洞是真实的还是误报的。
最后,通过在源代码中插入修订 (小段代码) 来纠正实际漏洞。
WAP 是用 Java 语言编写的,并且由三个模块组成:
- 代码分析器: 由树生成器和污点分析器组成。该工具集成了 ANTLR 生成的词法分析器和解析器,并基于用 PHP 语言编写的语法和树语法。树生成器使用词法分析器和解析器为每个 PHP 文件构建 AST 抽象语法树。污点分析器在 AST 中导航进行污点分析,以检测潜在的漏洞。
- 误报预测因子: 由监督训练有素的数据集组成,实例分类为漏洞和误报,并由逻辑回归机器学习算法组成。对于由代码分析器检测到的每个潜在漏洞,此模块都会收集定义误报的属性的存在。然后,逻辑回归算法接收到它们并将实例分类为是否为误报或真实漏洞。
- 代码校正器: 每个真实的漏洞都会通过更正其源代码来删除。此模块针对漏洞的类型选择修复程序,该修复程序将删除漏洞并在源代码中指示要插入此修复程序的位置。然后,通过插入修补程序来更正代码,并创建新文件。
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*                           WAP - Web Application Protection                          *
*                    Source Code Static Analysis & Data Mining Tool                   *
*                                     version 2.1                                     *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Usage:
  wap [options] -p <project>
  wap [options] file(s)
选项:
  -a               检测漏洞而无需更正它们
  -s               仅显示全局摘要
  -sqli            检测 SQLI 漏洞 如果不与 "-a" 一起使用还将自动更正它们
  --dbms <dbms>    指定应用程序使用的 DBMS 数据库管理系统 可用的 DBMS 包括: MySql, DB2, PostgreSQL 该选项仅与 "-sqli" 选项一起使用并且默认情况下选择了 MySQL 数据库管理系统 用于 DBMS 的选项包括: mysql, db2, pg
  -ci              检测 RFI/LFI/DT/SCD/OS/PHP Code Injection 漏洞 如果不与 "-a" 一起使用还将自动更正它们
  -xss             检测反射型和存储型 XSS 漏洞 如果不与 "-a" 一起使用还将自动更正它们
  -all             检测所有类型的漏洞 与 "-sqli -ci -xss" 相同 如果不与 "-a" 一起使用还将自动更正它们
  -out <arg>       将标准输出转发到参数中指定的文件
  -p <project>     指定完整的项目位置文件 指定一个或多个 PHP 文件的完整路径
  -h, -help        显示此信息
WAP-2.1的更多相关文章
- wap支付宝接口的问题
		今天在支付宝接口开发时,遇到的两个坑 第一个: https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.8nHr4i& ... 
- 淘宝WAP版小BUG分析
		前几天发现的一个淘宝WAP版的小BUG,就是用桌面版chrome看的时候产品评价中的图片显示不出来,都是图裂了. 这是什么原因呢?图片为什么会显示不出来呢?淘宝的技术人员.测试人员不可能没发现啊.开启 ... 
- wap
		1.wap下拉刷新丑陋版 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http: ... 
- WAP站点(IIS/Apache)的服务器设置
		Server 端的设置IIS服务器:为了使IIS支持WAP(WML)页面的发布,在IIS的Web站点的属性 / HTTP信息中设置WAP的MIME属性,添加如下的MIME类型:扩展名 内容类型(MIM ... 
- 支付宝WAP支付接口开发(Node/Coffee语言)
		此博客不更新很久了, 更新的文档在这, 有兴趣到这里围观: http://neutra.github.io/2013/%E6%94%AF%E4%BB%98%E5%AE%9DWAP%E6%94%AF%E ... 
- 数据结构《21》----2014 WAP 初试题----Immutable queue
		2014 WAP初试题----实现一个不可变的队列: 看似很简单..实则,不同的版本效率的差距可能是巨大的..甚至难以想象.. 之前用STL库的queue进行了对比,差别非常大.. 用上一篇文章的im ... 
- 我刚知道的WAP app中meta的属性
		之前我一直做的都是WEB前端开发,来北京以后面试了一个移动前端开发,WAP前端开发. 其实在原来公司的时候也做过这方面的开发,可面试的时候面试官问我,要想强制让文档与设备的宽度保持1:1,mate标签 ... 
- 也来谈谈wap端瀑布流布局
		Definition 瀑布流布局,在视觉上表现为参差不齐的多栏布局,随着页面滚动条向下滚动,新数据不断被加载进来. 瀑布流对于图片的展现,是高效而具有吸引力的,用户一眼扫过的快速阅读模式可以在短时间内 ... 
- wap页面笔记
		wap页面是自行应页面 必须在head中加入 <meta content="width=device-width, initial-scale=1.0, maximum-scale=1 ... 
- JS判断是wap端访问网站还是PC端访问,然后进行自动跳转的代码
		<script type="text/javascript"> function goPAGE() { if ((navigator.userAgent.match(/ ... 
随机推荐
- 在k8s中使用harbor仓库
			在k8s中使用harbor仓库 修改每个node上的docker认证仓库 将每个node节点上的docker同样需要配置可信任仓库 vi /etc/docker/daemon.json #修改为 {& ... 
- jquery 中根据日期计算天数,以及去掉字符串中的空格
			//方法 增添dayNumber天 ,dates:日期 年月日 function SubDay(dayNumber, dates) { var date= new Date(dates ); date ... 
- docker rabbitMQ安装
			1.环境准备 服务器 CENTOS 7 版本 安装docker容器 2.开始安装 docker pull rabbitmq:management 说明:为什么不直接安装 docker pull rab ... 
- JavaScript基础知识整理(对象的属性)
			对象的定义 无序属性的集合,属性可以包括基本值,对象或函数. JavaScript中有两类属性,数据属性和访问器属性. 特征值 JavaScript使用特征值来描述属性的行为,因为是为实现JavaSc ... 
- Spark 中三种数据处理对象的区别: RDD-Dataset-Dataframe
			1,对比表: RDD Dataframe Dataset 版本 1.0 1.3 1.6 描述 分布式数据集合 行列化的分布式数据集合 RDD 和 DataFrame的结合 数据格式 结构化和非结 ... 
- MyBatis_09(逆向工程)
			MyBatis的逆向工程 正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表.Hibernate是支持正向工程的 逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源: J ... 
- 山寨e网通公告
			SHANZGONGG山寨e网通V1.0[换行]软件完全免费,官方绝不会索取任何费用,请勿被骗,后果自负.[换行]如果你有什么更好的建议或者需要哪里改进的地方,请联系作者QQ206044600反馈,前提 ... 
- SQL Server【基础】DDL 数据定义语言
			DDL 操作数据库,schema,表等语句 Create,Alter,Drop,DECLARE database --1.说明:创建数据库 Create DATABASE database-name ... 
- 当前工程中typescritpt依赖包与依赖包中依赖包类型不一致如何解决
			在开发中,遇到文件中引入webpack,但是webpack.ICompiler不一致的情况 //import webpack from 'webpack'; import webpackHot fro ... 
- nacos原理
			配置中心原理 1.Nacos 客户端使用长轮询请求客户端变更数据,并且设置30s超时,当配置发生变化响应会立即返回,否则一直等到29.5s之后再返回响应. 2.客户端的请求到达服务端后,服务端将该请求 ... 
