0x00前言

哪有什么前言,大家好,我是浅安。QQ:320229344。。。

0x01 JDK的安装,以及Burpsuite的成功开启。

burpsuite基于JAVA环境才能正常运行的。所以要先安装个JDK。
           最新JDK地址:JDK下载
  
           下载好的JDK,进行安装,安装之后在我的电脑-->属性-->高级系统设置-->高级-->环境变量-->找到path

将path里面的变量值添加安装路径,

我安装好的路径是:C:\Program Files (x86)\Java\jdk1.8.0_141(默认)。

点击新建,把路径复制进去。点击空白处完成添加。然后点击确认。如图:

执行运行-->CMD-->java -version  能成功执行出java的版本,说明安装成功。如图:

下载好的burpsuite破解版(网上一堆)后,双击打开burpsuite-->I Accept -->ANext-->Start Burp
  
           

成功开启burpsutie。

0x02 BurpSuite Proxy模块的介绍  

     2.1、Intercept: 拦截数据包的一个功能;

   2.2、HTTP histiory:http 历史,即是所有数据包的一个历史记录。

   2.3、WebSockets history:web接口历史。少用......

想要使用Burp Suite的话先要设置代理。 测试浏览器:火狐。

火狐浏览器-->选项-->高级-->网络--设置--手动配置代理,如图:

测试网站-->http://www.baidu.com 开启burp抓包。Host:www.baidu.com

成功抓到数据包,如图:

burp抓取https协议的数据包?可导入burp的证书。

burpsuite -->Proxy-->Options-->lmport / export CA certificate

选择certificat in der format(der格式的证书),然后点击Next   如图:

选择保存的路径,后缀为.cer,如图:

点击保存 ,next -->Close 。随后桌面生成一个1.cer的证书。 如图:

火狐浏览器导入此证书。狐浏览器-->选项-->高级-->证书--查看证书--导入。选择1.cer。

导入成功后测试https协议的网站。如图:

能抓取https协议的数据包,在渗透测试的过程中有很大的帮助。手机App亦是如此。在此不过过多演示。

0x03 BurpSuite Target模块+Spider的介绍

3.1、Target模块介绍讲解

Target这个模块下的Site map 这个网站地图 ,有时候开下代理就很多很多各种站点。

看着就很麻烦,不过可以利用Filter来过滤下,

测试网站:http:127.0.0.1  对着这个目标站点。进行Spider 扫描 如图:

然后就Filter过滤  对着Filter点击-->Fiter by requert typr -->Show only in-scope items

这个项目打上勾。如图:

我们看看效果,结果就剩下测试的目标站点了,如图:

3.1.1、Contents(内容):包括一些Host,请求方式,url,参数个数,http状态码,长度,

MIME类型,以及标题。下面就是请求数据包包跟响应数据包了。

3.1.2、Issuer(问题):就是存在漏洞的问题,下面即使漏洞的详细报告了。

然后也可以去Scope 这个选项去选测试范围。接着我们去Spider这个模块看看。

          3.2、Spider模块讲解

                   Spider模块显示还在扫描, Request mode是请求的次数。 然后Bytes Transferred 是请求的传输字节。

然后Options 这个边是一些扫描测试网站的一些配置选项,

有六大选项:

3.2.1、Crawler Settings(履带的设置):就是设置了一些爬行的选项,url请求,最大url请求等。

3.2.2、Passive Spidering(被动搜索): 通过Burp代理监视流量,以更新站点地图,发出任何新的请求。

3.2.3、Form Submission(表单提交):就是设置控制了爬行是如何提交html表单的一个项目。

3.2.4、Application login (应用程序登录):打个比方说你要爬行一个后台,这时候就需要用要登录,

要不然没法爬到里面的一些url。

3.2.5、Spider Engine(爬行引擎):一种控制引擎,用于在监视时发出http请求的引擎。

3.2.6、Request Headers (请求头):是设置一些由爬行器发出的http请求中的请求头。

这些选项一般情况不用配置什么,默认就行了。

0x04 BurpSuite Scanner模块的介绍

测试站点:https://www.ichunqiu.com

先拦截个数据包,对着数据包右击-->Do an active scan 发送到Scanner这个模块

也可以点击 Action这个按钮,跟鼠标右击一个效果。

接着弹出一个对话框问你:这个项目在当前目标范围之外,你确定你想要一个主动扫描。点击 :Yes

        4.1、 Scan queue 选项介绍讲解:

      4.1.1、Host:是测试扫描的网站

4.1.2、URL:现在的这个是 " / '意思是扫描这个网站的所有url。

4.1.3、Status:这个是扫描这个测试网站的进度。即是扫了百分之几。

4.1.4、Issues:这个是网站存在的漏洞问题。

4.1.5、Request:这个是对测试网站进行了多多少次的请求。

4.1.6、Insertion points:这个是插入点,比如一个参数,在测试注入中就会进行一些语句的插入测试。

        4.2、 Issue activity选项介绍讲解

    4.2.1、Time:是扫描时间,

