burpsuite相关

上了几节课,想着“多少也该写点笔记吧”这样……


Proxy选项卡

截获并修改从客户端到web应用程序的数据包

Intercept

Forward:发送
Drop:丢弃
Intercept is on/off:监听开启/关闭

单击右键,可以选择送到spider/intruder/repeater等以实现不同需要;convert selection里有一些常见的编码/解码,免去了送decoder的麻烦。
虽然没什么关系但是也可以用它绕过JS本地验证

使用burpsuite提交,本地文件先更改为jpg,上传时拦截,
再把文件扩展名更改为php,最后forward即可

讲道理还不如火狐F12开firebug直接改代码

options

设定监听ip和端口,网页设置需要和burpsuite中的设置一致。


Intruder选项卡

利用漏洞、Web应用程序模糊测试、进行暴力猜解等

在那之前,先来解释一下认证的四个步骤。

请求:
客户端发起一条请求;第一条请求没有认证消息;
质询:
服务器对客户端进行质询;返回一条401 Unauthorized响应,
并在Authenticate首部说明如何以及在哪里进行认证;
授权:
客户端收到401质询,弹出对话框,询问用户名和密码,
用户输入用户名和密码后,客户端会用一个冒号将其连接起来,
编码成“经过扰码的”Base-64表示形式,将其放在Authorization首部中回送;
成功:
服务器对用户名和密码进行解码,验证它们的正确性,
然后用一条HTTP 200 OK报文返回所请求的报文.

target

设定目标ip和端口,不过如果是从proxy送来会自动设定好,不用管的

positions

先全都clear掉,然后再选中目标变量点add。
其中,attack type的说明如下。

Sniper:
适用于单变量,提交时是逐个提交(每次一个)。
Battering Ram:
适用于同变量,提交时是批量提交(每次一批),
如在头部带cookie和网页主体中同用一个username的HTTP请求。
Pitchfork:
适用于多变量,成对提交(每次一组),类似于同时提交A:B:C…,
最多8个变量,提交的总次数是Max(A,B,C…)的数量。
Cluster Bomb:
适用于多变量,交叉提交(循环交叉),类似于A:B:C…,A:C:B…,B:A:C…,
最多8个变量,提交的总次数为A*B*C。

payloads

Simple list:简单字典
Runtime file:运行文件
Custom iterator:自定义迭代器
Character substitution:字符替换
Recursive grep:递归查找
lllegal unicode:非法字符
Character blocks:字符块
Numbers:数字组合
Dates:日期组合
Brute forcer:暴力破解
Null payloads:空payload
Username generator:用户名生成
copy other payload:复制其他payload

例如,www-authenticate传递给服务器的是用户名:口令的base64加密,那么可以在payload sets中选择Custom iterator,并在payload options中设置positions1为用户名字典,positions2为:,positions3为口令字典,payload processing设置为encode->base64 encode,并去掉payload encoding的勾选,最后点击intruder->start attack。
(关于这一认证方式的详细说明,请参见https://blog.csdn.net/undoner/article/details/48050627)

results

虽然还是没什么关系但万一有用呢
如何分辨正确的用户名·密码组合?
①length ②status ③跳转
长度可以排序,但是如果返回的长度都相同,就只能靠页面跳转来分辨了,因此,我们需要用到filter(过滤器)。
filter的详细说明请参考https://segmentfault.com/a/1190000011523898

regex:通过正则表达式匹配
case sensitive:是否区分大小写
negative search:消极搜索,选择后将筛选出不包含该关键字的请求

例如登录界面是login.php,那么只需在过滤器中输入: login.php并勾选negative search,即可找到登录成功的请求,进而解码得到用户名和密码。

你可能感兴趣的:(burpsuite相关)