编译安装OWASP WebScarab
来源:互联网 发布:外贸怎么推广知乎 编辑:程序博客网 时间:2024/06/06 15:01
Sorry, 现在发现文档下面所说的编译方法已经不适用新的WebScarab了,新的编译方法参考另一篇文章:http://blog.csdn.net/eatmilkboy/article/details/7793244
最近在使用WebScarab的时候发现有个bug,这个bug本身很容易修复,只是为此无法使用直接下载的WebScarab的binary,必须重新编译一下。特把编译过程纪录下来。
下载源代码:
直接通过IE下载最新的snapshot:
http://dawes.za.net/gitweb.cgi?p=webscarab.git;a=tree
编译需求:
看了下说明文档,编译需要使用ANT。所以又下载了JDK1.6以及ANT1.8,在把JDK以及ANT得环境设置好之后准备开工。
开始编译:
把下载的WebScarab得源代码解压缩之后进入其目录,直接执行
ant
结果失败,报错说找不到ProGuard。
ProGuard是个什么东东?把WebScarab的ANT脚本打开之后发现是因为有个新的task需要ProGuard的jar包
<taskdef classpath="${proguard.location}/lib/proguard.jar" resource="proguard/ant/task.properties"/>
不管了,google一下之后在这里http://proguard.sourceforge.net/ 把目前最新的4.7下载了下来,解压缩之后发现里面有编译好的jar包。
再次编译:
仔细看了下WebScarab的编译脚本,定义proguad的task需要把proguard.jar放到${proguard.location}/lib/proguard.jar这个目录下面,proguard.location这个参数在编译脚本里面没有,需要在ANT命令里面指定。这样我就把把proguard.jar 复制到WebScarab解压目录的lib目录下面,再次执行
ant -Dproguard.location=.
OK,这次一切顺利,编译好的WebScarab在dist目录下面,直接执行
java -jar ./webscarab-selfcontained-[numbers].jar
就可以运行了。
修正的问题:
在src\org\owasp\webscarab\plugin\fuzz\Parameter.java, 第125行代码如下:
if (contentType.equals("application/x-www-form-urlencoded"))
这边是判断如果一个HTTP请求的HTTP content-type头是form请求,那么会试图解析HTTP body里面的参数,但是根据RFC2616 (http://www.ietf.org/rfc/rfc2616.txt):
Content-Type = "Content-Type" ":" media-type
media-type = type "/" subtype *( ";" parameter )
在后面还可以跟其他参数的,典型的例子是编码(如下图),按照代码里面的完全匹配的方式,这样会导致HTTP Body里面的参数无法被解释出来。
修正采用了一个很简单的办法,使用不完全匹配:
if (contentType.indexOf("application/x-www-form-urlencoded") >= 0)
虽然可能会有其他问题,但是至少我自己使用没有问题了
- 编译安装OWASP WebScarab
- 编译安装OWASP WebScarab(高级)
- 编译OWASP WebScarab (续)
- OWASP的WebScarab简介
- WebScarab安装
- WebScarab安装(菜鸟)
- webscarab安装方法
- 代理工具WebScarab安装
- WebScarab安装使用资料汇总
- OWASP Mutillidae的安装
- owasp
- OWASP
- webscarab视频
- 【运维日记3-15】modsecurity安装OWASP步骤验证
- webscarab fuzz testing
- WebScarab入门指南
- WebScarab入门指南
- WebScarab入门指南
- 很全的国外技术网站
- Zabbix 1.8.11 For CentOS5.7_x64安装
- 如何检查ASM磁盘空间使用情况
- 开始我的学习计划-目录。
- 借助SDL图库画个按钮
- 编译安装OWASP WebScarab
- 用 PowerDesigner 逆向工程导出数据库 表+字段+注释
- 設定ADB for Freescale EVM
- JavaScript中对节点的创建,添加及替换操作
- UNIX 网络编程学习(7)--readn,writen,readline的实现
- QT设置控件颜色
- VB API教程(王国荣版) 文章地址
- [译] CSS3 Transitions, Transforms 和 Animation 详解
- spring邮件