文章的格式也许不是很好看,也没有什么合理的顺序

完全是想到什么写一些什么,但各个方面都涵盖到了

能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道

扫描:

上一篇介绍到了爬网,那么到这里我以及爬取了一个网站

接下来要做地事情就是,扫描这个站点:

为了扫描最大化,我在设置中勾选所有的扫描选项:

下面还有扫描的一些其他选项,比如扫描线程,速度等等,值得注意的是这里:

第一个选项是扫描速度,不用多说,速度越慢扫描越细致

下面这个要注意了

minimize false negatives:只要有看起来是漏洞的就报告

minimize false positives:只有很肯定这是漏洞才会报告

漏洞扫描也分为也分为主动扫描和被动扫描:

被动扫描,只要我们访问网站就会进行

主动扫描,在站点右键Active Scan即可

扫描出问题之后,就可以在主页查看详细,比如:

下面介绍Burp的一个强大的功能:

Intruder:

Intruder可以理解为暴力破解

演示:

我使用带有一个发送了POST请求的页面右键发送到Intruder模块:

然后在Intruder模块的Positions中设置好我要FUZZ的模块:

比如我这里要FUZZ(暴破)用户名和密码

这里要重点注意的是上方的Attack type:攻击类型,总共有四种,下面我对这四种做演示:

Sniper方式:

新建一个用户字典:user 用来破解用户名

aaa
bbb
ccc
ddd
eee
admin
fff
ggg

再新建一个密码字典:pass 用来破解密码:

aaaa
bbbb
cccc
password
dddd
eeee
ffff
gggg

在Payloads选项中导入字典:注意我这里把两个字典合在一起加载了,而且PayloadSet选择是1

这时候点击最上方工具栏的Intruder的Start开始:

通过观察可以发现:

这种方式是固定第二个位置的值(默认值),然后对第一个位置利用字典暴破,字典循环完之后固定第一个位置(默认值),暴破第二个位置

由于我这里的默认值是admin和password,取巧可以暴破成功

Battering ram

通过和上边一样的导入测试之后,发现这种爆破方式是:

第一个位置和第二个位置的值一样,都是字典里面的条目

显然,我这里想爆破用户名密码不能用这种方式

Pitchfork

这种方式就不能只指定一个字典文件了:

我在Payload set 1里面指定user文件,在Payload set 2里面指定pass文件

然后开始爆破:

观察结果后发现:

取第一个字典的第n项和第二个字典的第n项组合进行爆破

显然这种方式不适合用户名密码爆破

Cluster Bomb

这种方式是最完善的,用User里面的每一项和Pass里面的每一项都进行组合,来爆破

所以在这里爆破用户名密码适合使用这一种

那么,如果爆破结果出来了,我们如何查看呢?

正常的Web应用,我们根据状态码和响应体长度可以一目了然

然而这个DVWA做得很巧妙,正确情况重定向到login.php,错误情况重定向到index.php,字符个数都是一样

这时候可以用搜索过滤来查看:前提是我经过一系列的分析得知正确的结果是返回index.php

除了这种方式,还可以在配置中设置匹配:

注意添加完index,要不下面这个勾去掉,否则会排除头信息

上边的字典类型也需要说一下:

这里说几个常用的字典类型

简单的字典直接加载即可

大字典最好使用runtime file类型

Case modification方式:替换大小写等操作

Charater Block字符块方式:通过一些参数自定义一长串字符

Dates:自定义参数插入日期

Brute Force:通过一些参数使用所有的尽可能的组合进行爆破

之前是我自己找的字典,Burp里面也有自带的字典:

字典都不是很大,但实用性方面还可以

在已经选好字典之后,还可以有各种各样的复杂操作:前缀后缀编码解码哈希等等

还有一个重要功能就是Repeater:

Repeater

手动请求重复提交,任何一个模块地请求页面都可以右键send to repeater

至于手动提交请求有什么用,有大用

关于发送请求的选项可以点击右键来查看

Sequencer:

Cookie地sessionID是一定随机的吗?不是,它是服务器端采用伪随机算法生成的

因此,我们理论上可以判断出下一个sessionID,由此来做更多的操作

而Sequencer就有这样的功能:

在带有Cookie响应包的页面右键Send To Sequencer:

Burp会自动识别Cookie,如果失败可以点下面的Configure来手动识别

然后点击Start live capture就可以进行很多次的发送,感觉数量差不多就可以停止

然后使用Burp进行分析,Burp自带很多的分析方法

分析之后,显示DVWA对Cookie的加密是excellent级别的,说明我们不可以在Cookie方面来找DVWA的漏洞