4.2.2、Action:是问题的发现

4.2.3、Issue definitions:这个就是漏洞的类型以及定义了。

4.2.4、Host:是扫描的测试网站。

4.2.5、Path:存在问题的漏洞路径。

然后下面就可以看漏洞问题的类型,以及请求数据包,响应数据包等等。

        4.3、 Issue definitions 选项讲解

  4.3.1、问题的定义:这里面的列表b包括了所有可以通过burp扫描并发现的漏洞问题。

这里面的问题定义。各种注入吧........。如图:

        4.4、 Live scanning + Options 选项讲解

                  4.4.1、 Live scanning: 这个选项是 当你浏览主动扫描检查时,自动扫描以下目标,

发送各种恶意请求,以识别常见的脆弱点。

默认情况是主动扫描是Don't scan。即是关闭扫描的。

而被动扫描默认是Scan everything。即是开启扫描的。

如图:

4.4.2、Options:定义扫描规则,以及Attack细节。插入点,以及扫描区域。不过一般都是默认配置即可。

0x05 BurpSuite Intruder模块的介绍

 5.1、Intruder:这个模块是一个定制的高度可配置的工具,对web应用程序进行自动化攻击,

如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞

5.1.1、target:是指Intruder的目标/域名/端口

5.1.2、Positions:是指设置payload的指定位置的。

5.1.3、Payload:就是设置攻击选项。

5.1.4、Option:就是设置payload的一些线程等等...

这里测试水平越权。利用Burpsuite的Intruder模块枚举爆破。

一段很简单的代码,测试简单代码如下:

[PHP] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
<?php
        //订单信息
        $ordersInfo = [
 
                '10001001001'=>['u_name'=>'user','order_info'=>'A的订单','dingdao'=>'201701010101'],
                '10001001022'=>['u_name'=>'user','order_info'=>'B的订单','dingdao'=>'201701010102'],
                '10001001025'=>['u_name'=>'user','order_info'=>'C的订单','dingdao'=>'201701010103'],
                '10001001040'=>['u_name'=>'user','order_info'=>'E的订单','dingdao'=>'201701010104'],
                '10001001050'=>['u_name'=>'user','order_info'=>'F的订单','dingdao'=>'201701010105'],
        ];
        $id = $_GET['order_id'];
        //查询订单(存在越权)
        if($id){
                echo $ordersInfo[$id]['order_info'].'----订单信息:'.$ordersInfo[$id]['dingdao'];
        }

访问url:http://127.0.0.1/2/1/test.php?order_id=10001001001

拦截到的数据包。鼠标右击发送到这个Intruder模块。

这里假设想。比如这个订单id是不相连的但是又不知道哪个订单才有数据。

所以这是用Intruder来爆破非常方便。

添加个变量,这里代码就最后两个数字有变化所以才选择了两个。

设置payload,字典可以用生成器生成也可以直接在payload type里面设置 Numbers

From 00    |   To 99 |   Step 1   |   Min integer digits 2   |   maxinteger digits 2,

如果不设置最小的长度为2爆破起来是有区别的。可自己测试效果。

Payload 的数量为100 Requests 数量也为100。 如图:

设置好就可以 点击  Start attack  开始爆破破解/订单遍历,随便挑选了个存在数据的订单查看。

怎么判断存在有没有数据呢?查看Length 看Response响应数等等.....

成功爆破。

验证码爆破,后台爆破等等亦是如此。比如说爆破加密的字符串的时候怎么办呢?
                  Intruder-->Payload-->Payload Processing-->Add-->Encode 选项 可以设置编码。

常见的base64都有,按照情况而定

0x06 BurpSuite Repeater模块的介绍

这个Repeater(中继器)非常好用,是一个模拟发包的模块。

是一个靠手动操作来触发一个模拟过程

可以修改HTTP 请求,修改参数,头部信息,Hex十六进制数据等,并可以分析应用程序响应的一款强大的模块

这个模块有两个功能,一个是Request 另一个是Response

5.1、Reques:模拟发包。比如一个短信,或者邮箱,的接口没有做限制。可以一直模拟数据包发送导致的轰炸。

又或者是修改金额参数,导致0元买什么东西等等。

5.2、Response:是响应数据包,Request数据包发送过去了。然后就会在Response显示发送成功的数据包回来。

根据状态码判断。也可以做信息收集,这个模块非常方便。

这里举个栗子:

点击Go 发送数据包。 而响应数据包显示回来的是 SUCCESS 即使发送成功了。

如果一直发送这个数据包,而显示的一直SUCCES话

那么不管是短信还是邮箱的接口,都可以造成轰炸。因为没有做次数的限制。

或者说显示是 \u77ed\u4fe1\u53d1\u9001\u6210\u529f

去Unicode解密就是短信发送成功。邮箱也是一样。

模拟发包不止是轰炸的效果。Request可以修改数据包的发送。比如用来突破文件上传是非常方便。

