burp?suite?使用
一般其是作为一个辅助工具,直接使用来解题的部分是少数,我们可以使用它来观察请?求和响应,并且可以反复的提交,关键的是他还带有很多其他的功能,在我们做题的过程中,?使用的关键点包括:
1.??页面和源码无特殊信息时,可以使用抓包观察
----有无特殊字段, 泄露服务器或?flag?等信息
----对提交的?url?和数据进行观察
2. ?使用?reapter?功能,重复的测试提交的数据,观察响应等
3.?intruder?爆破功能, 用来进行一些密码,?验证码的爆破
4. ?使用?request?的编辑功能,编辑头信息以达到题目要求
?
WEB?基础知识
?
?
具体的看图文介绍
下面就是它的设置界面,?默认的代理是?127.0.0.1??端口?8080
?
我们在火狐浏览器中添加插件?foxyproxy
这样我们就可以方便的打开浏览器的代理,当然需要提前新建一下
那么如何开始抓包呢,第一部打开浏览器代理,然后在打开?Bp?的中断就可以了
这样我们的发送和接受的数据就都会被拦截
Forward?是发送的意思,Drop?丢弃请求,Action?则是采取其他一些动作,比较实用之一的就?是?send to?repeater|intruder
允许我们不断修改和重复的一个请求,测试中非常有用。
?
我们可以实用?16?进制和字符的方式观察请求和响应头,支持随时修改,?重复发送, 并?且返回信息不会进入到浏览器。按钮?go?就是发送信息。
?
?
(1)查看和修改?http 请求头
?
burp?suite?配合火狐浏览器使用, 将两者全部设为代理并打开断点, 即可观察和修改数?据
一般用于获取请求和响应中的特殊数据,?或用于上传绕过等
使用方法:
(1)运行?Burp site,点击?Proxy?标签,确认?Options?选项卡下,Proxy?listeners?的?running?运行正常(勾选状态为运行),如果端口打开失败,可能的原因是有程序
占用了该端口, 点击 edit,在?local ?listener?port:输入框输入一个未占用的端口,点击?update?即可。
(2)然后设置浏览器代理地址为?127.0.0.1,端口为所选端口,?设置浏览器开始代理 并?打开?burp suite?的?proxy-intercept?的?on?状态
(3)进入上传页面,?选择我们的?asp?木马,点击上传就可以看到 burp?suite ?已经拦截?在?proxy-intercept-Raw?就是原始数据 也可以?Hex?观察?16 进制数据
(4)鼠标对着?Raw?的内容右击,最后单击?Send To?Repeater(包重放),修改之后点击?go 进行发送。
?
常见的有:
Referer?来源伪造
X-Forwarded-For:ip 伪造
User-Agent:用户代理(就是用什么浏览器什么的)
Accept-Language:语言?国家要求
Cookie?的修改
?
?
(2)intruder?载荷攻击
?
在我们需要大量构造载荷重复请求时 可以使用该插件,该插件可以定制数据类型, 变?化范围,以便进行大量的爆破工作, 当然我们也可以使用编写脚本
?
Burp?Intruder?主要有四个选项卡组成:
?
1:Target ?用于配置目标服务器进行攻击的详细信息。
2:Positions??设置?Payloads?的插入点以及攻击类型(攻击模式)。
3:Payloads ?设置?payload,配置字典
4:Opetions??此选项卡包含了?request headers,request engine,attack results ?,grep match,?grep_extrack?,grep?payloads?和?redirections。
?
Positions?的四种攻击模式
?
Sniper:这个模式会使用单一的?payload【就是导入字典的?payload】组。它会针对?每个 position ?中$$位置设置 payload。这种攻击类型适合对常见漏洞中的请求参数单独地进?行测试。攻击中的请求总数应该是?position?数量和?payload?数量的乘积。
【一组?payload?独立测试每个位置, 互相没关系】
?
Battering ram ??– 这一模式是使用单一的?payload?组。它会重复?payload?并且一次把?所有相同的?payload?放入指定的位置中。这种攻击适合那种需要在请求中把相同的输入放到?多个位置的情况。请求的总数是?payload?组中?payload?的总数。简单说就是一个?playload?字?典同时应用到多个?position?中。
【一组?payload?同步测试所有位置(每个位置都填相同的)】
?
Pitchfork???– 这一模式是使用多个?payload??组。对于定义的位置可以使用不同的 payload?组。攻击会同步迭代所有的?payload?组,?把?payload?放入每个定义的位置中。
【多位置,?每个位置的?payload?是一对一的,即两组?payload?的序号是同步增加】
?
Cluster?bomb ??– 这种模式会使用多个 payload ?组。每个定义的位置中有不同的?payload?组。攻击会迭代每个?payload?组,每种?payload?组合都会被测试一遍。
【多位置,?对于两个位置的?payload,迭代所有的可能组合】
?
其中$$之间所夹的信息就是在测试中不断被替换的信息,我们可以编辑需要测试的?位置, 右侧有四个按钮, 也可以手动敲上去或者删除。
?
payload?设置方法
?
关于载荷的设置分为多种不同类型的数据,而后可以选择的范围也会随之变化,初?始设置为?Payload set??和?Payload type
对于常用的数字型,?我们可以选择起始 From ?和终止 To ?数字, 步长 Step??等,而后?number format?的?Base?会选择进制和?interger digits?整数位数和?fraction digits?小数位数等
点击右上角的?start attack?之后,?程序就开始运行了,?中间我们可以观察每次相应的?部分信息,点击可以查看详细的信息。一般我们通过观察长度判断是否达到了目的,因为此?时的长度与其他的不同。(下图只是示意, 并不是实战中的)
?
2018.10.24?添加
还有一个常用的破解弱口令之类的字典方法
我们可以通过?ADD?增加自己编辑的字符串,可以通过?paste?粘贴复制的字符串,可?以通过?load?来读取字典,这时候就需要网上的强大的字典了?dic.txt.
?
option?选项卡包含线程设置,可用于条件竞争
?
numbers of thread?设置线程数目,一般条件竞争时候我们是用不上?payload?的,此
时一般设置为
选择?null?payloads?方式,?此时由于无法依靠?payload?数目来定义请求数,需要手动?输入?generate?来生成指定的数目的请求
?
(3)decoder encode
?
加密解密用,各种各样。
?
下面随意举两个例题,大多数的?Bp?的使用都是很多题中的一个小小的步骤,?在这?里就不详细的讲解了,在看其他题目的时候也会涉及不少的?Bp?的使用
?
?
例题(例题来源于其他博主)
?
猫抓老鼠
?
网页有一个输入框,?直接让你输入?key,源码没什么情况, 抓包可以看到许多提交的数?据
比较引人瞩目的就是提交的?passkey=1,响应中有?Content-Row:?MTUxMjU4MzgwNA==,?替换?passkey?的值,request?后得到?flag。
?
头有点大
?
要求我们使用?framework 9.9?才可以访问,使用?bp 修改头部信息,
得到?flag(.NET CLR 9.9)
?
?
localhost??允许
?
X-Forwarded-For:?127.0.0.1
?
?