最后一个功能就是编码功能:

Burp做的比OWASP_ZAP好一些

有时候我们想做一些注入,但目标服务器会过滤掉一些危险字符,这时候就需要我们对危险字符做一些编码

Kali学习笔记28:Burpsuite(下)的更多相关文章

  1. 学习笔记(1)centos7 下安装nginx

    学习笔记(1)centos7 下安装nginx 这里我是通过来自nginx.org的nginx软件包进行安装的. 1.首先为centos设置添加nginx的yum存储库 1.通过vi命令创建一个rep ...

  2. Web安全学习笔记 SQL注入下

    Web安全学习笔记 SQL注入下 繁枝插云欣 --ICML8 SQL注入小技巧 CheatSheet 预编译 参考文章 一点心得 一.SQL注入小技巧 1. 宽字节注入 一般程序员用gbk编码做开发的 ...

  3. 一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx、supervisor、mysql环境搭建

    作为.neter,看到.net core 2.0的正式发布,心里是有点小激动的,迫不及待的体验了一把,发现速度确实是快了很多,其中也遇到一些小问题,所以整理了一些学习笔记: 阅读目录 环境说明 安装C ...

  4. [原创]java WEB学习笔记28: 会话与状态管理Cookie 机制

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. CSS学习笔记四:下拉选择框以及其动画特效

    以前学的只是了解了css的一些基本属性,在做项目的时候都是直接使用bootstrap响应式来写项目,这样子很方便,很快捷,但是在自己看来还是有一点缺陷的,毕竟,我很多时候不怎么清楚它里面的具体运作.所 ...

  6. Kali学习笔记27:Burpsuite(上)

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 如果我只能选择一款工具进行Web渗透,那么一定就是Bu ...

  7. Kali学习笔记10:端口扫描详解(下)

    上一篇先是介绍了UDP的端口扫描,又谈了TCP的不完全连接端口扫描 https://www.cnblogs.com/xuyiqing/p/9389276.html 接下来我们看看TCP的全连接端口扫描 ...

  8. Kali学习笔记30:身份认证与命令执行漏洞

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器:192.168.163.13 ...

  9. 《JavaScript权威指南》学习笔记 第二天 下好一盘大棋

    前段学习js的时候总是零零散散的,以至于很多东西都模棱两可.时间稍微一久,就容易忘记.最主要的原因是这些东西,原来学的时候就不是太懂,以至于和其他知识无法形成记忆链,所以孤零零的知识特别容易忘记.重温 ...

随机推荐

  1. angular使用sass的scss语法

    一.现象 为了简写样式 二.解决 1.安装sass ,利用npm 安装(npm工具如果没有,请先自行安装好) (1).npm install node-sass --save-dev (2).npm ...

  2. boost Asio网络编程简介

    :first-child { margin-top: 0px; } .markdown-preview:not([data-use-github-style]) h1, .markdown-previ ...

  3. 新手必备的Linux知识

    测试人员为什么学习linux? 对于软件测试人员来说,我们测试的任何产品都是基于操作系统.比如我们每天都在使用的QQ软件,它有windows.ios.Android.Mac OS等版本,需要把QQ安装 ...

  4. 团队Scrum冲刺阶段-Day 6

    选择困难症的福音--团队Scrum冲刺阶段-Day 6 今日进展 编写提问部分 游戏分类的界面全部写完了!!!! 临时大家决定没有BGM的app不是一个完整的app,所以在大家共同学习的努力下,听完四 ...

  5. 使用SQL创建唯一索引

    使用sql语句创建唯一索引,格式如下: create unique index 索引名 on 表名(列名1,列名2……) 示例:在表GoodsMade_Labour的SID列上创建唯一索引IX_Goo ...

  6. java的基本数据类型和引用类型

    一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768 ...

  7. short s=1;s=s+1;short s=1;s+=1;有什么区别?

    short s = 1; s = s + 1; 这个编译一定是不通过的,会提示损失精度. short s = 1; s += 1: 这个编译反而可以通过. 隐式类型转换可以由小到大自动转,即byte ...

  8. 【Java】基本数据类型

    基本知识点给个链接: https://blog.csdn.net/qwe969153746/article/details/53353534 问题: 1.3*0.1 == 0.3 返回什么: fals ...

  9. 虹软人脸检测和识别C# - API

    using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D ...

  10. 高速上手C++11 14 笔记2

    lambda表达式和std function bind 两者配合构成了函数新的使用方法. 智能指针 sharedptr, uniqueptr, weak_ptr auto pointer = std: ...