文件上传就不做演示了,网上的教程一大堆,也很详细。

0x07 BurpSuite Decoder模块的介绍         7.1:这个Decoder模块就是个加密+解密 这么一个功能。支持常见的HTML,Url ,Base64,Hex 解密等等。如图:

7.2: 一般情况下测试个XSS语句,想要转换成URL编码。(其他也是一样,这里做URL编码加密演示)

上面那个输入框是一个简单的XSS语句,通过左边的Decode加密。得到下面的经过URL编码的XSS语句。

解密同理。点击左边的Encode选项解密。如图:

0x08 总结

其他的模块就不怎么常用,都是一些burp的设置什么的了。

burp的强大远远不止上面描述的这么简单。要学会灵活运行,方能发挥最大的能力。

在渗透过程中才能得心应手,快速定位到漏洞问题。

Burpsuite常用模块详解以及渗透测试上的运用的更多相关文章

  1. Ansible安装部署及常用模块详解

    Ansible命令使用 Ansible语法使用ansible <pattern_goes_here> -m <module_name> -a <arguments> ...

  2. ansible中常用模块详解

    ansible中常用的模块详解: file模块 ansible内置的可以查看模块用法的命令如下: [root@docker5 ~]# ansible-doc -s file - name: Sets ...

  3. python常用模块详解

    python常用模块详解 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用p ...

  4. Ansible安装部署以及常用模块详解

    一.  Ansible 介绍Ansible是一个配置管理系统configuration management system, python 语言是运维人员必须会的语言, ansible 是一个基于py ...

  5. python中常用模块详解二

    log模块的讲解 Python 使用logging模块记录日志涉及四个主要类,使用官方文档中的概括最为合适: logger提供了应用程序可以直接使用的接口API: handler将(logger创建的 ...

  6. python3 常用模块详解

    这里是python3的一些常用模块的用法详解,大家可以在这里找到它们. Python3 循环语句 python中模块sys与os的一些常用方法 Python3字符串 详解 Python3之时间模块详述 ...

  7. Ansible 常用模块详解

    经过前面的介绍,我们已经熟悉了 Ansible 的一些常识性的东西和如何编译安装Ansible,从本章开始我们将全面介绍 Ansible 的各种生产常用模块,这些也是我们使用 Ansible 的过程中 ...

  8. 2、ansilbe常用模块详解及inventory介绍

    Ansible ansible格式: ansible <host-pattern> [-f forks] [-m module_name] [-a args] args: 用法 key=v ...

  9. ansible常用模块详解(三)

    1.模块介绍 明确一点:模块的执行就类似是linux命令的一条命令,就单单的是为了执行一条语句,不是批量的操作,批量操作需要用到playbook内类似shell编写脚本进行批量. 1.1 模块的使用方 ...

随机推荐

  1. Linux的Namespace与Cgroups介绍

    Namespace 的概念 Linux Namespace 是kernel 的一个功能,它可以隔离一系列系统的资源,比如PID(Process ID),User ID, Network等等.一般看到这 ...

  2. Jquery中父,子页面之间元素获取及方法调用

    一.jquery 父.子页面之间页面元素的获取,方法的调用: 1. 父页面获取子页面元素: 格式:$("#iframe的ID").contents().find("#if ...

  3. 坑之mysql 字符串与数字操作

    select "123"+1 = 124; select "1a23"+1 = 2; select "aa23"+1 = 1; select ...

  4. hdoj4734(数位dp优化)

    题目链接:https://vjudge.net/problem/HDU-4734 题意:定义一个十进制数AnAn-1...A1的value为An*2n-1+...+A1*20,T组样例(<=1e ...

  5. ExecuteNonQuery()

    ExecuteNonQuery():执行一个SQL语句,返回受影响的行数,这个方法主要用于执行对数据库执行增加.更新.删除操作,注意查询的时候不是调用这个方法.用于完成insert,delete,up ...

  6. [leetcode]75. Sort Colors三色排序

    Given an array with n objects colored red, white or blue, sort them in-place so that objects of the ...

  7. 解决:AttributeError: module 'requests' has no attribute 'post'”

    今天学习Requests库,当用pip install requests安装后,写了一段代码报错:AttributeError: module ‘requests‘ has no attribute ...

  8. CentOS 7 查询yum安装的软件及路径

    来源:CentOS 7 查询yum安装的软件及路径 先执行下面的命令,查看所有的已安装软件名称. rpm -qa 然后执行 rpm -ql 软件名称 就可以显示软件的安装路径.   [root@loc ...

  9. HTML中关于class内容空格多类名的问题详解

    之所以想谈谈这个,不明所以.所以转载下来方便自己看看. 问:像 class="info fl" 这种class定义是何意思? 答:这里的空格隔开后,它们所代表的是两个类名,分别为i ...

  10. jquery.validate.js的简单示例

    一.官方资料 官网 github 二.html <!DOCTYPE html> <html> <head> <meta charset="utf-8 ...