kali linux之BurpSuite

web安全工具中的瑞士军刀,统一的集成工具发现web安全漏洞

所有的工具共享一个能处理并显示http消息的可扩展框架,

模块之间无缝交换信息

free版和professional版,java开发,kali自带的openjdk,建议使用oraclejdk

 

 

 

Proxy模块:

Intercept截断---on状态会截断所有内容,只有选择forward才会发出去

http history--历史记录

Websockets history--通过代理截断类似与api的传输信息

Options--代理功能的配置,默认监听本机8080端口

 

 

 

request handing选项

Redirect to host--指定一个ip地址,burp的请求就转发到这个主机,不转发到真实主机

Redirect to port指定一个端口burp的请求就转发到这个主机的端口

勾选了ssl后,使用ssl通信

support invisible proxying(enable only if needed)--客户端程序不支持代理,但是还走http协议的客户端程序实现代理功能(qq,微信)

 

 

关于生成证书

burp设置好代理访问http://burp/,点击ca 保存文件,到浏览器设置导入证书即可

 

 

显示服务器隐藏的表单(最好勾选上这几个选项)

 

 

 

Target --目标/历史记录

灰色的是有这个链接的,黑色的是有访问过这个链接的,是真实访问过的

 

 

手动爬网(暂时把截断off)手动一个个去测试

 

 

自动爬网(在target,右键发送到spider)如果有页面需要输入帐号密码会提示,输入完成后,提交表单

 

爬网进度

 

 

 

Extender--扩展模块(有的模块需要安装组建)

 

比如安装co2

 

 

proxy模块中,把需要登录的页面sendintruder,可以实现暴力破解(有四种不同的破解方法)

Sniper使用一个payload set  去枚举第一个$ Position 1$值,再接着枚举$Position2$。或者说使用一个payload 载荷逐个进行攻击多个位置

Battering ram多个$Position$值同时以一个Payload set 值进行,如:$Position1$$Position2$$Position3$都是以a,b,c同时进行枚举,并且只能加载一份字典。或者说使用一个payload 载荷同时进行攻击多个位置

Pitchfork以一对一方式枚举,多个$Position$值分别加载不同的字典文件同时进行枚举,如字典1(a,b,c)、字典2(1,2,3)。或者说,使用多个 payload set 一一对应 多个$Position$

Cluster bomb分别以一对多的关系,如:字典1(a,b,c)、字典2(1,2,3)。或者说是使用 一对多的映射关系。产生的请求数目为payload 1 X payload2 的请求数目

 

把需要破解的选项用$xx$add起来

 

然后进入Paloadtpaload type几个常用的攻击载荷类型

Simple list--简单字典可从Payload Option>Add from list中加载或直接Add添加,也可以直接load

Runtime file  选择自己的字典文件

Custom iterator自定义迭代器。这种负载类型,可以配置项目的多个列表,并使用生成的列表中项的所有排列有效载荷。它提供了一个强有力的方法根据给定的模板,以产生字符或其他项目的定制排列

Character substitution字符替换。此负载类型允许您配置一个字符串列表,并应用各种字符替换到每个项目。这可能是在密码猜测攻击非常有用,用来产生在字典中的单词常见的变化。 

Case modification配置一个字符串列表,并应用各种情况下修改每个项目。这可能对密码猜测攻击非常有用,用来产生在字典中的单词的情况下的变化

Recursivegrep递归grep,要用这个必须在Intruder>options>Grep-extract下添加一个响应匹配,比如说我一个请求页需要前一个响应页中的内容,这里就可以这样使用了

Numbers此有效载荷类型的给定的范围内,并在指定的格式产生数字有效载荷

Dates:使用时间

Null payloads这种攻击载荷产生有效载荷,值是一个空字符串。当某种攻击请求需要反复发送同样的请求,但这种请求相对于基本请求是没有任何修改,这种攻击载荷产生有效载荷,这可用于各种攻击,例如采集 cookies来进行测序分析;应用层的拒绝服务攻击,这些请求被重复发送,导致服务器上产生高工作负荷的任务,或保活会话令牌,以便这些令牌在其它的间歇试验中使用。使用此载荷类型,它甚至没有必要在请求模板中标志有效载荷位置。Burp产生一定特定数目的空有效载荷,或无限期地持续下去。

 

我这里使用Simple list,把字典文件load进来

 

 

Start后,会弹出一个新窗口

 

 

 

Repeater模块

手动修改并补发个别 HTTP 请求,并分析他们的响应的工具。它最大的用途就是和其他 Burp Suite 工具结合起来。你可以从目标站点地图,从 Burp Proxy 浏览记录,或者从 Burp Intruder 攻击结果上的请求,发送到 Repeater 上,并手动调整这个请求来微调对漏洞的探测或攻击。

可以从Proxy historysite mapScanner等模块中右键菜单send to repeater发送到repeater,对页面数据进行修改发送。

点击go,发送请求,右边响应请求。可以通过“<“和”>“来返回上一次和下一个操作。单击”x“可以删除当前测试请求页面。底部的功能用于搜索条件,可以用正则表达式,底部右边显示匹配结果数。

raw — 这显示纯文本格式的消息。在文本面板的底部有一个搜索和加亮的功能,可以用来快速地定位出消息里的感兴趣的字符串,如出错消息。搜索栏左边的弹出项让你能控制状况的灵敏度,以及是否使用简单文本或者十六进制搜索。

params — 对于包含参数(URL 查询字符串,cookie 头,或者消息体)的请求,这个选项把这些参数分析为名字/值的格式,这就可以简单地随他们进行查看和修改了。

headers — 这里是以名字/值的格式来显示 HTTP 的消息头,并且也以原始格式显示了消息体。

hex — 这里允许你直接编辑由原始二进制数据组成的消息。如果在文本编辑器修改,某种类型的传输(如,MIME 编码的浏览器请求)包含了可能损坏的二进制内容。为了修改这类消息,应该使用十六进制编辑器。

 

可以选中想更改的内容,发送到decoder模块,进行编码

 

 

Sequencer模块(三个小模块)

是一种用于分析数据项的一个样本中的随机性质量的工具。你可以用它来测试应用程序的session tokens(会话tokens)或其他重要数据项的本意是不可预测的,比如反弹CSRF tokens,密码重置tokens等

Live capture 信息截取
Manual load 手动加载
Analysis options 选项分析

 

 

 

Decode模块--编码模块

通过有请求的任意模块的右键菜单send to Decoder或输入数据选择相应的数据格式即可进行解码编码操作,或直接点击Smart decoding进行智能解码。重要的是,对于同一个数据,我们可以在Decoder的界面,进行多次编码解码的转换。

 

 

 

 Cornparer--对比模块,比如发送两次请求给服务器,对比服务器响应有什么不同

 

友情链接 http://www.cnblogs.com/klionsec

               http://www.cnblogs.com/l0cm

               http://www.cnblogs.com/Anonyaptxxx

               http://www.feiyusafe.cn

posted @ 2019-02-27 17:29  Hydraxx  阅读(5998)  评论(0编辑  收藏  举报